# dpkg manpages po translation to Spanish
# Copyright (C) 2010 Software in the Public Interest
# This file is distributed under the same license as the dpkg package.
#
# Changes:
#   - Initial translation
#       Rudy Godoy <rudy@kernel-panik.org>,
# 	Rubén Porras <nahoo@inicia.es>,
# 	Bruno Barrera C. <bruno.barrera@igloo.cl>,
# 	Carlos Izquierdo <gheesh@ertis.net>,
# 	Esteban Manchado y NOK.
# 	Santiago Vila <sanvila@unex.es>
# 	Javier Fernández-Sanguiño
# 	Ruben Porras
#
#   - Updates 2010
# 	Omar Campagne <ocampagne@gmail.com>
#       Luis Uribe <acme@eviled.org>
#
# Traductores, si no conocen el formato PO, merece la pena leer la
# documentación de gettext, especialmente las secciones dedicadas a este
# formato, por ejemplo ejecutando:
#       info -n '(gettext)PO Files'
#       info -n '(gettext)Header Entry'
#
# Equipo de traducción al español, por favor lean antes de traducir
# los siguientes documentos:
#
#   - El proyecto de traducción de Debian al español
#     http://www.debian.org/intl/spanish/
#     especialmente las notas y normas de traducción en
#     http://www.debian.org/intl/spanish/notas
#
#   - La guía de traducción de po's de debconf:
#     /usr/share/doc/po-debconf/README-trans
#     o http://www.debian.org/intl/l10n/po-debconf/README-trans
#
msgid ""
msgstr ""
"Project-Id-Version: dpkg 1.18.8.5\n"
"POT-Creation-Date: 2011-10-14 07:11+0300\n"
"PO-Revision-Date: 2010-12-15 20:18+0100\n"
"Last-Translator: Omar Campagne <ocampagne@gmail.com>\n"
"Language-Team: Debian l10n Spanish <debian-l10n-spanish@lists.debian.org>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Virtaal 0.6.1\n"

#. type: TH
#: deb.5:1
#, no-wrap
msgid "deb"
msgstr "deb"

#. type: TH
#: deb.5:1 deb-control.5:3 deb-src-control.5:3 deb-version.5:5 deb-old.5:1
#: deb-override.5:15 deb-symbols.5:2 deb-triggers.5:1 dpkg.1:1
#: dpkg-architecture.1:1 dpkg-buildpackage.1:1 dpkg-deb.1:1 dpkg-divert.8:1
#: dpkg-genchanges.1:1 dpkg-gencontrol.1:1 dpkg-gensymbols.1:2
#: dpkg-maintscript-helper.1:1 dpkg-mergechangelogs.1:1 dpkg-name.1:6
#: dpkg-parsechangelog.1:1 dpkg-query.1:1 dpkg-scanpackages.1:15
#: dpkg-scansources.1:1 dpkg-shlibdeps.1:1 dpkg-source.1:2 dpkg-trigger.1:1
#: dselect.1:1 update-alternatives.8:8
#, fuzzy, no-wrap
#| msgid "2010-03-07"
msgid "2011-08-14"
msgstr "7 de Marzo de 2010"

#. type: TH
#: deb.5:1 deb-control.5:3 deb-src-control.5:3 deb-split.5:1 deb-version.5:5
#: deb-old.5:1 deb-override.5:15 deb-extra-override.5:1 deb-shlibs.5:16
#: deb-substvars.5:2 deb-symbols.5:2 deb-triggers.5:1 dpkg.1:1
#: dpkg-architecture.1:1 dpkg.cfg.5:1 dpkg-buildflags.1:1
#: dpkg-buildpackage.1:1 dpkg-checkbuilddeps.1:1 dpkg-distaddfile.1:1
#: dpkg-deb.1:1 dpkg-divert.8:1 dpkg-genchanges.1:1 dpkg-gencontrol.1:1
#: dpkg-gensymbols.1:2 dpkg-maintscript-helper.1:1 dpkg-mergechangelogs.1:1
#: dpkg-name.1:6 dpkg-parsechangelog.1:1 dpkg-query.1:1 dpkg-scanpackages.1:15
#: dpkg-scansources.1:1 dpkg-shlibdeps.1:1 dpkg-source.1:2 dpkg-split.1:2
#: dpkg-trigger.1:1 dpkg-vendor.1:1 dselect.1:1 dselect.cfg.5:1
#: start-stop-daemon.8:1 update-alternatives.8:8
#, no-wrap
msgid "Debian Project"
msgstr "Proyecto Debian"

#. type: TH
#: deb.5:1 deb-control.5:3 deb-src-control.5:3 deb-split.5:1 deb-version.5:5
#: deb-old.5:1 dselect.1:1
#, no-wrap
msgid "Debian"
msgstr "Debian"

#. type: SH
#: deb.5:2 deb-control.5:4 deb-src-control.5:4 deb-split.5:2 deb-version.5:6
#: deb-old.5:2 deb-override.5:16 deb-extra-override.5:2 deb-shlibs.5:17
#: deb-substvars.5:3 deb-symbols.5:3 deb-triggers.5:2 dpkg.1:2
#: dpkg-architecture.1:2 dpkg.cfg.5:2 dpkg-buildflags.1:2
#: dpkg-buildpackage.1:2 dpkg-checkbuilddeps.1:2 dpkg-distaddfile.1:2
#: dpkg-deb.1:2 dpkg-divert.8:2 dpkg-genchanges.1:2 dpkg-gencontrol.1:2
#: dpkg-gensymbols.1:3 dpkg-maintscript-helper.1:2 dpkg-mergechangelogs.1:2
#: dpkg-name.1:7 dpkg-parsechangelog.1:2 dpkg-query.1:2 dpkg-scanpackages.1:16
#: dpkg-scansources.1:2 dpkg-shlibdeps.1:2 dpkg-source.1:3 dpkg-split.1:3
#: dpkg-statoverride.8:2 dpkg-trigger.1:2 dpkg-vendor.1:2 dselect.1:2
#: dselect.cfg.5:2 start-stop-daemon.8:2 update-alternatives.8:9
#, no-wrap
msgid "NAME"
msgstr "NOMBRE"

#. type: Plain text
#: deb.5:4
msgid "deb - Debian binary package format"
msgstr "deb - Formato de paquete binario de Debian"

#. type: SH
#: deb.5:4 deb-control.5:7 deb-src-control.5:7 deb-split.5:4 deb-version.5:9
#: deb-old.5:5 deb-override.5:19 deb-extra-override.5:5 deb-substvars.5:6
#: deb-symbols.5:6 deb-triggers.5:5 dpkg.1:5 dpkg-architecture.1:5
#: dpkg-buildflags.1:5 dpkg-buildpackage.1:5 dpkg-checkbuilddeps.1:5
#: dpkg-distaddfile.1:5 dpkg-deb.1:5 dpkg-divert.8:5 dpkg-genchanges.1:5
#: dpkg-gencontrol.1:5 dpkg-gensymbols.1:6 dpkg-maintscript-helper.1:5
#: dpkg-mergechangelogs.1:5 dpkg-name.1:10 dpkg-parsechangelog.1:5
#: dpkg-query.1:5 dpkg-scanpackages.1:19 dpkg-scansources.1:5
#: dpkg-shlibdeps.1:5 dpkg-source.1:6 dpkg-split.1:6 dpkg-statoverride.8:5
#: dpkg-trigger.1:5 dpkg-vendor.1:5 dselect.1:5 start-stop-daemon.8:5
#: update-alternatives.8:12
#, no-wrap
msgid "SYNOPSIS"
msgstr "SINOPSIS"

#. type: Plain text
#: deb.5:6 deb-split.5:6 deb-old.5:7
msgid "I<filename>B<.deb>"
msgstr "I<nombre-fichero>B<.deb>"

#. type: SH
#: deb.5:6 deb-control.5:10 deb-src-control.5:10 deb-split.5:6
#: deb-version.5:11 deb-old.5:8 deb-override.5:22 deb-extra-override.5:8
#: deb-shlibs.5:20 deb-substvars.5:9 deb-symbols.5:9 deb-triggers.5:8
#: dpkg.1:19 dpkg-architecture.1:10 dpkg.cfg.5:5 dpkg-buildflags.1:9
#: dpkg-buildpackage.1:9 dpkg-checkbuilddeps.1:10 dpkg-distaddfile.1:9
#: dpkg-deb.1:9 dpkg-divert.8:10 dpkg-genchanges.1:10 dpkg-gencontrol.1:9
#: dpkg-gensymbols.1:10 dpkg-maintscript-helper.1:15 dpkg-mergechangelogs.1:9
#: dpkg-name.1:16 dpkg-parsechangelog.1:9 dpkg-query.1:9
#: dpkg-scanpackages.1:27 dpkg-scansources.1:13 dpkg-shlibdeps.1:9
#: dpkg-source.1:10 dpkg-split.1:10 dpkg-statoverride.8:9 dpkg-trigger.1:12
#: dpkg-vendor.1:9 dselect.1:9 dselect.cfg.5:5 start-stop-daemon.8:9
#: update-alternatives.8:16
#, no-wrap
msgid "DESCRIPTION"
msgstr "DESCRIPCIÓN"

#. type: Plain text
#: deb.5:12
msgid ""
"The B<.deb> format is the Debian binary package file format. It is "
"understood by dpkg 0.93.76 and later, and is generated by default by all "
"versions of dpkg since 1.2.0 and all i386/ELF versions since 1.1.1elf."
msgstr ""
"El formato B<.deb> es el empleado para los paquetes binarios de Debian. La "
"versión 0.93.76 de dpkg y posteriores son compatibles con este formato, y "
"dpkg lo genera por omisión desde la versión 1.2.0, y en todas las versiones "
"i386/ELF desde 1.1.1elf."

#. type: Plain text
#: deb.5:16
msgid ""
"The format described here is used since Debian 0.93; details of the old "
"format are described in B<deb-old>(5)."
msgstr ""
"El formato descrito aquí se usa desde Debian 0.93; los detalles sobre el "
"anterior formato se describen en B<deb-old>(5)."

#. type: SH
#: deb.5:16 deb-split.5:9 deb-old.5:18
#, no-wrap
msgid "FORMAT"
msgstr "FORMATO"

#. type: Plain text
#: deb.5:22
msgid ""
"The file is an B<ar> archive with a magic value of B<!E<lt>archE<gt>>.  The "
"file names might contain a trailing slash."
msgstr ""
"El fichero es un archivo B<ar> con un valor mágico de B<!E<lt>archE<gt>>. "
"Los nombres de fichero pueden contener una barra al final."

#. type: Plain text
#: deb.5:28
msgid ""
"The B<tar> archives currently allowed are, the old-style (v7) format, the "
"pre-POSIX ustar format, a subset of the GNU format (only the new style long "
"pathnames and long linknames, supported since dpkg 1.4.1.17), and the POSIX "
"ustar format (long names supported since dpkg 1.15.0).  Unrecognized tar "
"typeflags are considered an error."
msgstr ""
"Los archivos B<tar> compatibles son el viejo formato (v7), el formato pre-"
"POSIX ustar, un subconjunto del formato GNU (sólo los nombres de ruta y de "
"enlace largos del nuevo estilo, compatible con dpkg desde la versión "
"1.4.1.17), y el formato POSIX ustar (compatible con nombres largos desde "
"dpkg 1.15.0). Las marcas de tipo de tar que no se reconozcan se toman como "
"un error."

#. type: Plain text
#: deb.5:38
msgid ""
"The first member is named B<debian-binary> and contains a series of lines, "
"separated by newlines. Currently only one line is present, the format "
"version number, B<2.0> at the time this manual page was written.  Programs "
"which read new-format archives should be prepared for the minor number to be "
"increased and new lines to be present, and should ignore these if this is "
"the case."
msgstr ""
"El primer miembro se llama B<debian-binary> y contiene una serie de líneas "
"separadas por saltos de línea. Actualmente sólo hay una línea, el número de "
"versión del formato, B<2.0> en el momento en que se escribió esta página de "
"manual. Los programas que lean archivos con el formato nuevo deberían prever "
"un aumento de los números menores y la aparición de nuevas líneas, las "
"cuales deberían ignorar en caso de aparecer."

#. type: Plain text
#: deb.5:43
msgid ""
"If the major number has changed, an incompatible change has been made and "
"the program should stop. If it has not, then the program should be able to "
"safely continue, unless it encounters an unexpected member in the archive "
"(except at the end), as described below."
msgstr ""
"Si el número mayor ha cambiado es que hay cambios incompatibles y el "
"programa se debería detener. De no ser así debería poder seguir sin "
"problemas, a no ser que se encuentre un miembro no esperado en el archivo "
"(excepto al final), como se describe más abajo."

#. type: Plain text
#: deb.5:53
msgid ""
"The second required member is named B<control.tar.gz>.  It is a gzipped tar "
"archive containing the package control information, as a series of plain "
"files, of which the file B<control> is mandatory and contains the core "
"control information. The control tarball may optionally contain an entry for "
"`B<.>', the current directory."
msgstr ""
"El segundo miembro obligatorio es B<control.tar.gz>. Es un archivo tar "
"comprimido con gzip que contiene la información de control del paquete en "
"una serie de ficheros de texto, de los cuales B<control> es obligatorio y "
"contiene la información de control principal. Opcionalmente, el fichero tar "
"de control puede contener una entrada para «B<.>», el directorio actual."

#. type: Plain text
#: deb.5:62
msgid ""
"The third, last required member is named B<data.tar>.  It contains the "
"filesystem as a tar archive, either not compressed (supported since dpkg "
"1.10.24), or compressed with gzip (with B<.gz> extension), xz (with B<.xz> "
"extension, supported since dpkg 1.15.6), bzip2 (with B<.bz2> extension, "
"supported since dpkg 1.10.24) or lzma (with B<.lzma> extension, supported "
"since dpkg 1.13.25)."
msgstr ""
"El tercer y último miembro obligatorio se llama B<data.tar>. Contiene el "
"sistema de ficheros como un archivo tar, el cual puede estar descomprimido "
"(compatible desde la versión 1.10.24 de dpkg) o comprimido con gzip "
"(extensión B<.gz>), xz (extensión B<.xz>, compatible desde la versión "
"1.15.6), bzip2 (extensión B<.bz2>, compatible desde la versión 1.10.24 de "
"dpkg) o lzma (extensión B<.lzma>, compatible desde la versión 1.13.25 de "
"dpkg)."

#. type: Plain text
#: deb.5:73
msgid ""
"These members must occur in this exact order. Current implementations should "
"ignore any additional members after B<data.tar>.  Further members may be "
"defined in the future, and (if possible) will be placed after these three. "
"Any additional members that may need to be inserted before B<data.tar> and "
"which should be safely ignored by older programs, will have names starting "
"with an underscore, `B<_>'."
msgstr ""
"Estos miembros deben aparecer en este mismo orden. Las implementaciones "
"actuales deberían ignorar cualquier miembro adicional después de B<data."
"tar>. Se podrían definirse nuevos miembros en el futuro, y se pondrán, si es "
"posible, después de éstos tres. Cualquier miembro adicional que se tuviese "
"que insertar antes de B<data.tar>, y que los programas más antiguos puedan "
"ignorar, tendrá un nombre que comience con un guión bajo, «B<_>»."

#. type: Plain text
#: deb.5:79
msgid ""
"Those new members which won't be able to be safely ignored will be inserted "
"before B<data.tar> with names starting with something other than "
"underscores, or will (more likely) cause the major version number to be "
"increased."
msgstr ""
"Los nuevos miembros que no se puedan ignorar sin problemas se insertarán "
"antes de B<data.tar>, con nombres que empiecen por algo que no sea un guión "
"bajo, o (posiblemente) causarán un incremento del número mayor de versión."

#. type: SH
#: deb.5:79 deb-control.5:271 deb-src-control.5:327 deb-split.5:49
#: deb-version.5:116 deb-old.5:51 deb-override.5:62 deb-extra-override.5:37
#: deb-shlibs.5:61 deb-substvars.5:154 deb-symbols.5:61 deb-triggers.5:67
#: dpkg.1:768 dpkg-architecture.1:299 dpkg.cfg.5:23 dpkg-buildpackage.1:249
#: dpkg-deb.1:259 dpkg-divert.8:132 dpkg-gensymbols.1:450 dpkg-name.1:96
#: dpkg-query.1:220 dpkg-scanpackages.1:110 dpkg-scansources.1:71
#: dpkg-shlibdeps.1:324 dpkg-source.1:725 dpkg-split.1:217
#: dpkg-statoverride.8:84 dpkg-trigger.1:66 dselect.1:445 dselect.cfg.5:23
#: update-alternatives.8:508
#, no-wrap
msgid "SEE ALSO"
msgstr "VÉASE TAMBIÉN"

#. type: Plain text
#: deb.5:82
msgid "B<deb-old>(5), B<dpkg-deb>(1), B<deb-control>(5)."
msgstr "B<deb-old>(5), B<dpkg-deb>(1), B<deb-control>(5)."

#. type: TH
#: deb-control.5:3
#, no-wrap
msgid "deb-control"
msgstr "deb-control"

#. type: Plain text
#: deb-control.5:6
msgid "deb-control - Debian packages' master control file format"
msgstr ""
"deb-control - Formato del fichero de control maestro de paquetes de Debian"

#. type: Plain text
#: deb-control.5:9 deb-src-control.5:9
msgid "control"
msgstr "control"

#. type: Plain text
#: deb-control.5:24
msgid ""
"Each Debian package contains the master `control' file, which contains a "
"number of fields, or comments when the line starts with B<'#'>. Each field "
"begins with a tag, such as B<Package> or B<Version> (case insensitive), "
"followed by a colon, and the body of the field.  Fields are delimited only "
"by field tags. In other words, field text may be multiple lines in length, "
"but the installation tools will generally join lines when processing the "
"body of the field (except in the case of the B<Description> field, see "
"below)."
msgstr ""
"Cada paquete de Debian contiene un fichero maestro «control» con varios "
"campos, o comentarios en aquellas líneas que empiezan con «B<#>». Cada campo "
"empieza con una etiqueta, como B<Package> o B<Version> (sin distinción entre "
"mayúsculas y minúsculas), seguido de dos puntos y el cuerpo del campo. Sólo "
"las etiquetas limitan los campos. En otras palabras, el texto de los campos "
"puede ser de varias líneas pero las herramientas de instalación las juntarán "
"todas en una sola al procesar el cuerpo del campo (excepto el campo "
"B<Description>, véase más abajo)."

#. type: SH
#: deb-control.5:25
#, no-wrap
msgid "REQUIRED FIELDS"
msgstr "CAMPOS OBLIGATORIOS"

#. type: TP
#: deb-control.5:26
#, fuzzy, no-wrap
#| msgid "B<--package>I< package>"
msgid "B<Package:>I< package-name>"
msgstr "B<--package>I< paquete>"

#. type: Plain text
#: deb-control.5:30
msgid ""
"The value of this field determines the package name, and is used to generate "
"file names by most installation tools."
msgstr ""
"El valor de este campo determina el nombre del paquete, y casi todas las "
"herramientas de instalación lo usan para generar nombres de ficheros."

#. type: TP
#: deb-control.5:30
#, fuzzy, no-wrap
#| msgid "B<Version:> E<lt>version stringE<gt>"
msgid "B<Version:>I< version-string>"
msgstr "B<Version:> E<lt>cadena-de-caracteres-con-el-número-de-versiónE<gt>"

#. type: Plain text
#: deb-control.5:37
msgid ""
"Typically, this is the original package's version number in whatever form "
"the program's author uses. It may also include a Debian revision number (for "
"non-native packages). The exact format and sorting algorithm are described "
"in B<deb-version>(5)."
msgstr ""
"Generalmente, es la versión original del paquete en el formato que use el "
"autor. Puede también incluir el número de revisión de Debian (para paquetes "
"que no sean nativos). El formato exacto y el algoritmo de ordenación se "
"describen en B<deb-version>(5)."

#. type: TP
#: deb-control.5:37
#, fuzzy, no-wrap
#| msgid "B<Maintainer:> E<lt>fullname emailE<gt>"
msgid "B<Maintainer:>I< fullname-email>"
msgstr "B<Maintainer:> E<lt>nombre-completo correo-electrónicoE<gt>"

#. type: Plain text
#: deb-control.5:42
msgid ""
"Should be in the format `Joe Bloggs E<lt>jbloggs@foo.comE<gt>', and is "
"typically the person who created the package, as opposed to the author of "
"the software that was packaged."
msgstr ""
"Debería tener un formato del tipo «Fernando Fernández E<lt>ffdez@tal."
"comE<gt>». Generalmente, es la persona que ha empaquetado el programa, y no "
"su autor original."

#. type: TP
#: deb-control.5:42
#, fuzzy, no-wrap
#| msgid "B<Description:> E<lt>short descriptionE<gt>"
msgid "B<Description:>I< short-description>"
msgstr "B<Description:> E<lt>descripción-cortaE<gt>"

#. type: Plain text
#: deb-control.5:45
#, fuzzy
#| msgid "B< >E<lt>long descriptionE<gt>"
msgid "B< >I<long-description>"
msgstr "B< >E<lt>descripción-largaE<gt>"

#. type: Plain text
#: deb-control.5:51
msgid ""
"The format for the package description is a short brief summary on the first "
"line (after the \"Description\" field). The following lines should be used "
"as a longer, more detailed description. Each line of the long description "
"must be preceded by a space, and blank lines in the long description must "
"contain a single '.' following the preceding space."
msgstr ""
"El formato de la descripción de un paquete consiste de un resumen en la "
"primera línea (después del campo «Description»). Las líneas a continuación "
"se deberían usar para la descripción más larga y detallada. Un espacio debe "
"preceder cada línea de la descripción larga, y las líneas en blanco deben "
"tener un único punto «.» a continuación del espacio precedente."

#. type: SH
#: deb-control.5:52
#, no-wrap
msgid "OPTIONAL FIELDS"
msgstr "CAMPOS OPCIONALES"

#. type: TP
#: deb-control.5:53 deb-src-control.5:90
#, fuzzy, no-wrap
#| msgid "B<Section:> E<lt>sectionE<gt>"
msgid "B<Section:>I< section>"
msgstr "B<Section:> E<lt>secciónE<gt>"

#. type: Plain text
#: deb-control.5:58
msgid ""
"This is a general field that gives the package a category based on the "
"software that it installs. Some common sections are `utils', `net', `mail', "
"`text', `x11' etc."
msgstr ""
"Es un campo general que define la categoría del paquete basándose en el "
"programa que instala. Algunas secciones comunes son «utils», «net», «mail», "
"«text», «x11» etc."

#. type: TP
#: deb-control.5:58 deb-src-control.5:96
#, fuzzy, no-wrap
#| msgid "B<Priority:> E<lt>priorityE<gt>"
msgid "B<Priority:>I< priority>"
msgstr "B<Priority:> E<lt>prioridadE<gt>"

#. type: Plain text
#: deb-control.5:62
msgid ""
"Sets the importance of this package in relation to the system as a whole.  "
"Common priorities are `required', `standard', `optional', `extra' etc."
msgstr ""
"Define la importancia del paquete en relación con todo el sistema. Algunas "
"prioridades comunes son «required», «standard», «optional», «extra» etc."

#. type: Plain text
#: deb-control.5:71 deb-src-control.5:109
msgid ""
"In Debian, the B<Section> and B<Priority> fields have a defined set of "
"accepted values based on the Policy Manual.  A list of these values can be "
"obtained from the latest version of the B<debian-policy> package."
msgstr ""
"En Debian los campos B<Section> y B<Priority> tienen definidos un conjunto "
"reducido de valores válidos de acuerdo al Manual de Normas de Debian. Puede "
"obtener una lista completa de estos valores con la última versión del "
"paquete B<debian-policy>."

#. type: TP
#: deb-control.5:71 deb-src-control.5:216
#, fuzzy, no-wrap
#| msgid "B<Essential:> E<lt>yes|noE<gt>"
msgid "B<Essential:> B<yes>|B<no>"
msgstr "B<Essential:> E<lt>yes|noE<gt>"

#. type: Plain text
#: deb-control.5:78
#, fuzzy
#| msgid ""
#| "This field is usually only needed when the answer is `yes'. It denotes a "
#| "package that is required for proper operation of the system. Dpkg or any "
#| "other installation tool will not allow an B<Essential> package to be "
#| "removed (at least not without using one of the force options)."
msgid ""
"This field is usually only needed when the answer is B<yes>. It denotes a "
"package that is required for proper operation of the system. Dpkg or any "
"other installation tool will not allow an B<Essential> package to be removed "
"(at least not without using one of the force options)."
msgstr ""
"Generalmente, este campo sólo se necesita cuando la respuesta es «yes» (sí). "
"Indica un paquete necesario (esencial) para el correcto funcionamiento del "
"sistema. Dpkg o cualquier otra herramienta de instalación impiden "
"desinstalar un paquete B<Essential> (al menos sin usar opciones de forzado). "

#. type: TP
#: deb-control.5:78
#, fuzzy, no-wrap
#| msgid "B<Architecture:> E<lt>arch|allE<gt>"
msgid "B<Architecture:> I<arch>|B<all>"
msgstr "B<Architecture:> E<lt>arch|allE<gt>"

#. type: Plain text
#: deb-control.5:86
msgid ""
"The architecture specifies which type of hardware this package was compiled "
"for. Common architectures are `i386', `m68k', `sparc', `alpha', `powerpc' "
"etc. Note that the B<all> option is meant for packages that are architecture "
"independent. Some examples of this are shell and Perl scripts, and "
"documentation."
msgstr ""
"La arquitectura para la que se compiló el paquete. Arquitecturas comunes son "
"«i386», «m68k», «sparc», «alpha», «powerpc», etc. Tenga en cuenta que la "
"opción B<all> es para paquetes independientes de la arquitectura como lo son "
"los scripts de Perl o documentación."

#. type: TP
#: deb-control.5:86 deb-src-control.5:85
#, fuzzy, no-wrap
#| msgid "B<Origin:> E<lt>nameE<gt>"
msgid "B<Origin:>I< name>"
msgstr "B<Origin:> E<lt>nombreE<gt>"

#. type: Plain text
#: deb-control.5:89
msgid "The name of the distribution this package is originating from."
msgstr "El nombre de la distribución origen del paquete."

#. type: TP
#: deb-control.5:89 deb-src-control.5:66
#, fuzzy, no-wrap
#| msgid "B<Bugs:> E<lt>urlE<gt>"
msgid "B<Bugs:>I< url>"
msgstr "B<Bugs:> E<lt>urlE<gt>"

#. type: Plain text
#: deb-control.5:94
#, fuzzy
#| msgid ""
#| "The url of the bug tracking system for this package. The current used "
#| "format is B<E<lt>bts_typeE<gt>://E<lt>bts_addressE<gt>>, like B<debbugs://"
#| "bugs.debian.org>."
msgid ""
"The I<url> of the bug tracking system for this package. The current used "
"format is I<bts-type>B<://>I<bts-address>, like B<debbugs://bugs.debian.org>."
msgstr ""
"La dirección url del sistema de seguimiento de fallos de este paquete. El "
"formato usado actualmente es: B<E<lt>tipo-btsE<gt>://E<lt>direccion-"
"btsE<gt>>, por ejemplo B<debbugs://bugs.debian.org>."

#. type: TP
#: deb-control.5:94 deb-src-control.5:62
#, fuzzy, no-wrap
#| msgid "B<Homepage:> E<lt>urlE<gt>"
msgid "B<Homepage:>I< url>"
msgstr "B<Homepage:> E<lt>urlE<gt>"

#. type: Plain text
#: deb-control.5:97
#, fuzzy
#| msgid "The upstream project home page URL."
msgid "The upstream project home page I<url>."
msgstr "La dirección url de la página oficial del autor original."

#. type: TP
#: deb-control.5:97 deb-src-control.5:222
#, fuzzy, no-wrap
#| msgid "B<Tag:> E<lt>tag listE<gt>"
msgid "B<Tag:>I< tag-list>"
msgstr "B<Tag:> E<lt>lista-de-etiquetasE<gt>"

#. type: Plain text
#: deb-control.5:101
msgid ""
"List of tags describing the qualities of the package. The description and "
"list of supported tags can be found in the B<debtags> package."
msgstr ""
"Lista de etiquetas que describen las características del paquete. La lista y "
"descripción de las etiquetas aceptadas se pueden encontrar en el paquete "
"B<debtags>."

#. type: TP
#: deb-control.5:101 deb-src-control.5:219
#, fuzzy, no-wrap
#| msgid "B<Source:> E<lt>source nameE<gt>"
msgid "B<Multi-Arch:> B<same>|B<foreign>|B<allowed>"
msgstr "B<Source:> E<lt>nombre-del-código-fuenteE<gt>"

#. type: Plain text
#: deb-control.5:113
msgid ""
"This field is used to indicate how this package should behave on a multi-"
"arch installations. The value B<same> means that the package is co-"
"installable with itself, but it must not be used to satisfy the dependency "
"of any package of a different architecture from itself. The value B<foreign> "
"means that the package is not co-installable with itself, but should be "
"allowed to satisfy the dependency of a package of a different arch from "
"itself. The value B<allowed> allows reverse-dependencies to indicate in "
"their Depends field that they need a package from a foreign architecture, "
"but has no effect otherwise. This field should not be present in packages "
"with the B<Architecture: all> field."
msgstr ""

#. type: TP
#: deb-control.5:113
#, fuzzy, no-wrap
#| msgid "B<Source:> E<lt>source nameE<gt>"
msgid "B<Source:>I< source-name>"
msgstr "B<Source:> E<lt>nombre-del-código-fuenteE<gt>"

#. type: Plain text
#: deb-control.5:117
msgid ""
"The name of the source package that this binary package came from, if "
"different than the name of the package itself."
msgstr ""
"El nombre del paquete fuente del que proviene el paquete binario, en caso de "
"tener un nombre diferente al paquete original."

#. type: TP
#: deb-control.5:118 deb-src-control.5:202
#, fuzzy, no-wrap
#| msgid "B<Architecture:> E<lt>arch|allE<gt>"
msgid "B<Subarchitecture:>I< value>"
msgstr "B<Architecture:> E<lt>arch|allE<gt>"

#. type: TP
#: deb-control.5:121 deb-src-control.5:205
#, fuzzy, no-wrap
#| msgid "B<Version:> E<lt>versionE<gt>"
msgid "B<Kernel-Version:>I< value>"
msgstr "B<Version:> E<lt>versiónE<gt>"

#. type: TP
#: deb-control.5:124 deb-src-control.5:208
#, fuzzy, no-wrap
#| msgid "B<Date:> E<lt>dateE<gt>"
msgid "B<Installer-Menu-Item:>I< value>"
msgstr "B<Date:> E<lt>fechaE<gt>"

#. type: Plain text
#: deb-control.5:131 deb-src-control.5:215
msgid ""
"These fields are used by the debian-installer and are usually not needed.  "
"See /usr/share/doc/debian-installer/devel/modules.txt from the B<debian-"
"installer> package for more details about them."
msgstr ""

#. type: TP
#: deb-control.5:132 deb-src-control.5:233
#, fuzzy, no-wrap
#| msgid "B<Depends:> E<lt>package listE<gt>"
msgid "B<Depends:>I< package-list>"
msgstr "B<Depends:> E<lt>lista-de-paquetesE<gt>"

#. type: Plain text
#: deb-control.5:143
msgid ""
"List of packages that are required for this package to provide a non-trivial "
"amount of functionality. The package maintenance software will not allow a "
"package to be installed if the packages listed in its B<Depends> field "
"aren't installed (at least not without using the force options).  In an "
"installation, the postinst scripts of packages listed in Depends: fields are "
"run before those of the packages which depend on them. On the opposite, in a "
"removal, the prerm script of a package is run before those of the packages "
"listed in its Depends: field."
msgstr ""
"Lista de paquetes necesarios para que el paquete ofrezca una funcionalidad "
"aceptable. El gestor de paquetes no instalará el programa a menos que se "
"instalen previamente todos los programas listados en el campo B<Depends> (al "
"menos sin tener que usar las opciones de forzado). Una instalación siempre "
"ejecutará los scripts «postinst» (post-instalación) de los paquetes listados "
"bajo «Depends:» antes de los del programa que depende de ellos. Por otra "
"parte, al eliminar un paquete, ejecutará los scripts de «prerm» (pre-"
"eliminación) de este antes de los scripts de los paquetes listados en su "
"campo «Depends:»."

#. type: TP
#: deb-control.5:143 deb-src-control.5:236
#, fuzzy, no-wrap
#| msgid "B<Pre-Depends:> E<lt>package listE<gt>"
msgid "B<Pre-Depends:>I< package-list>"
msgstr "B<Pre-Depends:> E<lt>lista-de-paquetesE<gt>"

#. type: Plain text
#: deb-control.5:150
msgid ""
"List of packages that must be installed B<and> configured before this one "
"can be installed. This is usually used in the case where this package "
"requires another package for running its preinst script."
msgstr ""
"Lista de paquetes que deben estar instalados B<y> configurados antes de la "
"instalación del paquete. Se suele usar en caso de que el paquete requiera "
"algún otro paquete para la ejecución de su script «preinst»."

#. type: TP
#: deb-control.5:150 deb-src-control.5:239
#, fuzzy, no-wrap
#| msgid "B<Recommends:> E<lt>package listE<gt>"
msgid "B<Recommends:>I< package-list>"
msgstr "B<Recommends:> E<lt>lista-de-paquetesE<gt>"

#. type: Plain text
#: deb-control.5:157
msgid ""
"Lists packages that would be found together with this one in all but unusual "
"installations. The package maintenance software will warn the user if they "
"install a package without those listed in its B<Recommends> field."
msgstr ""
"Lista de paquetes que habitualmente estarían instalados con este paquete. El "
"programa de gestión de paquetes avisará al usuario si instala un paquete sin "
"los paquetes listados en su campo B<Recommends>."

#. type: TP
#: deb-control.5:157 deb-src-control.5:242
#, fuzzy, no-wrap
#| msgid "B<Suggests:> E<lt>package listE<gt>"
msgid "B<Suggests:>I< package-list>"
msgstr "B<Suggests:> E<lt>lista-de-paquetesE<gt>"

#. type: Plain text
#: deb-control.5:162
msgid ""
"Lists packages that are related to this one and can perhaps enhance its "
"usefulness, but without which installing this package is perfectly "
"reasonable."
msgstr ""
"Lista de paquetes relacionados con el paquete y que probablemente mejoran su "
"utilidad, aunque debe ser perfectamente razonable instalar el programa sin "
"éstos."

#. type: Plain text
#: deb-control.5:174
msgid ""
"The syntax of B<Depends>, B<Pre-Depends>, B<Recommends> and B<Suggests> "
"fields is a list of groups of alternative packages. Each group is a list of "
"packages separated by vertical bar (or `pipe') symbols, `|'. The groups are "
"separated by commas. Commas are to be read as `AND', and pipes as `OR', with "
"pipes binding more tightly. Each package name is optionally followed by a "
"version number specification in parentheses."
msgstr ""
"La sintaxis de los campos B<Depends>, B<Pre-Depends>, B<Recommends> y "
"B<Suggests> es una lista de grupos de paquetes alternativos. Cada grupo es "
"una lista de paquetes separado por una barra vertical «|». Los grupos se "
"separan mediante comas. Las comas se leen como «AND», y las barras "
"horizontales como «OR», lo cual se evalúa antes que «AND». Cada elemento es "
"un nombre de paquete que puede ir seguido de un número de versión definido "
"entre paréntesis."

#. type: Plain text
#: deb-control.5:180
msgid ""
"A version number may start with a `E<gt>E<gt>', in which case any later "
"version will match, and may specify or omit the Debian packaging revision "
"(separated by a hyphen). Accepted version relationships are \"E<gt>E<gt>\" "
"for greater than, \"E<lt>E<lt>\" for less than, \"E<gt>=\" for greater than "
"or equal to, \"E<lt>=\" for less than or equal to, and \"=\" for equal to."
msgstr ""
"Un número de versión puede empezar con «E<gt>E<gt>», en cuyo caso cualquier "
"versión posterior encajaría, siendo posible omitir el número de revisión de "
"Debian (separado por un guión). Las relaciones de versión válidas son "
"«E<gt>E<gt>» para mayor que, «E<lt>E<lt>» para menor que,«E<gt>=» para mayor "
"o igual que, «E<lt>=» para menor o igual y «=» para igual que."

#. type: TP
#: deb-control.5:180 deb-src-control.5:245
#, fuzzy, no-wrap
#| msgid "B<Breaks:> E<lt>package listE<gt>"
msgid "B<Breaks:>I< package-list>"
msgstr "B<Breaks:> E<lt>lista-de-paquetesE<gt>"

#. type: Plain text
#: deb-control.5:188
msgid ""
"Lists packages that this one breaks, for example by exposing bugs when the "
"named packages rely on this one. The package maintenance software will not "
"allow broken packages to be configured; generally the resolution is to "
"upgrade the packages named in a B<Breaks> field."
msgstr ""
"Lista de paquetes que este paquete rompe, por ejemplo, al generar fallos "
"cuando los paquetes mencionados dependen de éste. El programa de gestión de "
"paquetes impedirá la configuración de paquetes rotos; la solución más común "
"es actualizar los paquetes mencionados en el campo B<Breaks>."

#. type: TP
#: deb-control.5:188 deb-src-control.5:254
#, fuzzy, no-wrap
#| msgid "B<Conflicts:> E<lt>package listE<gt>"
msgid "B<Conflicts:>I< package-list>"
msgstr "B<Conflicts:> E<lt>lista-de-paquetesE<gt>"

#. type: Plain text
#: deb-control.5:196
msgid ""
"Lists packages that conflict with this one, for example by containing files "
"with the same names. The package maintenance software will not allow "
"conflicting packages to be installed at the same time. Two conflicting "
"packages should each include a B<Conflicts> line mentioning the other."
msgstr ""
"Lista de paquetes que entran en conflicto con éste, por ejemplo, por que "
"contienen ficheros con el mismo nombre. El programa de gestión de paquetes "
"impedirá que dos paquetes en conflicto estén instalados a la vez. Dos "
"paquetes con conflictos entre ellos deben incluir al otro en su campo "
"B<Conflicts>."

#. type: TP
#: deb-control.5:196 deb-src-control.5:251
#, fuzzy, no-wrap
#| msgid "B<Replaces:> E<lt>package listE<gt>"
msgid "B<Replaces:>I< package-list>"
msgstr "B<Replaces:> E<lt>lista-de-paquetesE<gt>"

#. type: Plain text
#: deb-control.5:204
msgid ""
"List of packages files from which this one replaces. This is used for "
"allowing this package to overwrite the files of another package and is "
"usually used with the B<Conflicts> field to force removal of the other "
"package, if this one also has the same files as the conflicted package."
msgstr ""
"Lista de paquetes que este paquete reemplaza. Se usa para permitir que el "
"paquete sobreescriba los ficheros de otro paquete, habitualmente listado "
"también en el campo B<Conflicts> para forzar la desinstalación del otro "
"paquete en caso de que este paquete tenga ficheros con el mismo nombre."

#. type: TP
#: deb-control.5:204 deb-src-control.5:257
#, fuzzy, no-wrap
#| msgid "B<Provides:> E<lt>package listE<gt>"
msgid "B<Provides:>I< package-list>"
msgstr "B<Provides:> E<lt>lista-de-paquetesE<gt>"

#. type: Plain text
#: deb-control.5:214
msgid ""
"This is a list of virtual packages that this one provides. Usually this is "
"used in the case of several packages all providing the same service.  For "
"example, sendmail and exim can serve as a mail server, so they provide a "
"common package (`mail-transport-agent') on which other packages can depend. "
"This will allow sendmail or exim to serve as a valid option to satisfy the "
"dependency. This prevents the packages that depend on a mail server from "
"having to know the package names for all of them, and using `|' to separate "
"the list."
msgstr ""
"Lista de paquetes virtuales proporcionados por este paquete. Habitualmente, "
"se usa cuando hay varios paquetes que proporcionan el mismo servicio. Por "
"ejemplo, tanto sendmail como exim pueden servir como servidor de correo, y "
"por ello ambos proporcionan el paquete «mail-transport-agent», del cual "
"pueden depender otros paquetes. Esto permite que tanto sendmail como exim "
"sean una opción válida para satisfacer la dependencia. Esto evita que un "
"paquete dependiente de un servidor de correo necesite conocer los nombres de "
"todos los paquetes de los servidores de correo, usando una «|» para "
"separarlos."

#. type: Plain text
#: deb-control.5:233
msgid ""
"The syntax of B<Breaks>, B<Conflicts>, B<Replaces> and B<Provides> is a list "
"of package names, separated by commas (and optional whitespace).  In the "
"B<Breaks> and B<Conflicts> fields, the comma should be read as `OR'. An "
"optional version can also be given with the same syntax as above for the "
"B<Breaks>, B<Conflicts> and B<Replaces> fields."
msgstr ""
"La sintaxis de B<Breaks>, B<Conflicts>, B<Replaces> y B<Provides> es una "
"lista de nombres de paquete separados por comas (y opcionalmente espacios en "
"blanco). En el campo B<Conflicts> la coma se lee como «OR». Además, puede "
"proporcionar una versión opcional con la misma sintaxis de arriba en los "
"campos B<Breaks>, B<Conflicts> y B<Replaces>."

#. type: TP
#: deb-control.5:234 deb-src-control.5:260
#, fuzzy, no-wrap
#| msgid "B<Depends:> E<lt>package listE<gt>"
msgid "B<Built-Using:>I< package-list>"
msgstr "B<Depends:> E<lt>lista-de-paquetesE<gt>"

#. type: Plain text
#: deb-control.5:244
msgid ""
"This field lists extra source packages that were used during the build of "
"this binary package.  This is an indication to the archive maintenance "
"software that these extra source packages must be kept whilst this binary "
"package is maintained.  This field must be a list of source package names "
"with strict (=)  version relationships.  Note that the archive maintenance "
"software is likely to refuse to accept an upload which declares a B<Built-"
"Using> relationship which cannot be satisfied within the archive."
msgstr ""

#. type: SH
#: deb-control.5:245 deb-src-control.5:288 start-stop-daemon.8:302
#, no-wrap
msgid "EXAMPLE"
msgstr "EJEMPLO"

#. type: Plain text
#: deb-control.5:268
#, no-wrap
msgid ""
"# Comment\n"
"Package: grep\n"
"Essential: yes\n"
"Priority: required\n"
"Section: base\n"
"Maintainer: Wichert Akkerman E<lt>wakkerma@debian.orgE<gt>\n"
"Architecture: sparc\n"
"Version: 2.4-1\n"
"Pre-Depends: libc6 (E<gt>= 2.0.105)\n"
"Provides: rgrep\n"
"Conflicts: rgrep\n"
"Description: GNU grep, egrep and fgrep.\n"
" The GNU family of grep utilities may be the \"fastest grep in the west\".\n"
" GNU grep is based on a fast lazy-state deterministic matcher (about\n"
" twice as fast as stock Unix egrep) hybridized with a Boyer-Moore-Gosper\n"
" search for a fixed string that eliminates impossible text from being\n"
" considered by the full regexp matcher without necessarily having to\n"
" look at every character. The result is typically many times faster\n"
" than Unix grep or egrep. (Regular expressions containing backreferencing\n"
" will run more slowly, however).\n"
msgstr ""
"Package: grep\n"
"Essential: yes\n"
"Priority: required\n"
"Section: base\n"
"Maintainer: Wichert Akkerman E<lt>wakkerma@debian.orgE<gt>\n"
"Architecture: sparc\n"
"Version: 2.4-1\n"
"Pre-Depends: libc6 (E<gt>= 2.0.105)\n"
"Provides: rgrep\n"
"Conflicts: rgrep\n"
"Description: GNU grep, egrep and fgrep.\n"
" The GNU family of grep utilities may be the \"fastest grep in the west\".\n"
" GNU grep is based on a fast lazy-state deterministic matcher (about\n"
" twice as fast as stock Unix egrep) hybridized with a Boyer-Moore-Gosper\n"
" search for a fixed string that eliminates impossible text from being\n"
" considered by the full regexp matcher without necessarily having to\n"
" look at every character. The result is typically many times faster\n"
" than Unix grep or egrep. (Regular expressions containing backreferencing\n"
" will run more slowly, however.)\n"

#. type: Plain text
#: deb-control.5:276
msgid ""
"B<deb>(5), B<deb-version>(5), B<debtags>(1), B<dpkg>(1), B<dpkg-deb>(1)."
msgstr ""
"B<deb>(5), B<deb-version>(5), B<debtags>(1), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: TH
#: deb-src-control.5:3
#, fuzzy, no-wrap
#| msgid "deb-control"
msgid "deb-src-control"
msgstr "deb-control"

#. type: Plain text
#: deb-src-control.5:6
#, fuzzy
#| msgid "deb-control - Debian packages' master control file format"
msgid "deb-src-control - Debian source packages' master control file format"
msgstr ""
"deb-control - Formato del fichero de control maestro de paquetes de Debian"

#. type: Plain text
#: deb-src-control.5:28
msgid ""
"Each Debian source package contains the master \"control\" file, which "
"contains at least 2 paragraphs, separated by a blank line. The first "
"paragraph lists all information about the source package in general, while "
"each following paragraph describes exactly one binary package. Each "
"paragraph consists of at least one field. A field starts with a fieldname, "
"such as B<Package> or B<Section> (case insensitive), followed by a colon, "
"the body of the field and a newline.  Multi-line fields are also allowed, "
"but each supplementary line, without a fieldname, should start with at least "
"one space. The content of the multi-line fields is generally joined to a "
"single line by the tools (except in the case of the B<Description> field, "
"see below). To insert empty lines into a multi-line field, insert a dot "
"after the space. Lines starting with a B<'#'> are treated as comments."
msgstr ""

#. type: SH
#: deb-src-control.5:29
#, fuzzy, no-wrap
#| msgid "REQUIRED FIELDS"
msgid "SOURCE FIELDS"
msgstr "CAMPOS OBLIGATORIOS"

#. type: TP
#: deb-src-control.5:30
#, fuzzy, no-wrap
#| msgid "B<Source:> E<lt>source nameE<gt>"
msgid "B<Source:> I<source-package-name> (required)"
msgstr "B<Source:> E<lt>nombre-del-código-fuenteE<gt>"

#. type: Plain text
#: deb-src-control.5:37
msgid ""
"The value of this field is the name of the source package, and should match "
"the name of the source package in the debian/changelog file. A package name "
"must consist only of lower case letters (a-z), digits (0-9), plus (+) and "
"minus (-) signs, and periods (.). Package names must be at least two "
"characters long and must start with an alphanumeric character."
msgstr ""

#. type: TP
#: deb-src-control.5:38
#, fuzzy, no-wrap
#| msgid "B<Maintainer:> E<lt>fullname emailE<gt>"
msgid "B<Maintainer:> I<fullname-email> (required)"
msgstr "B<Maintainer:> E<lt>nombre-completo correo-electrónicoE<gt>"

#. type: Plain text
#: deb-src-control.5:43
#, fuzzy
#| msgid ""
#| "Should be in the format `Joe Bloggs E<lt>jbloggs@foo.comE<gt>', and is "
#| "typically the person who created the package, as opposed to the author of "
#| "the software that was packaged."
msgid ""
"Should be in the format \"Joe Bloggs E<lt>jbloggs@foo.comE<gt>\", and "
"references the person who currently maintains the package, as opposed to the "
"author of the software or the original packager."
msgstr ""
"Debería tener un formato del tipo «Fernando Fernández E<lt>ffdez@tal."
"comE<gt>». Generalmente, es la persona que ha empaquetado el programa, y no "
"su autor original."

#. type: TP
#: deb-src-control.5:44
#, fuzzy, no-wrap
#| msgid "B<Maintainer:> E<lt>fullname emailE<gt>"
msgid "B<Uploaders:>I< fullname-email>"
msgstr "B<Maintainer:> E<lt>nombre-completo correo-electrónicoE<gt>"

#. type: Plain text
#: deb-src-control.5:49
msgid ""
"Lists all the names and email addresses of co-maintainers of the package, in "
"the same format as the Maintainer field. Multiple co-maintainers should be "
"separated by a comma."
msgstr ""

#. type: TP
#: deb-src-control.5:50
#, fuzzy, no-wrap
#| msgid "B<Version:> E<lt>version stringE<gt>"
msgid "B<Standards-Version:>I< version-string>"
msgstr "B<Version:> E<lt>cadena-de-caracteres-con-el-número-de-versiónE<gt>"

#. type: Plain text
#: deb-src-control.5:56
msgid ""
"This documents the most recent version of the standards (which consists of "
"the Debian Policy Manual and referenced texts from the B<debian-policy> "
"package) this package complies to."
msgstr ""

#. type: TP
#: deb-src-control.5:57
#, fuzzy, no-wrap
#| msgid "B<Essential:> E<lt>yes|noE<gt>"
msgid "B<DM-Upload-Allowed:> B<yes>|B<no>"
msgstr "B<Essential:> E<lt>yes|noE<gt>"

#. type: Plain text
#: deb-src-control.5:61
msgid ""
"This field indicates whether the package can be uploaded by Debian "
"Maintainers appearing in the Maintainer or Uploaders field. The default "
"value is \"no\"."
msgstr ""

#. type: Plain text
#: deb-src-control.5:65
msgid "The upstream project home page URL."
msgstr "La dirección url de la página oficial del autor original."

#. type: Plain text
#: deb-src-control.5:71
#, fuzzy
#| msgid ""
#| "The url of the bug tracking system for this package. The current used "
#| "format is B<E<lt>bts_typeE<gt>://E<lt>bts_addressE<gt>>, like B<debbugs://"
#| "bugs.debian.org>."
msgid ""
"The I<url> of the bug tracking system for this package. The current used "
"format is I<bts-type>B<://>I<bts-address>, like B<debbugs://bugs.debian."
"org>. This field is usually not needed."
msgstr ""
"La dirección url del sistema de seguimiento de fallos de este paquete. El "
"formato usado actualmente es: B<E<lt>tipo-btsE<gt>://E<lt>direccion-"
"btsE<gt>>, por ejemplo B<debbugs://bugs.debian.org>."

#. type: TP
#: deb-src-control.5:72
#, fuzzy, no-wrap
#| msgid "B<Bugs:> E<lt>urlE<gt>"
msgid "B<Vcs-*:>I< url>"
msgstr "B<Bugs:> E<lt>urlE<gt>"

#. type: Plain text
#: deb-src-control.5:79
msgid ""
"The I<url> of the Version Control System repository used to maintain this "
"package. Currently supported are B<Arch>, B<Bzr> (Bazaar), B<Cvs>, B<Darcs>, "
"B<Git>, B<Hg> (Mercurial), B<Mtn> (Monotone) and B<Svn> (Subversion). "
"Usually this field points to the latest version of the package, such as the "
"main branch or the trunk."
msgstr ""

#. type: TP
#: deb-src-control.5:80
#, fuzzy, no-wrap
#| msgid "B<Bugs:> E<lt>urlE<gt>"
msgid "B<Vcs-Browser:>I< url>"
msgstr "B<Bugs:> E<lt>urlE<gt>"

#. type: Plain text
#: deb-src-control.5:84
msgid ""
"The I<url> of a webinterface to browse the Version Control System repository."
msgstr ""

#. type: Plain text
#: deb-src-control.5:89
#, fuzzy
#| msgid "The name of the distribution this package is originating from."
msgid ""
"The name of the distribution this package is originating from. This field is "
"usually not needed."
msgstr "El nombre de la distribución origen del paquete."

#. type: Plain text
#: deb-src-control.5:95
#, fuzzy
#| msgid ""
#| "This is a general field that gives the package a category based on the "
#| "software that it installs. Some common sections are `utils', `net', "
#| "`mail', `text', `x11' etc."
msgid ""
"This is a general field that gives the package a category based on the "
"software that it installs. Some common sections are \"utils\", \"net\", "
"\"mail\", \"text\", \"x11\", etc."
msgstr ""
"Es un campo general que define la categoría del paquete basándose en el "
"programa que instala. Algunas secciones comunes son «utils», «net», «mail», "
"«text», «x11» etc."

#. type: Plain text
#: deb-src-control.5:100
#, fuzzy
#| msgid ""
#| "Sets the importance of this package in relation to the system as a "
#| "whole.  Common priorities are `required', `standard', `optional', `extra' "
#| "etc."
msgid ""
"Sets the importance of this package in relation to the system as a whole.  "
"Common priorities are \"required\", \"standard\", \"optional\", \"extra\", "
"etc."
msgstr ""
"Define la importancia del paquete en relación con todo el sistema. Algunas "
"prioridades comunes son «required», «standard», «optional», «extra» etc."

#. type: TP
#: deb-src-control.5:110
#, fuzzy, no-wrap
#| msgid "B<Depends:> E<lt>package listE<gt>"
msgid "B<Build-Depends:>I< package-list>"
msgstr "B<Depends:> E<lt>lista-de-paquetesE<gt>"

#. type: Plain text
#: deb-src-control.5:114
#, fuzzy
#| msgid ""
#| "In the list of packages, the text indicating the current state of the "
#| "currently selected package."
msgid ""
"A list of packages that need to be installed and configured to be able to "
"build the source package."
msgstr ""
"En la lista de paquetes, el texto que indica el estado actual del paquete "
"seleccionado."

#. type: TP
#: deb-src-control.5:115
#, fuzzy, no-wrap
#| msgid "B<Depends:> E<lt>package listE<gt>"
msgid "B<Build-Depends-Indep:>I< package-list>"
msgstr "B<Depends:> E<lt>lista-de-paquetesE<gt>"

#. type: Plain text
#: deb-src-control.5:120
msgid ""
"Same as B<Build-Depends>, but they are only needed when building the "
"architecture independent packages. The B<Build-Depends> are also installed "
"in this case."
msgstr ""

#. type: TP
#: deb-src-control.5:121
#, fuzzy, no-wrap
#| msgid "B<Conflicts:> E<lt>package listE<gt>"
msgid "B<Build-Conflicts:>I< package-list>"
msgstr "B<Conflicts:> E<lt>lista-de-paquetesE<gt>"

#. type: Plain text
#: deb-src-control.5:125
msgid ""
"A list of packages that should not be installed when the package is build, "
"for example because they interfere with the used build system."
msgstr ""

#. type: TP
#: deb-src-control.5:126
#, fuzzy, no-wrap
#| msgid "B<Conflicts:> E<lt>package listE<gt>"
msgid "B<Build-Conflicts-Indep:>I< package-list>"
msgstr "B<Conflicts:> E<lt>lista-de-paquetesE<gt>"

#. type: Plain text
#: deb-src-control.5:130
msgid ""
"Same as B<Build-Conflicts>, but only when building the architecture "
"independent packages."
msgstr ""

#. type: Plain text
#: deb-src-control.5:141
#, fuzzy
#| msgid ""
#| "The syntax of B<Depends>, B<Pre-Depends>, B<Recommends> and B<Suggests> "
#| "fields is a list of groups of alternative packages. Each group is a list "
#| "of packages separated by vertical bar (or `pipe') symbols, `|'. The "
#| "groups are separated by commas. Commas are to be read as `AND', and pipes "
#| "as `OR', with pipes binding more tightly. Each package name is optionally "
#| "followed by a version number specification in parentheses."
msgid ""
"The syntax of the B<Build-Depends> and B<Build-Depends-Indep> fields is a "
"list of groups of alternative packages. Each group is a list of packages "
"separated by vertical bar (or \"pipe\") symbols, \"|\". The groups are "
"separated by commas. Commas are to be read as \"AND\", and pipes as \"OR\", "
"with pipes binding more tightly. Each package name is optionally followed by "
"a version number specification in parentheses and an architecture "
"specification in square brackets."
msgstr ""
"La sintaxis de los campos B<Depends>, B<Pre-Depends>, B<Recommends> y "
"B<Suggests> es una lista de grupos de paquetes alternativos. Cada grupo es "
"una lista de paquetes separado por una barra vertical «|». Los grupos se "
"separan mediante comas. Las comas se leen como «AND», y las barras "
"horizontales como «OR», lo cual se evalúa antes que «AND». Cada elemento es "
"un nombre de paquete que puede ir seguido de un número de versión definido "
"entre paréntesis."

#. type: Plain text
#: deb-src-control.5:150
msgid ""
"The syntax of the B<Build-Conflicts> and B<Build-Conflicts-Indep> fields is "
"a list of comma-separated package names, where the comma is read as an \"AND"
"\". Specifying alternative packages using a \"pipe\" is not supported.  Each "
"package name is optionally followed by a version number specification in "
"parentheses and an architecture specification in square brackets."
msgstr ""

#. type: Plain text
#: deb-src-control.5:156
#, fuzzy
#| msgid ""
#| "A version number may start with a `E<gt>E<gt>', in which case any later "
#| "version will match, and may specify or omit the Debian packaging revision "
#| "(separated by a hyphen). Accepted version relationships are \"E<gt>E<gt>"
#| "\" for greater than, \"E<lt>E<lt>\" for less than, \"E<gt>=\" for greater "
#| "than or equal to, \"E<lt>=\" for less than or equal to, and \"=\" for "
#| "equal to."
msgid ""
"A version number may start with a \"E<gt>E<gt>\", in which case any later "
"version will match, and may specify or omit the Debian packaging revision "
"(separated by a hyphen). Accepted version relationships are \"E<gt>E<gt>\" "
"for greater than, \"E<lt>E<lt>\" for less than, \"E<gt>=\" for greater than "
"or equal to, \"E<lt>=\" for less than or equal to, and \"=\" for equal to."
msgstr ""
"Un número de versión puede empezar con «E<gt>E<gt>», en cuyo caso cualquier "
"versión posterior encajaría, siendo posible omitir el número de revisión de "
"Debian (separado por un guión). Las relaciones de versión válidas son "
"«E<gt>E<gt>» para mayor que, «E<lt>E<lt>» para menor que,«E<gt>=» para mayor "
"o igual que, «E<lt>=» para menor o igual y «=» para igual que."

#. type: Plain text
#: deb-src-control.5:160
msgid ""
"A architecture specification consists of one or more architecture names, "
"separated by whitespace. Exclamation marks may be prepended to each of the "
"names, meaning \"NOT\"."
msgstr ""

#. type: Plain text
#: deb-src-control.5:165
msgid ""
"Note that dependencies on packages in the B<build-essential> set can be "
"omitted and that declaring build conflicts against them is impossible. A "
"list of these packages is in the build-essential package."
msgstr ""

#. type: SH
#: deb-src-control.5:167
#, fuzzy, no-wrap
#| msgid "OPTIONAL FIELDS"
msgid "BINARY FIELDS"
msgstr "CAMPOS OPCIONALES"

#. type: Plain text
#: deb-src-control.5:176
msgid ""
"Note that the B<Priority>, B<Section> and B<Homepage> fields can also be in "
"a binary paragraph to override the global value from the source package."
msgstr ""

#. type: TP
#: deb-src-control.5:177
#, fuzzy, no-wrap
#| msgid "B<Package:> E<lt>package nameE<gt>"
msgid "B<Package:> I<binary-package-name> (required)"
msgstr "B<Package:> E<lt>nombre-del-paqueteE<gt>"

#. type: Plain text
#: deb-src-control.5:181
msgid ""
"This field is used to name the binary package name. The same restrictions as "
"to a source package name apply."
msgstr ""

#. type: TP
#: deb-src-control.5:182
#, fuzzy, no-wrap
#| msgid "B<Architecture:> E<lt>arch|allE<gt>"
msgid "B<Architecture:> I<arch>|B<all>|B<any> (required)"
msgstr "B<Architecture:> E<lt>arch|allE<gt>"

#. type: Plain text
#: deb-src-control.5:195
msgid ""
"The architecture specifies on which type of hardware this package runs. For "
"packages that run on all architectures, use the B<any> value. For packages "
"that are architecture independent, such as shell and Perl scripts or "
"documentation, use the B<all> value. To restrict the packages to a certain "
"set of architectures, specify the architecture names, separated by a space. "
"It's also possible to put architecture wildcards in that list (see B<dpkg-"
"architecture>(1)  for more information about them)."
msgstr ""

#. type: TP
#: deb-src-control.5:196
#, fuzzy, no-wrap
#| msgid "B<Package:> E<lt>package nameE<gt>"
msgid "B<Package-Type:> B<deb>|B<udeb>"
msgstr "B<Package:> E<lt>nombre-del-paqueteE<gt>"

#. type: Plain text
#: deb-src-control.5:201
msgid ""
"This field defines the type of the package. \"udeb\" is for size-constrained "
"packages used by the debian installer. \"deb\" is the default value, it's "
"assumed if the field is absent. More types might be added in the future."
msgstr ""

#. type: TP
#: deb-src-control.5:225
#, fuzzy, no-wrap
#| msgid "B<Description:> E<lt>short descriptionE<gt>"
msgid "B<Description:> I<short-description> (required)"
msgstr "B<Description:> E<lt>descripción-cortaE<gt>"

#. type: Plain text
#: deb-src-control.5:232
msgid ""
"These fields are described in the B<deb-control>(5)  manual page, as they "
"are copied literally to the control file of the binary package."
msgstr ""

#. type: TP
#: deb-src-control.5:248
#, fuzzy, no-wrap
#| msgid "B<Replaces:> E<lt>package listE<gt>"
msgid "B<Enhances:>I< package-list>"
msgstr "B<Replaces:> E<lt>lista-de-paquetesE<gt>"

#. type: Plain text
#: deb-src-control.5:270
msgid ""
"These fields declare relationships between packages. They are discussed in "
"the B<deb-control>(5)  manpage and in the B<debian-policy> package."
msgstr ""

#. type: SH
#: deb-src-control.5:271
#, fuzzy, no-wrap
#| msgid "REQUIRED FIELDS"
msgid "USER-DEFINED FIELDS"
msgstr "CAMPOS OBLIGATORIOS"

#. type: Plain text
#: deb-src-control.5:286
msgid ""
"It is allowed to add additional user-defined fields to the control file. The "
"tools will ignore these fields. If you want the fields to be copied over to "
"the output files, such as the binary packages, you need to use a custom "
"naming scheme: the fields should start with a X, followed by one or more of "
"the letters BCS and a hypen. If the letter B is used, the field will appear "
"in the control file in the binary package, see B<deb-control>(5), for the "
"letter S in the source package control file as constructed by B<dpkg-source>"
"(1)  and for the letter C in the upload control (.changes) file. Note that "
"the X[BCS]- prefixes are stripped when the fields are copied over to the "
"output files. A field B<XC-Approved-By> will appear as B<Approved-By> in the "
"changes file and will not appear in the binary or source package control "
"files."
msgstr ""

#. type: Plain text
#: deb-src-control.5:304
#, no-wrap
msgid ""
"# Comment\n"
"Source: dpkg\n"
"Section: admin\n"
"Priority: required\n"
"Maintainer: Dpkg Developers E<lt>debian-dpkg@lists.debian.orgE<gt>\n"
"# this field is copied to the binary and source packages\n"
"XBS-Upstream-Release-Status: stable\n"
"Homepage: http://wiki.debian.org/Teams/Dpkg\n"
"Vcs-Browser: http://git.debian.org/?p=dpkg/dpkg.git\n"
"Vcs-Git: git://git.debian.org/git/dpkg/dpkg.git\n"
"Standards-Version: 3.7.3\n"
"Build-Depends: pkg-config, debhelper (E<gt>= 4.1.81),\n"
" libselinux1-dev (E<gt>= 1.28-4) [!linux-any]\n"
msgstr ""

#. type: Plain text
#: deb-src-control.5:323
#, no-wrap
msgid ""
"Package: dpkg-dev\n"
"Section: utils\n"
"Priority: optional\n"
"Architecture: all\n"
"# this is a custom field in the binary package\n"
"XB-Mentoring-Contact: Raphael Hertzog E<lt>hertzog@debian.orgE<gt>\n"
"Depends: dpkg (E<gt>= 1.14.6), perl5, perl-modules, cpio (E<gt>= 2.4.2-2),\n"
" bzip2, lzma, patch (E<gt>= 2.2-1), make, binutils, libtimedate-perl\n"
"Recommends: gcc | c-compiler, build-essential\n"
"Suggests: gnupg, debian-keyring\n"
"Conflicts: dpkg-cross (E<lt>E<lt> 2.0.0), devscripts (E<lt>E<lt> 2.10.26)\n"
"Replaces: manpages-pl (E<lt>= 20051117-1)\n"
"Description: Debian package development tools\n"
" This package provides the development tools (including dpkg-source)\n"
" required to unpack, build and upload Debian source packages.\n"
" .\n"
" Most Debian source packages will require additional tools to build;\n"
" for example, most packages need make and the C compiler gcc.\n"
msgstr ""

#. type: Plain text
#: deb-src-control.5:330
#, fuzzy
#| msgid "B<deb-control>(5), B<deb>(5), B<dpkg>(1)"
msgid "B<deb-control>(5), B<deb-version>(5), B<dpkg-source>(1)"
msgstr "B<deb-control>(5), B<deb>(5), B<dpkg>(1)"

#. type: TH
#: deb-split.5:1
#, no-wrap
msgid "deb-split"
msgstr "deb-split"

#. type: TH
#: deb-split.5:1 dpkg-checkbuilddeps.1:1 dpkg-distaddfile.1:1 dpkg-split.1:2
#: dpkg-statoverride.8:1 dpkg-vendor.1:1 start-stop-daemon.8:1
#, fuzzy, no-wrap
#| msgid "2010-03-07"
msgid "2011-07-04"
msgstr "7 de Marzo de 2010"

#. type: Plain text
#: deb-split.5:4
msgid "deb-split - Debian multi-part binary package format"
msgstr "deb-split - Formato de paquete binario dividido de Debian"

# type: Plain text
#. type: Plain text
#: deb-split.5:9
msgid ""
"The multi-part B<.deb> format is used to split big packages into smaller "
"pieces to ease transport in small media."
msgstr ""
"El formato de paquete binario dividido B<.deb> se usa para dividir paquetes "
"grandes en pequeñas partes, facilitando su transferencia en dispositivos con "
"poca capacidad de almacenamiento."

#. type: Plain text
#: deb-split.5:12
msgid ""
"The file is an B<ar> archive with a magic value of B<!E<lt>archE<gt>>.  The "
"file names might contain a trailing slash (since dpkg 1.15.6)."
msgstr ""
"El fichero es un archivo B<ar> con un valor mágico de B<!E<lt>archE<gt>>. "
"Los nombres de fichero pueden contener una barra al final (a partir de la "
"versión 1.15.6 de dpkg)."

#. type: Plain text
#: deb-split.5:15
msgid ""
"The first member is named B<debian-split> and contains a series of lines, "
"separated by newlines. Currently eight lines are present:"
msgstr ""

#. type: IP
#: deb-split.5:15 deb-split.5:18 deb-split.5:20 deb-split.5:22 deb-split.5:24
#: deb-split.5:26 deb-split.5:28 deb-split.5:31 dpkg-gensymbols.1:20
#: dpkg-gensymbols.1:22 dpkg-gensymbols.1:24 dpkg-gensymbols.1:26
#: dpkg-gensymbols.1:311 dpkg-gensymbols.1:317 dpkg-gensymbols.1:351
#: dpkg-gensymbols.1:355 dpkg-gensymbols.1:358
#, no-wrap
msgid "\\(bu"
msgstr "\\(bu"

#. type: Plain text
#: deb-split.5:18
msgid ""
"The format version number, B<2.1> at the time this manual page was written."
msgstr ""

#. type: Plain text
#: deb-split.5:20
#, fuzzy
#| msgid "The source package version."
msgid "The package name."
msgstr "La versión del paquete fuente."

#. type: Plain text
#: deb-split.5:22
#, fuzzy
#| msgid "The source package version."
msgid "The package version."
msgstr "La versión del paquete fuente."

#. type: Plain text
#: deb-split.5:24
#, fuzzy
#| msgid "The source package version."
msgid "The md5sum of the package."
msgstr "La versión del paquete fuente."

#. type: Plain text
#: deb-split.5:26
#, fuzzy
#| msgid "The header line above the list of packages."
msgid "The total size of the package."
msgstr "La línea de cabecera encima de la lista de paquetes."

#. type: Plain text
#: deb-split.5:28
msgid "The maximum part size."
msgstr ""

#. type: Plain text
#: deb-split.5:31
msgid ""
"The current part number, followed by a slash and the total amount of parts "
"(as in \\(oq1/10\\(cq)."
msgstr ""

#. type: Plain text
#: deb-split.5:33
msgid "The package architecture (since dpkg 1.16.1)."
msgstr ""

# type: Plain text
#. type: Plain text
#: deb-split.5:36
msgid ""
"Programs which read multi-part archives should be prepared for additional "
"lines to be present, and should ignore these if this is the case."
msgstr ""
"Los programas que lean paquetes binarios divididos deberían estar preparados "
"en caso de encontrar nuevas líneas, e ignorarlas en caso de aparecer."

#. type: Plain text
#: deb-split.5:41
msgid ""
"If the version number has changed, an incompatible change has been made and "
"the program should stop. If it has not, then the program should be able to "
"safely continue, unless it encounters an unexpected member in the archive "
"(except at the end), as described below."
msgstr ""
"Si el número de versión mayor ha cambiado es que hay cambios incompatibles y "
"el programa se debería detener. De no ser así, se debería poder seguir sin "
"problemas, a no ser que se encuentre un miembro no esperado en el archivo "
"(excepto al final), como se describe más abajo."

#. type: Plain text
#: deb-split.5:44
#, fuzzy
#| msgid ""
#| "The second, last required member is named B<data.>N, where N denotes the "
#| "part number. It contains the raw part data."
msgid ""
"The second, last required member is named B<data.>I<N>, where I<N> denotes "
"the part number. It contains the raw part data."
msgstr ""
"El segundo y último miembro obligatorio se llama B<data.>N. «N» simboliza el "
"número de la parte y contiene los datos no procesados de la parte."

#. type: Plain text
#: deb-split.5:49
#, fuzzy
#| msgid ""
#| "These members must occur in this exact order. Current implementations "
#| "should ignore any additional members after B<data.>N.  Further members "
#| "may be defined in the future, and (if possible) will be placed after "
#| "these two."
msgid ""
"These members must occur in this exact order. Current implementations should "
"ignore any additional members after B<data.>I<N>.  Further members may be "
"defined in the future, and (if possible) will be placed after these two."
msgstr ""
"Estos miembros deben aparecer en este orden. Las implementaciones actuales "
"deberían ignorar cualquier miembro adicional después de B<data.>N. Podrán "
"definirse nuevos miembros en el futuro, y se pondrán, si es posible, después "
"de éstos dos."

#. type: Plain text
#: deb-split.5:51
msgid "B<deb>(5), B<dpkg-split>(1)."
msgstr "B<deb>(5), B<dpkg-split>(1)."

#. type: TH
#: deb-version.5:5
#, no-wrap
msgid "deb-version"
msgstr "deb-version"

#. type: Plain text
#: deb-version.5:8
msgid "deb-version - Debian package version number format"
msgstr "deb-version - Formato del número de versión de paquete de Debian"

#. type: Plain text
#: deb-version.5:11
#, fuzzy
#| msgid "[ I<epoch>:] I<upstream_version> [-I<debian_revision> ]"
msgid "[I<epoch>B<:>]I<upstream-version>[B<->I<debian-revision>]"
msgstr "[ I<epoch>:] I<versión-autor-original> [-I<revisión-debian> ]"

#. type: Plain text
#: deb-version.5:14
msgid ""
"Version numbers as used for Debian binary and source packages consist of "
"three components. These are:"
msgstr ""
"Los números de versión usados en los paquetes fuente y binarios de Debian, "
"consisten de tres componentes. Estos son:"

#. type: TP
#: deb-version.5:14
#, no-wrap
msgid "I<epoch>"
msgstr "I<epoch>"

#. type: Plain text
#: deb-version.5:20
#, fuzzy
#| msgid ""
#| "This is a single (generally small) unsigned integer.  It may be omitted, "
#| "in which case zero is assumed.  If it is omitted then the "
#| "I<upstream_version> may not contain any colons."
msgid ""
"This is a single (generally small) unsigned integer.  It may be omitted, in "
"which case zero is assumed.  If it is omitted then the I<upstream-version> "
"may not contain any colons."
msgstr ""
"Es un sólo entero sin signo (generalmente pequeño). Se puede omitir, en cuyo "
"caso se asume cero. Si se omite, I<versión-autor-original> no debe contener "
"ningún símbolo de dos puntos."

#. type: Plain text
#: deb-version.5:24
msgid ""
"It is provided to allow mistakes in the version numbers of older versions of "
"a package, and also a package's previous version numbering schemes, to be "
"left behind."
msgstr ""
"Está presente para permitir errores en los números de versiones anteriores "
"de un paquete, y también los esquemas de numeración anteriores de un "
"paquete, a desechar en un futuro."

#. type: TP
#: deb-version.5:24
#, fuzzy, no-wrap
#| msgid "I<upstream_version>"
msgid "I<upstream-version>"
msgstr "I<versión-autor-original>"

#. type: Plain text
#: deb-version.5:34
msgid ""
"This is the main part of the version number.  It is usually the version "
"number of the original (\"upstream\")  package from which the I<.deb> file "
"has been made, if this is applicable.  Usually this will be in the same "
"format as that specified by the upstream author(s); however, it may need to "
"be reformatted to fit into the package management system's format and "
"comparison scheme."
msgstr ""
"Esta es la parte principal del número de versión. Habitualmente, es igual al "
"número de versión del paquete del autor original del cual se genera el "
"fichero «.deb». Suele estar en el mismo formato que el especificado por el o "
"los autor(es) originales; sin embargo, algunas veces puede tener otro "
"formato para encajar con el formato del sistema de gestión de paquetes y el "
"esquema de comparación."

#. type: Plain text
#: deb-version.5:39
#, fuzzy
#| msgid ""
#| "The comparison behavior of the package management system with respect to "
#| "the I<upstream_version> is described below.  The I<upstream_version> "
#| "portion of the version number is mandatory."
msgid ""
"The comparison behavior of the package management system with respect to the "
"I<upstream-version> is described below. The I<upstream-version> portion of "
"the version number is mandatory."
msgstr ""
"El funcionamiento del proceso de comparación del sistema de paquetes "
"respecto a la I<versión-autor-original> se describe a continuación. La "
"sección I<versión-autor-original> es obligatoria en el número de versión."

#. type: Plain text
#: deb-version.5:48
#, fuzzy
#| msgid ""
#| "The I<upstream_version> may contain only alphanumerics (\"A-Za-z0-9\") "
#| "and the characters B<.> B<+> B<-> B<:> B<~> (full stop, plus, hyphen, "
#| "colon, tilde) and should start with a digit.  If there is no "
#| "I<debian_revision> then hyphens are not allowed; if there is no I<epoch> "
#| "then colons are not allowed."
msgid ""
"The I<upstream-version> may contain only alphanumerics (\"A-Za-z0-9\") and "
"the characters B<.> B<+> B<-> B<:> B<~> (full stop, plus, hyphen, colon, "
"tilde) and should start with a digit.  If there is no I<debian-revision> "
"then hyphens are not allowed; if there is no I<epoch> then colons are not "
"allowed."
msgstr ""
"La I<versión-autor-original> solo puede contener letras y números («A-Za-"
"z0-9») y los caracteres B<.> B<+> B<-> B<:> B<~> (punto, suma, guión, dos "
"puntos y virgulilla) y debe comenzar con un dígito. Si no existe I<revisión-"
"debian> no se permiten los guiones; si no hay I<epoch>, tampoco se permiten "
"los dos puntos."

#. type: TP
#: deb-version.5:48
#, fuzzy, no-wrap
#| msgid "I<debian_revision>"
msgid "I<debian-revision>"
msgstr "I<revisión-debian>"

#. type: Plain text
#: deb-version.5:57
#, fuzzy
#| msgid ""
#| "This part of the version number specifies the version of the Debian "
#| "package based on the upstream version.  It may contain only alphanumerics "
#| "and the characters B<+> B<.> B<~> (plus, full stop, tilde) and is "
#| "compared in the same way as the I<upstream_version> is."
msgid ""
"This part of the version number specifies the version of the Debian package "
"based on the upstream version.  It may contain only alphanumerics and the "
"characters B<+> B<.> B<~> (plus, full stop, tilde) and is compared in the "
"same way as the I<upstream-version> is."
msgstr ""
"Esta parte del número de versión define la versión del paquete de Debian en "
"base a la versión del desarrollador original. Sólo puede contener caracteres "
"alfanuméricos, además de los caracteres B<+> B<.> B<~> (más, punto, "
"virgulilla) y se compara de la misma manera que se compara I<versión-autor-"
"original>."

#. type: Plain text
#: deb-version.5:64
#, fuzzy
#| msgid ""
#| "It is optional; if it isn't present then the I<upstream_version> may not "
#| "contain a hyphen.  This format represents the case where a piece of "
#| "software was written specifically to be turned into a Debian package, and "
#| "so there is only one \"debianisation\" of it and therefore no revision "
#| "indication is required."
msgid ""
"It is optional; if it isn't present then the I<upstream-version> may not "
"contain a hyphen.  This format represents the case where a piece of software "
"was written specifically to be turned into a Debian package, and so there is "
"only one \"debianisation\" of it and therefore no revision indication is "
"required."
msgstr ""
"Es opcional; si no está presente I<versión-autor-original> no puede contener "
"un guión. Este formato representa el caso en el que un programa fue escrito "
"específicamente para ser un paquete de Debian, y por ello sólo existe una "
"«debianización» del mismo. En este caso no se requiere un número de revisión."

#. type: Plain text
#: deb-version.5:68
#, fuzzy
#| msgid ""
#| "It is conventional to restart the I<debian_revision> at '1' each time "
#| "time the I<upstream_version> is increased."
msgid ""
"It is conventional to restart the I<debian-revision> at '1' each time time "
"the I<upstream-version> is increased."
msgstr ""
"Por lo general la I<revisón-debian> se reinicia con «1» cada vez que crece "
"la I<versión-autor-original>."

#. type: Plain text
#: deb-version.5:76
#, fuzzy
#| msgid ""
#| "Dpkg will break the version number apart at the last hyphen in the string "
#| "(if there is one) to determine the I<upstream_version> and "
#| "I<debian_revision>.  The absence of a I<debian_revision> compares earlier "
#| "than the presence of one (but note that the I<debian_revision> is the "
#| "least significant part of the version number)."
msgid ""
"Dpkg will break the version number apart at the last hyphen in the string "
"(if there is one) to determine the I<upstream-version> and I<debian-"
"revision>. The absence of a I<debian-revision> compares earlier than the "
"presence of one (but note that the I<debian-revision> is the least "
"significant part of the version number)."
msgstr ""
"Dpkg separará el número de versión en el último guión en la cadena (si hay "
"alguno) para determinar la I<versión-autor-original> y la I<revisión-"
"debian>. La ausencia de I<revisión-debian> se verifica antes que la "
"presencia de la misma (pero tenga en cuenta que I<revisión-debian> es la "
"parte menos significativa del número de versión)."

#. type: SS
#: deb-version.5:76
#, no-wrap
msgid "Sorting Algorithm"
msgstr "Algoritmo de ordenación"

#. type: Plain text
#: deb-version.5:80
#, fuzzy
#| msgid ""
#| "The I<upstream_version> and I<debian_revision> parts are compared by the "
#| "package management system using the same algorithm:"
msgid ""
"The I<upstream-version> and I<debian-revision> parts are compared by the "
"package management system using the same algorithm:"
msgstr ""
"Las partes I<revisión-autor-original> y I<revisión-debian> se comparan con "
"el sistema de gestión de paquetes usando el mismo algoritmo:"

#. type: Plain text
#: deb-version.5:82
msgid "The strings are compared from left to right."
msgstr "Las cadenas se comparan de izquierda a derecha."

#. type: Plain text
#: deb-version.5:92
msgid ""
"First the initial part of each string consisting entirely of non-digit "
"characters is determined.  These two parts (one of which may be empty) are "
"compared lexically.  If a difference is found it is returned.  The lexical "
"comparison is a comparison of ASCII values modified so that all the letters "
"sort earlier than all the non-letters and so that a tilde sorts before "
"anything, even the end of a part.  For example, the following parts are in "
"sorted order: '~~', '~~a', '~', the empty part, 'a'."
msgstr ""
"Primero se determina la parte inicial de cada cadena que consiste sólo de "
"caracteres no numéricos. Esas dos partes (una de las cuales puede estar "
"vacía) se comparan léxicamente. Si se encuentra una diferencia, se devuelve. "
"La comparación léxica es una comparación de valores ASCII modificado para "
"que todas las letras se ordenen antes que los caracteres que no son letras, "
"de manera que la virgulilla aparezca en primer lugar, incluso antes que el "
"fin de una sección. Por ejemplo, las siguientes partes están ordenadas: "
"«~~», «~~a', «~», la sección vacía, «a»."

#. type: Plain text
#: deb-version.5:100
msgid ""
"Then the initial part of the remainder of each string which consists "
"entirely of digit characters is determined.  The numerical values of these "
"two parts are compared, and any difference found is returned as the result "
"of the comparison.  For these purposes an empty string (which can only occur "
"at the end of one or both version strings being compared) counts as zero."
msgstr ""
"Tras esto, se determina la sección inicial del resto de cada cadena que "
"consiste sólo de dígitos. Los valores numéricos de estas dos secciones se "
"comparan, y cualquier diferencia encontrada se devuelve como resultado de la "
"comparación. Para este propósito, una cadena vacía (que sólo aparece al "
"final de una o de las dos cadenas comparadas) tiene un valor de cero."

#. type: Plain text
#: deb-version.5:104
msgid ""
"These two steps (comparing and removing initial non-digit strings and "
"initial digit strings) are repeated until a difference is found or both "
"strings are exhausted."
msgstr ""
"Estos dos pasos (comparar y eliminar caracteres iniciales no numéricos y "
"numéricos del principio de las cadenas) se repiten hasta que se encuentre "
"una diferencia o que se hayan analizado totalmente las dos cadenas."

#. type: Plain text
#: deb-version.5:112
msgid ""
"Note that the purpose of epochs is to allow us to leave behind mistakes in "
"version numbering, and to cope with situations where the version numbering "
"scheme changes.  It is B<not> intended to cope with version numbers "
"containing strings of letters which the package management system cannot "
"interpret (such as 'ALPHA' or 'pre-'), or with silly orderings."
msgstr ""
"Tenga en cuenta que el propósito del campo I<epoch> es obviar errores en los "
"números de versión, y para hacer frente a situaciones donde se cambia el "
"esquema de numeración de versiones. B<No> está diseñado para situaciones "
"donde los números de versión tienen cadenas o letras que el gestor de "
"paquetes no puede interpretar (como «ALPHA» o ,«pre-») o con ordenamientos "
"confusos."

#. type: SH
#: deb-version.5:112 dpkg-parsechangelog.1:109
#, no-wrap
msgid "CAVEATS"
msgstr "ADVERTENCIAS"

#. type: Plain text
#: deb-version.5:116
msgid ""
"The tilde character and its special sorting properties were introduced in "
"dpkg, version 1.10 and some parts of dpkg-dev only gained support for it "
"later in the 1.10.x series."
msgstr ""
"El carácter de virgulilla (~) y sus propiedades especiales de búsqueda se "
"introdujeron en la versión 1.10 de dpkg, y algunas partes de dpkg-dev sólo "
"añadieron la compatibilidad con esto más tarde, con la serie 1.10.x"

#. type: Plain text
#: deb-version.5:120
msgid "B<deb-control>(5), B<deb>(5), B<dpkg>(1)"
msgstr "B<deb-control>(5), B<deb>(5), B<dpkg>(1)"

#. type: SH
#: deb-version.5:120 dpkg.1:783 dpkg-buildpackage.1:257 dpkg-distaddfile.1:47
#: dpkg-genchanges.1:148 dpkg-gencontrol.1:142 dpkg-gensymbols.1:460
#: dpkg-maintscript-helper.1:128 dpkg-parsechangelog.1:123
#: dpkg-shlibdeps.1:329 dpkg-source.1:730 dselect.1:451
#: start-stop-daemon.8:323 update-alternatives.8:494
#, no-wrap
msgid "AUTHORS"
msgstr "AUTORES"

#. type: Plain text
#: deb-version.5:122
msgid "Copyright \\(co 1996,1997,1998 Ian Jackson and Christian Schwarz"
msgstr "Copyright \\(co 1996,1997,1998 Ian Jackson y Christian Schwarz"

#. type: Plain text
#: deb-version.5:124 dpkg-buildpackage.1:263
msgid "Copyright \\(co 2007 Frank Lichtenheld"
msgstr "Copyright \\(co 2007 Frank Lichtenheld"

#. type: Plain text
#: deb-version.5:126 deb-substvars.5:167 dpkg-buildflags.1:273
#: dpkg-buildpackage.1:267 dpkg-checkbuilddeps.1:44 dpkg-distaddfile.1:53
#: dpkg-deb.1:269 dpkg-divert.8:139 dpkg-genchanges.1:154
#: dpkg-gencontrol.1:150 dpkg-gensymbols.1:464 dpkg-maintscript-helper.1:139
#: dpkg-mergechangelogs.1:71 dpkg-name.1:108 dpkg-parsechangelog.1:131
#: dpkg-query.1:219 dpkg-shlibdeps.1:339 dpkg-source.1:738 dpkg-split.1:227
#: dpkg-statoverride.8:91 dpkg-vendor.1:53 update-alternatives.8:501
msgid ""
"This is free software; see the GNU General Public Licence version 2 or later "
"for copying conditions. There is NO WARRANTY."
msgstr ""
"Esto es software libre; vea la versión 2 o posterior de la Licencia Pública "
"General GNU para condiciones de copia. NO hay ninguna garantía."

#. type: TH
#: deb-old.5:1
#, no-wrap
msgid "deb-old"
msgstr "deb-old"

#. type: Plain text
#: deb-old.5:4
msgid "deb-old - old style Debian binary package format"
msgstr "deb-old - Antiguo formato de paquete binario de Debian"

#. type: Plain text
#: deb-old.5:17
msgid ""
"The B<.deb> format is the Debian binary package file format. This manual "
"page describes the B<old> format, used before Debian 0.93. Please see B<deb>"
"(5)  for details of the new format."
msgstr ""
"El formato B<.deb> es el formato de fichero de paquete binario de Debian.  "
"Esta página de manual describe el formato B<antiguo>, usado previamente a la "
"versión 0.93 de Debian. Consulte el manual B<deb>(5) para más detalles sobre "
"el nuevo formato."

#. type: Plain text
#: deb-old.5:21
msgid ""
"The file is two lines of format information as ASCII text, followed by two "
"concatenated gzipped ustar files."
msgstr ""
"El fichero está formado por dos lineas con información del formato en texto "
"ASCII, seguido por dos ficheros ustar concatenados y comprimidos vía gzip."

#. type: Plain text
#: deb-old.5:25
msgid ""
"The first line is the format version number padded to 8 digits, and is "
"B<0.939000> for all old-format archives."
msgstr ""
"La primera línea indica la versión del formato completada con 0 hasta cubrir "
"8 dígitos, y es B<0.939000> para todos los archivos con formato antiguo."

#. type: Plain text
#: deb-old.5:28
msgid ""
"The second line is a decimal string (without leading zeroes) giving the "
"length of the first gzipped tarfile."
msgstr ""
"La segunda línea es un número decimal (sin ceros precedentes) que indica el "
"tamaño del primer fichero tar comprimido con gzip."

#. type: Plain text
#: deb-old.5:30
msgid "Each of these lines is terminated with a single newline character."
msgstr "Cada línea finaliza con un único carácter de nueva línea."

#. type: Plain text
#: deb-old.5:35
msgid ""
"The first tarfile contains the control information, as a series of ordinary "
"files. The file B<control> must be present, as it contains the core control "
"information."
msgstr ""
"El primer fichero tar contiene la información de control como un conjunto de "
"ficheros comunes. El fichero B<control> debe estar presente, ya que contiene "
"la información de control básica."

#. type: Plain text
#: deb-old.5:46
msgid ""
"In some very old archives, the files in the control tarfile may optionally "
"be in a B<DEBIAN> subdirectory. In that case, the B<DEBIAN> subdirectory "
"will be in the control tarfile too, and the control tarfile will have only "
"files in that directory. Optionally the control tarfile may contain an entry "
"for `B<.>', that is, the current directory."
msgstr ""
"En algunos archivos muy antiguos, los ficheros de control en el fichero tar "
"pueden estar opcionalmente en un subdirectorio B<DEBIAN>. En este caso, el "
"subdirectorio B<DEBIAN> estará también en el fichero tar de control, y el "
"fichero tar de control tendrá solamente archivos en este directorio. De "
"forma opcional, el fichero tar podrá contener una entrada para «B<.>», esto "
"es, el directorio actual."

#. type: Plain text
#: deb-old.5:50
msgid ""
"The second gzipped tarfile is the filesystem archive, containing pathnames "
"relative to the root directory of the system to be installed on. The "
"pathnames do not have leading slashes."
msgstr ""
"El segundo fichero tar comprimido con gzip es el archivo del sistema de "
"ficheros, que contiene las rutas relativas al directorio raíz del sistema "
"donde se instalará. Los nombres de ruta no tienen barras precedentes."

#. type: Plain text
#: deb-old.5:54
msgid "B<deb>(5), B<dpkg-deb>(1), B<deb-control>(5)."
msgstr "B<deb>(5), B<dpkg-deb>(1), B<deb-control>(5)."

#. type: TH
#: deb-override.5:15
#, no-wrap
msgid "deb-override"
msgstr "deb-override"

#. type: TH
#: deb-override.5:15 deb-extra-override.5:1 deb-shlibs.5:16 deb-substvars.5:2
#: deb-symbols.5:2 deb-triggers.5:1 dpkg-architecture.1:1
#: dpkg-buildpackage.1:1 dpkg-checkbuilddeps.1:1 dpkg-distaddfile.1:1
#: dpkg-divert.8:1 dpkg-genchanges.1:1 dpkg-gencontrol.1:1 dpkg-gensymbols.1:2
#: dpkg-name.1:6 dpkg-parsechangelog.1:1 dpkg-scanpackages.1:15
#: dpkg-scansources.1:1 dpkg-shlibdeps.1:1 dpkg-source.1:2 dpkg-split.1:2
#: dpkg-statoverride.8:1 start-stop-daemon.8:1 update-alternatives.8:8
#, no-wrap
msgid "dpkg utilities"
msgstr "Herramientas de dpkg"

#. type: Plain text
#: deb-override.5:18
msgid "deb-override - Debian archive override file"
msgstr "deb-override - Fichero de sustituciones de archivo de Debian"

#. type: Plain text
#: deb-override.5:21 deb-extra-override.5:7
msgid "override"
msgstr "override"

#. type: Plain text
#: deb-override.5:27
msgid ""
"While most information about a package can be found in the control file, "
"some is managed centrally by the distribution czars rather than by the "
"maintainer in order to offer some global consistency.  This information is "
"found in the override file."
msgstr ""
"Mientras que la mayoría de la información acerca de los paquetes se "
"encuentra en el fichero de control parte de esta información se debe "
"rellenar por los encargados de planificar la distribución, en lugar de los "
"responsables de los paquetes, ofreciendo así una mayor consistencia global. "
"Esta información se encuentra en el fichero «override» (sustitución)."

#. type: Plain text
#: deb-override.5:31
msgid ""
"The override file has a simple whitespace-delimited format. Comments are "
"allowed (denoted with a B<#>)."
msgstr ""
"El fichero «override» tiene un formato simple, delimitado por espacios en "
"blanco. Se permiten comentarios precedidos de B<#>."

#. type: Plain text
#: deb-override.5:37
msgid "I<package> I<priority> I<section> [I<maintainerinfo>]"
msgstr "I<paquete> I<prioridad> I<sección> [I<información-del-mantenedor>]"

#. type: Plain text
#: deb-override.5:42
msgid ""
"I<package> is the name of the package. Entries in the override file for "
"packages not found in the tree of binary packages are ignored."
msgstr ""
"I<paquete> El nombre del paquete. Se ignorarán las entradas en el fichero "
"«override» de paquetes no encontrados en el árbol de paquetes binarios."

#. type: Plain text
#: deb-override.5:48
msgid ""
"I<priority> and I<section> correspond to the respective control fields "
"available in the .deb. The allowed values are listed in the Debian policy."
msgstr ""
"I<prioridad> y I<sección> se corresponden con sus respectivos campos de "
"control disponibles en el «.deb». Los valores permitidos se listan en el "
"Manual de Normas de Debian."

#. type: Plain text
#: deb-override.5:56
msgid ""
"I<maintainerinfo>, if present, can be either the name of a maintainer for an "
"unconditional override, or else I<oldmaintainer> B<=E<gt>> I<newmaintainer> "
"to perform a substitution."
msgstr ""
"De estar presente I<información-del-mantenedor>, puede ser el nombre del "
"responsable de un «override» incondicional, o bien I<antiguo-mantenedor> "
"B<=E<gt>> I<nuevo-mantenedor> para hacer una sustitución."

#. type: Plain text
#: deb-override.5:61
msgid ""
"The override files used to make the official Packages lists may be found in "
"the I<indices> directory on any Debian mirror."
msgstr ""
"Puede encontrar los ficheros «override» que se usan para hacer las listas "
"«Packages» oficiales en el directorio «I<indices>» de cualquier réplica de "
"Debian."

#. type: Plain text
#: deb-override.5:66
msgid ""
"B<dpkg-scanpackages>(1), B<dpkg-scansources>(1), B<apt-ftparchive>(1), B</"
"usr/share/doc/debian-policy/policy.html/index.html>."
msgstr ""
"B<dpkg-scanpackages>(1), B<dpkg-scansources>(1), B<apt-ftparchive>(1), B</"
"usr/share/doc/debian-policy/policy.html/index.html>."

#. type: TH
#: deb-extra-override.5:1
#, no-wrap
msgid "deb-extra-override"
msgstr "deb-extra-override"

#. type: TH
#: deb-extra-override.5:1
#, no-wrap
msgid "2009-08-16"
msgstr "16 de Agosto de 2008"

#. type: Plain text
#: deb-extra-override.5:4
msgid "deb-extra-override - Debian archive extra override file"
msgstr ""
"deb-extra-override - Fichero de sustituciones adicional de archivo de Debian"

#. type: Plain text
#: deb-extra-override.5:12
msgid ""
"While most information about a binary/source package can be found in the "
"control/.dsc file, all of it can be overridden when it's exported to "
"Packages/Sources files. The extra override file contains those overrides."
msgstr ""
"Mientras que puede encontrar la mayoría de la información de un paquete "
"binario o fuente en el fichero «control/.dsc», puede sustituir todo su "
"contenido al exportarlo a los ficheros «Packages» y «Sources». El fichero "
"«override» adicional (i.e. «override.lenny.extra.gz») contiene tales "
"sustituciones."

#. type: Plain text
#: deb-extra-override.5:16
msgid ""
"The extra override file has a simple whitespace-delimited format. Comments "
"are allowed (denoted with a B<#>)."
msgstr ""
"El fichero «override» adicional tiene un formato simple, delimitado por "
"espacios en blanco. Se permiten comentarios precedidos de B<#>."

#. type: Plain text
#: deb-extra-override.5:21
msgid "I<package> I<field-name> I<value>"
msgstr "I<paquete> I<nombre-del-campo> I<valor>"

#. type: Plain text
#: deb-extra-override.5:25
msgid "I<package> is the name of the binary/source package."
msgstr "I<paquete> es el nombre del paquete binario o fuente."

#. type: Plain text
#: deb-extra-override.5:31
msgid ""
"I<field-name> is the name of the field that is overridden.  I<value> is the "
"value to put in the field. It can contain spaces as the line is split in no "
"more than 3 columns when it's parsed."
msgstr ""
"I<nombre-del-campo> es el nombre del campo a sustituir, y I<valor> es el "
"valor a insertar en el campo. Puede contener espacios ya que la línea se "
"divide en al menos 3 columnas durante el análisis."

#. type: Plain text
#: deb-extra-override.5:36
msgid ""
"The extra override files used to make the official Packages lists may be "
"found in the I<indices> directory on any Debian mirror."
msgstr ""
"Los ficheros «override» adicionales que se usan para hacer las listas de "
"paquetes oficiales suelen encontrarse en el directorio I<indices> de "
"cualquier réplica de Debian."

#. type: Plain text
#: deb-extra-override.5:40
msgid "B<dpkg-scanpackages>(1), B<dpkg-scansources>(1), B<apt-ftparchive>(1)."
msgstr "B<dpkg-scanpackages>(1), B<dpkg-scansources>(1), B<apt-ftparchive>(1)."

#. type: TH
#: deb-shlibs.5:16
#, no-wrap
msgid "deb-shlibs"
msgstr "deb-shlibs"

#. type: TH
#: deb-shlibs.5:16
#, no-wrap
msgid "2008-02-17"
msgstr "17 de Febrero de 2009"

#. type: Plain text
#: deb-shlibs.5:19
msgid "deb-shlibs - Debian shared library information file"
msgstr ""
"deb-shlibs - Fichero de información de bibliotecas compartidas de Debian"

#. type: Plain text
#: deb-shlibs.5:29
msgid ""
"B<shlibs> files map shared library names and versions (I<sonames>)  to "
"dependencies suitable for a package control file.  There is one entry per "
"line. Blank lines are B<not> allowed.  Lines beginning with an B<#> "
"character are considered commentary, and are ignored.  All other lines must "
"have the format"
msgstr ""
"B<shlibs> crea una correlación entre los nombres y versiones de bibliotecas "
"compartidas (I<sonames>) y las dependencias, de manera adecuada para su "
"inclusión en el fichero de control del paquete. Se inserta una entrada por "
"línea, y las líneas vacías B<no> están permitidas. Las líneas que empiezan "
"con un carácter B<#> se consideran comentarios, y se ignorarán. Todas las "
"demás líneas deben seguir el formato"

#. type: Plain text
#: deb-shlibs.5:34
#, fuzzy
#| msgid "[I<type:>] I<library> I<version> I<dependencies>"
msgid "[I<type>B<:>] I<library> I<version> I<dependencies>"
msgstr "[I<tipo:>] I<biblioteca> I<versión> I<dependencias>"

#. type: Plain text
#: deb-shlibs.5:38
msgid ""
"The I<library> and I<version> fields are whitespace-delimited, but the "
"I<dependencies> field extends to the end of the line.  The I<type> field is "
"optional and normally not needed."
msgstr ""
"Los campos I<biblioteca> y I<versión> se delimitan con espacios en blanco, "
"pero el campo de las I<dependencias> se extiende hasta el fin de línea. El "
"campo I<tipo> es opcional, y habitualmente innecesario."

#. type: Plain text
#: deb-shlibs.5:40
msgid "See the Debian Policy Manual for further details."
msgstr "Consulte el Manual de Normas de Debian para más detalles."

#. type: SH
#: deb-shlibs.5:41 deb-symbols.5:43 dpkg.1:714 dpkg-architecture.1:262
#: dpkg-divert.8:91 dpkg-name.1:65 update-alternatives.8:459
#, no-wrap
msgid "EXAMPLES"
msgstr "EJEMPLOS"

#. type: Plain text
#: deb-shlibs.5:50
msgid ""
"The B<shlibs> file for a typical library package, named I<libcrunch1>, that "
"provides one library whose soname is I<libcrunch.so.1>, might read"
msgstr ""
"El aspecto de un fichero B<shlibs> para un paquete típico de bibliotecas "
"llamado I<libcrunch1>, el cual proporciona una biblioteca cuyo «soname» es "
"II<libcrunch.so.1>, podría ser"

#. type: Plain text
#: deb-shlibs.5:52
msgid "libcrunch 1 libcrunch1 (E<gt>= 1.2-1)"
msgstr "libcrunch 1 libcrunch1 (E<gt>= 1.2-1)"

#. type: Plain text
#: deb-shlibs.5:60
msgid ""
"The I<dependencies> must mention the most recent version of the package that "
"added new symbols to the library: in the above example, new symbols were "
"added to version 1.2 of I<libcrunch>.  This is not the only reason the "
"dependencies might need to be tightened; again, see the Debian Policy Manual "
"for details."
msgstr ""
"Las I<dependencias> deben mencionar la versión más reciente del paquete que "
"añadió símbolos nuevos a la biblioteca: en el ejemplo anterior, les "
"añadieron símbolos nuevos en la versión 1.2 de I<libcrunch>. Esta no es la "
"única razón por la que se deben reforzar las relaciones de dependencia; una "
"vez más, consulte el Manual de Normas de Debian para más detalles."

#. type: Plain text
#: deb-shlibs.5:63
msgid "B<dpkg-shlibdeps>(1), B<deb-symbols>(5)."
msgstr "B<dpkg-shlibdeps>(1), B<deb-symbols>(5)."

#. type: TH
#: deb-substvars.5:2
#, no-wrap
msgid "deb-substvars"
msgstr "deb-substvars"

#. type: TH
#: deb-substvars.5:2
#, no-wrap
msgid "2009-07-15"
msgstr "15 de Julio de 2009"

#. type: Plain text
#: deb-substvars.5:5
msgid "deb-substvars - Debian source substitution variables"
msgstr "deb-substvars - Sustitución de variables de fuentes de Debian"

#. type: Plain text
#: deb-substvars.5:8
msgid "substvars"
msgstr "substvars"

#. type: Plain text
#: deb-substvars.5:19
msgid ""
"Before B<dpkg-source>, B<dpkg-gencontrol> and B<dpkg-genchanges> write their "
"control information (to the source control file B<.dsc> for B<dpkg-source> "
"and to standard output for B<dpkg-gencontrol> and B<dpkg-genchanges>)  they "
"perform some variable substitutions on the output file."
msgstr ""
"Antes de que B<dpkg-source>, B<dpkg-gencontrol> y B<dpkg-genchanges> "
"escriban su información de control (al fichero B<.dsc> de control en el caso "
"de B<dpkg-source>, y a la salida estándar en el de B<dpkg-gencontrol> y "
"B<dpkg-genchanges>), realizan algunas sustituciones de variables en el "
"fichero de salida."

#. type: Plain text
#: deb-substvars.5:26
msgid ""
"A variable substitution has the form B<${>I<variable-name>B<}>.  Variable "
"names consist of alphanumerics, hyphens and colons and start with an "
"alphanumeric. Variable substitutions are performed repeatedly until none are "
"left; the full text of the field after the substitution is rescanned to look "
"for more substitutions."
msgstr ""
"Una sustitución de variable tiene la forma B<${>I<nombre-de-variable>B<}>. "
"Los nombres de variable consisten de caracteres alfanuméricos, guiones y dos "
"puntos (:), y comienzan siempre con un carácter alfanumérico. La sustitución "
"de variables se lleva a cabo repetidamente hasta que no queda ninguna; el "
"texto completo del campo tras la sustitución se revisa de nuevo en busca de "
"más sustituciones."

#. type: Plain text
#: deb-substvars.5:33
msgid ""
"After all the substitutions have been done each occurrence of the string B<"
"${}> (which is not a legal substitution) is replaced with a B<$> sign."
msgstr ""
"Después de que todas las sustituciones hayan tenido lugar, cada aparición de "
"la cadena B<${}> (que no es una sustitución legal) se reemplaza por un signo "
"B<$>."

#. type: Plain text
#: deb-substvars.5:38
msgid ""
"While variable substitution is done on all control fields, some of those "
"fields are used and needed during the build when the substitution did not "
"yet occur. That's why you can't use variables in the B<Package>, B<Source> "
"and B<Architecture> fields."
msgstr ""
"A pesar de que la sustitución de variables se realiza sobre todos los "
"campos, algunos de estos campos se usan obligatoriamente durante la "
"construcción, cuando la sustitución aún no se ha ejecutado. Por ello, no "
"puede usar variables en los campos B<Package>, B<Source> y B<Architecture>."

#. type: Plain text
#: deb-substvars.5:45
msgid ""
"Variable substitution happens on the content of the fields after they have "
"been parsed, thus if you want a variable to expand over multiple lines you "
"do not have to include a space after the newline. This is done implicitly "
"when the field is output. For example, if the variable B<${Description}> is "
"set to \"foo is bar.${Newline}foo is great.\" and if you have the following "
"field:"
msgstr ""
"La sustitución de variables se ejecuta sobre el contenido de los campos "
"después de su análisis, y por ello no necesita incluir un espacio después de "
"la nueva línea para expandir una variable sobre varias líneas. Esto se hace "
"implícitamente cuando el campo se muestra por la salida. Por ejemplo, si la "
"variable B<${Description}> está definida como «foo es bar.${Newline}foo es "
"increíble.» y tiene el siguiente campo:"

#. type: Plain text
#: deb-substvars.5:50
#, no-wrap
msgid ""
" Description: foo application\n"
"  ${Description}\n"
"  .\n"
"  More text.\n"
msgstr ""
" Description: aplicación foo\n"
"  ${Description}\n"
"  .\n"
"  Más texto.\n"

#. type: Plain text
#: deb-substvars.5:52
msgid "It will result in:"
msgstr "El resultado sería:"

#. type: Plain text
#: deb-substvars.5:58
#, no-wrap
msgid ""
" Description: foo application\n"
"  foo is bar.\n"
"  foo is great.\n"
"  .\n"
"  More text.\n"
msgstr ""
" Description: aplicación foo\n"
"  foo es bar.\n"
"  foo es increíble.\n"
"  .\n"
"  Más texto.\n"

#. type: Plain text
#: deb-substvars.5:71
msgid ""
"Variables can be set using the B<-V> common option. They can be also "
"specified in the file B<debian/substvars> (or whatever other file is "
"specified using the B<-T> option). This file consists of lines of the form "
"I<name>B<=>I<value>.  Trailing whitespace on each line, blank lines, and "
"lines starting with a B<#> symbol (comments) are ignored."
msgstr ""
"Las variables se pueden definir usando la opción común B<-V>. También se "
"pueden especificar en el fichero B<debian/substvars> (u otro fichero "
"especificado mediante la opción B<-T>). Este fichero consiste de líneas con "
"la forma I<nombre>B<=>I<valor>. Los caracteres en blanco al final de cada "
"línea, las líneas vacías y las líneas que comiencen con el símbolo B<#> "
"(comentarios) son ignorados."

#. type: Plain text
#: deb-substvars.5:73
msgid "Additionally, the following standard variables are available:"
msgstr ""
"De manera adicional, las siguientes variables estándar están disponibles:"

#. type: TP
#: deb-substvars.5:73
#, no-wrap
msgid "B<Arch>"
msgstr "B<Arch>"

#. type: Plain text
#: deb-substvars.5:77
msgid "The current build architecture (from B<dpkg --print-architecture>)."
msgstr ""
"La arquitectura de construcción actual (de B<dpkg --print-architecture>)."

#. type: TP
#: deb-substvars.5:77
#, no-wrap
msgid "B<source:Version>"
msgstr "B<source:Version>"

#. type: Plain text
#: deb-substvars.5:80
msgid "The source package version."
msgstr "La versión del paquete fuente."

#. type: TP
#: deb-substvars.5:80
#, no-wrap
msgid "B<source:Upstream-Version>"
msgstr "B<source:Upstream-Version>"

#. type: Plain text
#: deb-substvars.5:84
msgid ""
"The upstream source package version, including the Debian version epoch if "
"any."
msgstr ""
"La versión del paquete del autor original, incluyendo la versión «epoch» de "
"Debian, de existir."

#. type: TP
#: deb-substvars.5:84
#, no-wrap
msgid "B<binary:Version>"
msgstr "B<binary:Version>"

#. type: Plain text
#: deb-substvars.5:88
msgid ""
"The binary package version (which may differ from source:Version in a binNMU "
"for example)."
msgstr ""
"La versión del paquete binario (puede ser distinto de «source:Version», por "
"ejemplo, con un NMU binario)."

#. type: TP
#: deb-substvars.5:88
#, no-wrap
msgid "B<Source-Version>"
msgstr "B<Source-Version>"

#. type: Plain text
#: deb-substvars.5:93
msgid ""
"The source package version (from the changelog file). This variable is now "
"B<deprecated> as its meaning is different from its function, please use the "
"B<source:Version> or B<binary:Version> as appropriate."
msgstr ""
"La versión del paquete fuente (del fichero de registro de cambios). Esta "
"variable está B<obsoleta>, ya que su significado difiere de su función. Use "
"B<source:Version> o B<binary:Version> según requiera la ocasión."

#. type: TP
#: deb-substvars.5:93
#, no-wrap
msgid "B<Installed-Size>"
msgstr "B<Installed-Size>"

#. type: Plain text
#: deb-substvars.5:102
msgid ""
"The total size of the package's installed files. This value is copied into "
"the corresponding control file field; setting it will modify the value of "
"that field. If this variable isn't set B<dpkg-gencontrol> will use B<du -k "
"debian/tmp> to find the default value."
msgstr ""
"El tamaño total de los ficheros del paquete ya instalado. Este valor se "
"copia al campo del fichero de control correspondiente; definirlo modifica el "
"valor de dicho campo. Si la variable no está definida, B<dpkg-gencontrol> "
"usará B<du -k debian/tmp> para hallar el valor predefinido."

#. type: TP
#: deb-substvars.5:102
#, no-wrap
msgid "B<Extra-Size>"
msgstr "B<Extra-Size>"

#. type: Plain text
#: deb-substvars.5:111
msgid ""
"Additional disk space used when the package is installed. If this variable "
"is set its value is added to that of the B<Installed-Size> variable (whether "
"set explicitly or using the default value) before it is copied into the "
"B<Installed-Size> control file field."
msgstr ""
"El espacio en disco adicional usado cuando se instala el paquete. Si se "
"define esta variable, su valor se añade al de la variable B<Installed-Size> "
"(tanto si se establece manualmente como si se usa el valor predefinido) "
"antes de copiarse al campo B<Installed-Size> del fichero de control."

#. type: TP
#: deb-substvars.5:111
#, no-wrap
msgid "B<F:>I<fieldname>"
msgstr "B<F:>I<nombre-campo>"

#. type: Plain text
#: deb-substvars.5:118
msgid ""
"The value of the output field I<fieldname> (which must be given in the "
"canonical capitalisation). Setting these variables has no effect other than "
"on places where they are expanded explicitly."
msgstr ""
"El valor de la salida del campo I<nombre-campo> (que se debe proporcionar "
"siguiendo la convención de mayúsculas y minúsculas). Definir estas variables "
"no tiene ningún efecto excepto en aquellos lugares donde se expandan "
"explícitamente."

#. type: TP
#: deb-substvars.5:118
#, no-wrap
msgid "B<Format>"
msgstr "B<Format>"

#. type: Plain text
#: deb-substvars.5:128
msgid ""
"The B<.changes> file format version generated by this version of the source "
"packaging scripts. If you set this variable the contents of the B<Format> "
"field in the B<.changes> file will change too."
msgstr ""
"El formato del fichero B<.changes> generado por esta versión de los scripts "
"de empaquetado de fuentes. Si define esta variable, el contenido del campo "
"B<Format> en el fichero B<.changes> cambiará igualmente."

#. type: TP
#: deb-substvars.5:128
#, no-wrap
msgid "B<Newline>, B<Space>, B<Tab>"
msgstr "B<Newline>, B<Space>, B<Tab>"

#. type: Plain text
#: deb-substvars.5:131
msgid "These variables each hold the corresponding character."
msgstr ""
"Estas variables contienen cada una el carácter cuyo nombre especifican en "
"inglés. Nota del traductor: Newline = Retorno de línea, Space = Espacio, Tab "
"= Tabulador."

#. type: TP
#: deb-substvars.5:131
#, no-wrap
msgid "B<shlibs:>I<dependencyfield>"
msgstr "B<shlibs:>I<campo-de-dependencia>"

#. type: Plain text
#: deb-substvars.5:135
msgid ""
"Variable settings with names of this form are generated by B<dpkg-shlibdeps>."
msgstr ""
"Las variables con nombres de esta forma se generan mediante B<dpkg-"
"shlibdeps>."

#. type: TP
#: deb-substvars.5:135
#, no-wrap
msgid "B<dpkg:Upstream-Version>"
msgstr "B<dpkg:Upstream-Version>"

#. type: Plain text
#: deb-substvars.5:138
msgid "The upstream version of dpkg."
msgstr "La versión de la fuente original de dpkg."

#. type: TP
#: deb-substvars.5:138
#, no-wrap
msgid "B<dpkg:Version>"
msgstr "B<dpkg:Version>"

#. type: Plain text
#: deb-substvars.5:141
msgid "The full version of dpkg."
msgstr "La versión completa de dpkg."

#. type: Plain text
#: deb-substvars.5:144
msgid ""
"If a variable is referred to but not defined it generates a warning and an "
"empty value is assumed."
msgstr ""
"Si se hace referencia a una variable pero no se define se genera un aviso y "
"se asume un valor vacío."

#. type: SH
#: deb-substvars.5:145 dpkg.1:627 dpkg-architecture.1:284 dpkg.cfg.5:12
#: dpkg-buildflags.1:121 dpkg-distaddfile.1:39 dpkg-divert.8:122
#: dpkg-genchanges.1:138 dpkg-gencontrol.1:128 dpkg-parsechangelog.1:115
#: dpkg-split.1:206 dpkg-statoverride.8:74 dselect.cfg.5:12
#: update-alternatives.8:360
#, no-wrap
msgid "FILES"
msgstr "FICHEROS"

#. type: TP
#: deb-substvars.5:146
#, no-wrap
msgid "B<debian/substvars>"
msgstr "B<debian/substvars>"

#. type: Plain text
#: deb-substvars.5:149
msgid "List of substitution variables and values."
msgstr "Lista de variables a sustituir y valores."

#. type: SH
#: deb-substvars.5:150 dpkg.1:780 dpkg-buildpackage.1:244 dpkg-deb.1:238
#: dpkg-name.1:86 dpkg-source.1:722 dpkg-split.1:199 dselect.1:429
#: update-alternatives.8:486
#, no-wrap
msgid "BUGS"
msgstr "FALLOS"

#. type: Plain text
#: deb-substvars.5:153 dpkg-source.1:725
msgid ""
"The point at which field overriding occurs compared to certain standard "
"output field settings is rather confused."
msgstr ""
"No está claro el punto en el cual se produce la sustitución de campos, "
"comparado con ciertas opciones de los campos de salida estándar."

#. type: Plain text
#: deb-substvars.5:160
msgid ""
"B<dpkg>(1), B<dpkg-genchanges>(1), B<dpkg-gencontrol>(1), B<dpkg-shlibdeps>"
"(1), B<dpkg-source>(1)."
msgstr ""
"B<dpkg>(1), B<dpkg-genchanges>(1), B<dpkg-gencontrol>(1), B<dpkg-shlibdeps>"
"(1), B<dpkg-source>(1)."

#. type: SH
#: deb-substvars.5:161 dpkg-architecture.1:303 dpkg.cfg.5:19
#: dpkg-buildflags.1:266 dpkg-checkbuilddeps.1:40 dpkg-deb.1:265
#: dpkg-divert.8:135 dpkg-mergechangelogs.1:66 dpkg-name.1:104
#: dpkg-query.1:214 dpkg-scansources.1:76 dpkg-split.1:223
#: dpkg-statoverride.8:87 dpkg-vendor.1:48 dselect.cfg.5:19
#, no-wrap
msgid "AUTHOR"
msgstr "AUTOR"

#. type: Plain text
#: deb-substvars.5:163 dpkg-buildpackage.1:259 dpkg-distaddfile.1:49
#: dpkg-deb.1:267 dpkg-genchanges.1:150 dpkg-gencontrol.1:144
#: dpkg-parsechangelog.1:125 dpkg-shlibdeps.1:331 dpkg-source.1:732
#: dpkg-split.1:225
msgid "Copyright \\(co 1995-1996 Ian Jackson"
msgstr "Copyright \\(co 1995-1996 Ian Jackson"

#. type: Plain text
#: deb-substvars.5:165 dpkg-buildpackage.1:261 dpkg-distaddfile.1:51
#: dpkg-genchanges.1:152 dpkg-gencontrol.1:146 dpkg-parsechangelog.1:127
#: dpkg-shlibdeps.1:333 dpkg-source.1:734 dpkg-statoverride.8:89
msgid "Copyright \\(co 2000 Wichert Akkerman"
msgstr "Copyright \\(co 2000 Wichert Akkerman"

#. type: TH
#: deb-symbols.5:2
#, no-wrap
msgid "deb-symbols"
msgstr "deb-symbols"

#. type: Plain text
#: deb-symbols.5:5
msgid "deb-symbols - Debian's extended shared library information file"
msgstr ""
"deb-symbols - Fichero de Debian de información extendida de bibliotecas "
"compartidas"

#. type: Plain text
#: deb-symbols.5:8
msgid "symbols"
msgstr "symbols"

#. type: Plain text
#: deb-symbols.5:12
msgid ""
"The format for an extended shared library dependency information entry in "
"these files is:"
msgstr ""
"El formato de una entrada de información de dependencia de una biblioteca "
"compartida en estos ficheros es el siguiente:"

#. type: Plain text
#: deb-symbols.5:14
#, fuzzy
#| msgid "E<lt>library sonameE<gt> E<lt>main dependency templateE<gt>"
msgid "I<library-soname main-dependency-template>"
msgstr "E<lt>soname-bibliotecaE<gt> E<lt>plantilla-dependencia-principalE<gt>"

#. type: Plain text
#: deb-symbols.5:16
#, fuzzy
#| msgid "[ | E<lt>alternative dependency templateE<gt> ]"
msgid "[ | I<alternative-dependency-template> ]"
msgstr "[ | E<lt>plantilla-dependencia-alternativaE<gt> ]"

#. type: Plain text
#: deb-symbols.5:18
msgid "[ ... ]"
msgstr "[ ... ]"

#. type: Plain text
#: deb-symbols.5:20
#, fuzzy
#| msgid "[ * E<lt>field-nameE<gt>: E<lt>field valueE<gt> ]"
msgid "[ * I<field-name>: I<field-value> ]"
msgstr "[ * E<lt>nombre-campoE<gt>: E<lt>valor-campoE<gt> ]"

#. type: Plain text
#: deb-symbols.5:23
#, fuzzy, no-wrap
#| msgid ""
#| "[ ... ]\n"
#| " E<lt>symbolE<gt> E<lt>minimal versionE<gt>[ E<lt>id of dependency templateE<gt> ]\n"
msgid ""
"[ ... ]\n"
" I<symbol> I<minimal-version>[ I<id-of-dependency-template> ]\n"
msgstr ""
"[ ... ]\n"
" E<lt>símboloE<gt> E<lt>versión-mínimaE<gt>[ E<lt>identificador-plantilla-dependenciaE<gt> ]\n"

#. type: Plain text
#: deb-symbols.5:29
#, fuzzy
#| msgid ""
#| "The I<library soname> is exactly the value of the SONAME field as "
#| "exported by B<objdump>(1). A I<dependency template> is a dependency where "
#| "I<#MINVER#> is dynamically replaced either by a version check like "
#| "\"(E<gt>= I<minimal version>)\" or by nothing (if an unversioned "
#| "dependency is deemed sufficient)."
msgid ""
"The I<library-soname> is exactly the value of the SONAME field as exported "
"by B<objdump>(1). A I<dependency-template> is a dependency where I<#MINVER#> "
"is dynamically replaced either by a version check like \"(E<gt>= I<minimal-"
"version>)\" or by nothing (if an unversioned dependency is deemed "
"sufficient)."
msgstr ""
"La variable I<soname-biblioteca> es exactamente el valor del campo «SONAME» "
"tal y como exporta B<objdump>(1). Una I<plantilla-dependencia> es una "
"dependencia en la que I<#MINVER#> (versión mínima) se reemplaza "
"dinámicamente bien por una revisión de la versión como «(E<gt>= I<minimal "
"version>)», o nada, si se considera que es suficiente una dependencia sin "
"versión."

#. type: Plain text
#: deb-symbols.5:36
#, fuzzy
#| msgid ""
#| "Each exported I<symbol> (listed as I<name>@I<version>, with I<version> "
#| "being \"Base\" if the library is not versioned) is associated to a "
#| "I<minimal version> of its dependency template (the main dependency "
#| "template is used if I<id of dependency template> is not present). The "
#| "first alternative dependency template is numbered 1, the second one 2, "
#| "etc."
msgid ""
"Each exported I<symbol> (listed as I<name>@I<version>, with I<version> being "
"\"Base\" if the library is not versioned) is associated to a I<minimal-"
"version> of its dependency template (the main dependency template is used if "
"I<id-of-dependency-template> is not present). The first alternative "
"dependency template is numbered 1, the second one 2, etc."
msgstr ""
"Cada I<símbolo> exportado (listado como I<nombre>@I<versión>, siendo "
"I<versión> «Base» si no se definió la versión de la biblioteca ) se asocia "
"con una I<versión mínima> de su plantilla de dependencia (se usará la "
"plantilla principal de dependencia de no estar presente el I<identificador-"
"plantilla-dependencia>). La primera plantilla de dependencia alternativa se "
"numera como 1, la segunda como 2, etc."

#. type: Plain text
#: deb-symbols.5:43
#, fuzzy
#| msgid ""
#| "Each entry for a library can also have some fields of meta-information.  "
#| "Those fields are stored on lines starting with an asterisk. Currently, "
#| "the only valid field is I<Build-Depends-Package>, it indicates the name "
#| "of the \"-dev\" package associated to the library and is used by dpkg-"
#| "shlibdeps to make sure that the dependency generated is at least as "
#| "strict as the corresponding build dependency."
msgid ""
"Each entry for a library can also have some fields of meta-information.  "
"Those fields are stored on lines starting with an asterisk. Currently, the "
"only valid field is I<Build-Depends-Package>, it indicates the name of the "
"\"-dev\" package associated to the library and is used by B<dpkg-shlibdeps> "
"to make sure that the dependency generated is at least as strict as the "
"corresponding build dependency."
msgstr ""
"Cada entrada para una biblioteca puede tener también campos de meta-"
"información. Estos campos se guardan en las líneas que comienzan con un "
"asterisco. Actualmente, el único campo válido es I<Build-Depends-Package>, "
"que indica el nombre del paquete «-dev» asociado a la biblioteca, y usado "
"por dpkg-shlibdeps para asegurar que la dependencia generada es, al menos, "
"tan estricta como la dependencia de construcción correspondiente."

#. type: SS
#: deb-symbols.5:44
#, no-wrap
msgid "Simple symbols file"
msgstr "Fichero «symbols» simple"

#. type: Plain text
#: deb-symbols.5:50
#, no-wrap
msgid ""
"libftp.so.3 libftp3 #MINVER#\n"
" DefaultNetbuf@Base 3.1-1-6\n"
" FtpAccess@Base 3.1-1-6\n"
" [...]\n"
msgstr ""
"libftp.so.3 libftp3 #MINVER#\n"
" DefaultNetbuf@Base 3.1-1-6\n"
" FtpAccess@Base 3.1-1-6\n"
" [...]\n"

#. type: SS
#: deb-symbols.5:50
#, no-wrap
msgid "Advanced symbols file"
msgstr "Fichero «symbols» avanzado"

#. type: Plain text
#: deb-symbols.5:53
msgid "libGL.so.1 libgl1"
msgstr "libGL.so.1 libgl1"

#. type: Plain text
#: deb-symbols.5:55
msgid "| libgl1-mesa-glx #MINVER#"
msgstr "| libgl1-mesa-glx #MINVER#"

#. type: Plain text
#: deb-symbols.5:61
#, no-wrap
msgid ""
"* Build-Depends-Package: libgl1-mesa-dev\n"
" publicGlSymbol@Base 6.3-1\n"
" [...]\n"
" implementationSpecificSymbol@Base 6.5.2-7 1\n"
" [...]\n"
msgstr ""
"* Build-Depends-Package: libgl1-mesa-dev\n"
" publicGlSymbol@Base 6.3-1\n"
" [...]\n"
" implementationSpecificSymbol@Base 6.5.2-7 1\n"
" [...]\n"

#. type: Plain text
#: deb-symbols.5:63
msgid "B<http://wiki.debian.org/Projects/ImprovedDpkgShlibdeps>"
msgstr "B<http://wiki.debian.org/Projects/ImprovedDpkgShlibdeps>"

#. type: Plain text
#: deb-symbols.5:65
msgid "B<dpkg-shlibdeps>(1), B<dpkg-gensymbols>(1)."
msgstr "B<dpkg-shlibdeps>(1), B<dpkg-gensymbols>(1)."

#. type: TH
#: deb-triggers.5:1
#, no-wrap
msgid "deb-triggers"
msgstr "deb-triggers"

#. type: Plain text
#: deb-triggers.5:4
msgid "deb-triggers - package triggers"
msgstr "deb-triggers - Disparadores de paquetes"

#. type: Plain text
#: deb-triggers.5:7
msgid "triggers"
msgstr "disparadores"

#. type: Plain text
#: deb-triggers.5:12
msgid ""
"A package declares its relationship to some trigger(s) by including a "
"I<triggers> file in its control archive (i.e. I<DEBIAN/triggers> during "
"package creation)."
msgstr ""
"Un paquete declara su relación con algún disparador(es) incluyendo un "
"fichero I<triggers> en su archivo de control (por ejemplo, I<DEBIAN/"
"triggers> durante la creación del paquete)."

#. type: Plain text
#: deb-triggers.5:16
msgid ""
"This file contains directives, one per line. Leading and trailing whitespace "
"and everything after the first B<#> on any line will be trimmed, and empty "
"lines will be ignored."
msgstr ""
"Este fichero contiene directivas, una por línea. Los espacios vacíos "
"precedentes y a continuación, así como todo lo que aparezca después del "
"primer B<#>, se recortará, y las líneas vacías se ignorarán."

#. type: Plain text
#: deb-triggers.5:18
msgid "The trigger control directives currently supported are:"
msgstr "Las directivas de control de disparadores actualmente aceptadas son:"

#. type: Plain text
#: deb-triggers.5:22
msgid "B<interest> I<trigger-name>"
msgstr "B<interest> I<nombre-disparador>"

#. type: Plain text
#: deb-triggers.5:26
#, fuzzy
#| msgid "B<interest> I<trigger-name>"
msgid "B<interest-noawait> I<trigger-name>"
msgstr "B<interest> I<nombre-disparador>"

#. type: Plain text
#: deb-triggers.5:33
#, fuzzy
#| msgid ""
#| "Specifies that the package is interested in the named trigger. All "
#| "triggers in which a package is interested must be listed using this "
#| "directive in the triggers control file."
msgid ""
"Specifies that the package is interested in the named trigger. All triggers "
"in which a package is interested must be listed using this directive in the "
"triggers control file. The \"noawait\" variant does not put the triggering "
"packages in triggers-awaited state. This should be used when the "
"functionality provided by the trigger is not crucial."
msgstr ""
"Define que el paquete tiene un interés en el disparador nombrado. Todos los "
"disparadores por los que un paquete tiene interés se deben listar usando "
"esta directiva en el fichero de control de disparadores."

#. type: Plain text
#: deb-triggers.5:37
msgid "B<activate> I<trigger-name>"
msgstr "B<activate> I<nombre-disparador>"

#. type: Plain text
#: deb-triggers.5:41
#, fuzzy
#| msgid "B<activate> I<trigger-name>"
msgid "B<activate-noawait> I<trigger-name>"
msgstr "B<activate> I<nombre-disparador>"

#. type: Plain text
#: deb-triggers.5:50
#, fuzzy
#| msgid ""
#| "Arranges that changes to this package's state will activate the specified "
#| "trigger. The trigger will be activated at the start of the following "
#| "operations: unpack, configure, remove (including for the benefit of a "
#| "conflicting package), purge and deconfigure."
msgid ""
"Arranges that changes to this package's state will activate the specified "
"trigger. The trigger will be activated at the start of the following "
"operations: unpack, configure, remove (including for the benefit of a "
"conflicting package), purge and deconfigure.  The \"noawait\" variant does "
"not put the triggering packages in triggers-awaited state. This should be "
"used when the functionality provided by the trigger is not crucial."
msgstr ""
"Especifica que el disparador definido se activará si el estado de este "
"paquete cambia. El disparador se activará al inicio de las siguientes "
"operaciones: unpack, configure, remove (incluyendo en beneficio de un "
"paquete conflictivo), purge y deconfigure."

#. type: Plain text
#: deb-triggers.5:58
msgid ""
"If this package disappears during the unpacking of another package the "
"trigger will be activated when the disappearance is noted towards the end of "
"the unpack. Trigger processing, and transition from triggers-awaited to "
"installed, does not cause activations.  In the case of unpack, triggers "
"mentioned in both the old and new versions of the package will be activated."
msgstr ""
"Si este paquete desaparece al desempaquetar otro paquete el disparador se "
"activará al detectar la desaparición, al final del desempaquetado. El "
"procesamiento de disparadores y la transición de «triggers-awaited» a "
"«installed» no provocan la activación de disparadores. En caso de procesar "
"un desempaquetado, se activarán los disparadores mencionados en las "
"versiones nuevas y viejas del paquete."

#. type: Plain text
#: deb-triggers.5:61
msgid ""
"Unknown directives are an error which will prevent installation of the "
"package."
msgstr ""
"Una directiva errónea provocará un error, impidiendo la instalación del "
"paquete."

#. type: Plain text
#: deb-triggers.5:66
msgid ""
"The \"-noawait\" variants are only supported by dpkg 1.16.1 or newer, and "
"will lead to errors if used with an older dpkg. It is thus recommended to "
"add a \"Pre-Depends: dpkg (E<gt>= 1.16.1)\" to any package that wish to use "
"those directives."
msgstr ""

#. type: Plain text
#: deb-triggers.5:70
msgid ""
"B<dpkg-trigger>(1), B<dpkg>(1), B</usr/share/doc/dpkg-dev/triggers.txt.gz>."
msgstr ""
"B<dpkg-trigger>(1), B<dpkg>(1), B</usr/share/doc/dpkg-dev/triggers.txt.gz>."

#. type: TH
#: dpkg.1:1
#, no-wrap
msgid "dpkg"
msgstr "dpkg"

#. type: TH
#: dpkg.1:1 dpkg.cfg.5:1 dpkg-buildflags.1:1 dpkg-deb.1:1
#: dpkg-maintscript-helper.1:1 dpkg-mergechangelogs.1:1 dpkg-query.1:1
#: dpkg-trigger.1:1 dpkg-vendor.1:1 dselect.cfg.5:1
#, no-wrap
msgid "dpkg suite"
msgstr "Herramientas de dpkg"

#. type: Plain text
#: dpkg.1:4
msgid "dpkg - package manager for Debian"
msgstr "dpkg - Gestor de paquetes de Debian"

#. type: Plain text
#: dpkg.1:8
#, fuzzy
#| msgid "B<dpkg> [I<options>] I<action>"
msgid "B<dpkg> [I<option>...] I<action>"
msgstr "B<dpkg> [I<opciones>] I<acción>"

#. type: SH
#: dpkg.1:9
#, no-wrap
msgid "WARNING"
msgstr "AVISO"

#. type: Plain text
#: dpkg.1:13
msgid ""
"This manual is intended for users wishing to understand B<dpkg>'s command "
"line options and package states in more detail than that provided by B<dpkg "
"--help>."
msgstr ""
"El propósito de este manual es que los usuarios entiendan las opciones de "
"invocación de B<dpkg> y el estado de los paquetes con más detalle que la que "
"ofrece B<dpkg --help>."

#. type: Plain text
#: dpkg.1:18
msgid ""
"It should I<not> be used by package maintainers wishing to understand how "
"B<dpkg> will install their packages. The descriptions of what B<dpkg> does "
"when installing and removing packages are particularly inadequate."
msgstr ""
"Los responsables de paquetes I<no> deberían usar B<dpkg --help> para "
"comprender el proceso de instalación de B<dpkg>. Las descripciones de lo que "
"hace B<dpkg> al instalar y desinstalar son particularmente imprecisas."

#. type: Plain text
#: dpkg.1:26
msgid ""
"B<dpkg> is a tool to install, build, remove and manage Debian packages. The "
"primary and more user-friendly front-end for B<dpkg> is B<aptitude>(1). "
"B<dpkg> itself is controlled entirely via command line parameters, which "
"consist of exactly one action and zero or more options. The action-parameter "
"tells B<dpkg> what to do and options control the behavior of the action in "
"some way."
msgstr ""
"B<dpkg> es una herramienta para instalar, compilar, eliminar y manipular los "
"paquetes de Debian. La interfaz principal y más intuitiva para B<dpkg> es "
"B<aptitude>(1). B<dpkg> se invoca con parámetros de línea de órdenes, que "
"consisten de una sola acción y cero o más opciones. La acción o parámetro "
"dice a B<dpkg> qué hacer, mientras que las opciones controlan de una manera "
"u otra su comportamiento."

#. type: Plain text
#: dpkg.1:33
msgid ""
"B<dpkg> can also be used as a front-end to B<dpkg-deb>(1) and B<dpkg-query>"
"(1). The list of supported actions can be found later on in the B<ACTIONS> "
"section. If any such action is encountered B<dpkg> just runs B<dpkg-deb> or "
"B<dpkg-query> with the parameters given to it, but no specific options are "
"currently passed to them, to use any such option the back-ends need to be "
"called directly."
msgstr ""

#. type: SH
#: dpkg.1:34
#, no-wrap
msgid "INFORMATION ABOUT PACKAGES"
msgstr "INFORMACIÓN SOBRE PAQUETES"

#. type: Plain text
#: dpkg.1:39
msgid ""
"B<dpkg> maintains some usable information about available packages. The "
"information is divided in three classes: B<states>, B<selection states> and "
"B<flags>. These values are intended to be changed mainly with B<dselect>."
msgstr ""
"B<dpkg> posibilita el acceso a bastante información sobre los paquetes "
"disponibles. Esta información se divide en tres clases: B<estados>, "
"B<estados de selección> e B<indicadores>. Habitualmente, estos valores se "
"modifican principalmente con B<dselect>."

#. type: SS
#: dpkg.1:39
#, no-wrap
msgid "PACKAGE STATES"
msgstr "ESTADOS DEL PAQUETE"

#. type: TP
#: dpkg.1:40
#, no-wrap
msgid "B<not-installed>"
msgstr "B<not-installed>"

#. type: Plain text
#: dpkg.1:43
msgid "The package is not installed on your system."
msgstr "El paquete no está instalado en el sistema."

#. type: TP
#: dpkg.1:43
#, no-wrap
msgid "B<config-files>"
msgstr "B<config-files>"

#. type: Plain text
#: dpkg.1:46
msgid "Only the configuration files of the package exist on the system."
msgstr "Sólo quedan los ficheros de configuración del paquete en el sistema."

#. type: TP
#: dpkg.1:46
#, no-wrap
msgid "B<half-installed>"
msgstr "B<half-installed>"

#. type: Plain text
#: dpkg.1:50
msgid ""
"The installation of the package has been started, but not completed for some "
"reason."
msgstr ""
"Se inició la instalación del paquete, pero no se completó por alguna razón."

#. type: TP
#: dpkg.1:50
#, no-wrap
msgid "B<unpacked>"
msgstr "B<unpacked>"

#. type: Plain text
#: dpkg.1:53
msgid "The package is unpacked, but not configured."
msgstr "El paquete está descomprimido, pero no configurado."

#. type: TP
#: dpkg.1:53
#, no-wrap
msgid "B<half-configured>"
msgstr "B<half-configured>"

#. type: Plain text
#: dpkg.1:57
msgid ""
"The package is unpacked and configuration has been started, but not yet "
"completed for some reason."
msgstr ""
"El paquete está descomprimido y la configuración se ha iniciado, pero no "
"finalizó por alguna razón."

#. type: TP
#: dpkg.1:57
#, no-wrap
msgid "B<triggers-awaited>"
msgstr "B<triggers-awaited>"

#. type: Plain text
#: dpkg.1:60
msgid "The package awaits trigger processing by another package."
msgstr "El paquete aguarda al proceso de los disparadores de otro paquete."

#. type: TP
#: dpkg.1:60
#, no-wrap
msgid "B<triggers-pending>"
msgstr "B<triggers-pending>"

#. type: Plain text
#: dpkg.1:63
msgid "The package has been triggered."
msgstr "Los disparadores del paquete se han activado."

#. type: TP
#: dpkg.1:63
#, no-wrap
msgid "B<installed>"
msgstr "B<installed>"

#. type: Plain text
#: dpkg.1:66
msgid "The package is unpacked and configured OK."
msgstr "El paquete está correctamente desempaquetado y configurado."

#. type: SS
#: dpkg.1:66
#, no-wrap
msgid "PACKAGE SELECTION STATES"
msgstr "ESTADOS DE SELECCIÓN DEL PAQUETE"

#. type: TP
#: dpkg.1:67
#, no-wrap
msgid "B<install>"
msgstr "B<install>"

#. type: Plain text
#: dpkg.1:70
msgid "The package is selected for installation."
msgstr "El paquete se ha seleccionado para su instalación."

#. type: TP
#: dpkg.1:70
#, no-wrap
msgid "B<hold>"
msgstr "B<hold>"

#. type: Plain text
#: dpkg.1:74
msgid ""
"A package marked to be on B<hold> is not handled by B<dpkg>, unless forced "
"to do that with option B<--force-hold>."
msgstr ""
"B<dpkg> no modificará un paquete marcado con B<hold> (retenido), a no ser "
"que se le fuerce a ello con la opción B<--force-hold>."

#. type: TP
#: dpkg.1:74
#, no-wrap
msgid "B<deinstall>"
msgstr "B<deinstall>"

#. type: Plain text
#: dpkg.1:78
msgid ""
"The package is selected for deinstallation (i.e. we want to remove all "
"files, except configuration files)."
msgstr ""
"El paquete se ha seleccionado para su desinstalación (es decir, que queremos "
"borrar todo excepto los ficheros de configuración)."

#. type: TP
#: dpkg.1:78
#, no-wrap
msgid "B<purge>"
msgstr "B<purge>"

#. type: Plain text
#: dpkg.1:82
msgid ""
"The package is selected to be purged (i.e. we want to remove everything from "
"system directories, even configuration files)."
msgstr ""
"El paquete se ha seleccionado para que se purgue (es decir, que queremos "
"borrar todo en los directorios del sistema, incluyendo los ficheros de "
"configuración)."

#. type: SS
#: dpkg.1:82
#, no-wrap
msgid "PACKAGE FLAGS"
msgstr "INDICADORES DEL PAQUETE"

#. type: TP
#: dpkg.1:83
#, no-wrap
msgid "B<reinst-required>"
msgstr "B<reinst-required>"

#. type: Plain text
#: dpkg.1:88
msgid ""
"A package marked B<reinst-required> is broken and requires reinstallation. "
"These packages cannot be removed, unless forced with option B<--force-remove-"
"reinstreq>."
msgstr ""
"Un paquete marcado con B<reinst-required> está roto y precisa una "
"reinstalación. Estos paquetes no se pueden borrar a no ser que fuerce la "
"acción con la opción B<--force-remove-reinstreq>."

#. type: SH
#: dpkg.1:89 dselect.1:120
#, no-wrap
msgid "ACTIONS"
msgstr "ACCIONES"

#. type: TP
#: dpkg.1:90
#, fuzzy, no-wrap
#| msgid "B<-i>, B<--install> I<package_file>..."
msgid "B<-i>, B<--install> I<package-file>..."
msgstr "B<-i>, B<--install> I<fichero-paquete>..."

#. type: Plain text
#: dpkg.1:94
#, fuzzy
#| msgid ""
#| "Install the package. If B<--recursive> or B<-R> option is specified, "
#| "I<package_file> must refer to a directory instead."
msgid ""
"Install the package. If B<--recursive> or B<-R> option is specified, "
"I<package-file> must refer to a directory instead."
msgstr ""
"Instala el paquete. Si se especifica la opción B<--recursive> o B<-R>, el "
"I<fichero-paquete> debe ser un directorio."

#. type: Plain text
#: dpkg.1:96
msgid "Installation consists of the following steps:"
msgstr "La instalación consiste de los siguientes pasos:"

#. type: Plain text
#: dpkg.1:99
msgid "B<1.> Extract the control files of the new package."
msgstr "B<1.> Extracción de los ficheros de control del paquete nuevo."

#. type: Plain text
#: dpkg.1:103
msgid ""
"B<2.> If another version of the same package was installed before the new "
"installation, execute I<prerm> script of the old package."
msgstr ""
"B<2.> De existir otra versión del mismo paquete en el sistema, se ejecuta el "
"script I<prerm> (pre-eliminación) del antiguo paquete."

#. type: Plain text
#: dpkg.1:106
msgid "B<3.> Run I<preinst> script, if provided by the package."
msgstr ""
"B<3.> Ejecución del script I<preinst> (pre-instalación) del paquete, de "
"existir."

#. type: Plain text
#: dpkg.1:110
msgid ""
"B<4.> Unpack the new files, and at the same time back up the old files, so "
"that if something goes wrong, they can be restored."
msgstr ""
"B<4.> Desempaquetado de los nuevos ficheros, a la vez que se crea una copia "
"de seguridad de los antiguos para su restauración en caso de fallo."

#. type: Plain text
#: dpkg.1:117
msgid ""
"B<5.> If another version of the same package was installed before the new "
"installation, execute the I<postrm> script of the old package. Note that "
"this script is executed after the I<preinst> script of the new package, "
"because new files are written at the same time old files are removed."
msgstr ""
"B<5.> De existir otra versión del mismo paquete previamente instalado en el "
"sistema, se ejecutará el script I<postrm> (post-eliminación) del paquete "
"antiguo. Tenga en cuenta que este script se ejecuta después del script "
"I<preinst> del paquete nuevo ya que los nuevos ficheros se escriben a la vez "
"que se borran los antiguos."

#. type: Plain text
#: dpkg.1:121
msgid ""
"B<6.> Configure the package. See B<--configure> for detailed information "
"about how this is done."
msgstr ""
"B<6.> Configuración del paquete. Para una información detallada sobre este "
"proceso, consulte B<--configure>."

#. type: TP
#: dpkg.1:121
#, fuzzy, no-wrap
#| msgid "B<--unpack >I<package_file>..."
msgid "B<--unpack >I<package-file>..."
msgstr "B<--unpack >I<fichero-paquete> ..."

#. type: Plain text
#: dpkg.1:126
#, fuzzy
#| msgid ""
#| "Unpack the package, but don't configure it. If B<--recursive> or B<-R> "
#| "option is specified, I<package_file> must refer to a directory instead."
msgid ""
"Unpack the package, but don't configure it. If B<--recursive> or B<-R> "
"option is specified, I<package-file> must refer to a directory instead."
msgstr ""
"Desempaqueta el paquete, pero no lo configura. Si se introducen las opciones "
"B<--recursive> o B<-R> el I<fichero-paquete> debe ser un directorio."

#. type: TP
#: dpkg.1:126
#, no-wrap
msgid "B<--configure >I<package>...|B<-a>|B<--pending>"
msgstr "B<--configure >I<paquete>...|B<-a>|B<--pending>"

#. type: Plain text
#: dpkg.1:131
msgid ""
"Configure a package which has been unpacked but not yet configured.  If B<-"
"a> or B<--pending> is given instead of I<package>, all unpacked but "
"unconfigured packages are configured."
msgstr ""
"Configura un paquete que está desempaquetado pero no configurado. Si se "
"introducen las opciones B<-a> o B<--pending> en lugar de un I<paquete>, se "
"configurarán todos los paquetes desempaquetados pero no configurados."

#. type: Plain text
#: dpkg.1:135
msgid ""
"To reconfigure a package which has already been configured, try the B<dpkg-"
"reconfigure>(8)  command instead."
msgstr ""
"Para reconfigurar un paquete que ya fue configurado, pruebe la orden B<dpkg-"
"reconfigure>(8)."

#. type: Plain text
#: dpkg.1:137
msgid "Configuring consists of the following steps:"
msgstr "La configuración consiste de los siguientes pasos:"

#. type: Plain text
#: dpkg.1:142
msgid ""
"B<1.> Unpack the conffiles, and at the same time back up the old conffiles, "
"so that they can be restored if something goes wrong."
msgstr ""
"B<1.> Desempaquetado de los ficheros de configuración «conffiles», a la vez "
"se crea una copia de seguridad de los antiguos para su restauración en caso "
"de fallo."

#. type: Plain text
#: dpkg.1:145
msgid "B<2.> Run I<postinst> script, if provided by the package."
msgstr ""
"B<2.> Ejecución del script I<postinst> (post-instalación) del paquete, si "
"existe."

#. type: TP
#: dpkg.1:145
#, no-wrap
msgid "B<--triggers-only> I<package>...|B<-a>|B<--pending>"
msgstr "B<--triggers-only> I<paquete>...|B<-a>|B<--pending>"

#. type: Plain text
#: dpkg.1:152
msgid ""
"Processes only triggers. All pending triggers will be processed. If package "
"names are supplied only those packages' triggers will be processed, exactly "
"once each where necessary. Use of this option may leave packages in the "
"improper B<triggers-awaited> and B<triggers-pending> states. This can be "
"fixed later by running: B<dpkg --configure --pending>."
msgstr ""
"Procesa sólo los disparadores. Todos los disparadores pendientes (pending) "
"se procesarán a menos que especifique el(los) paquete(s), uno por uno de ser "
"necesario. El uso de esta opción puede dejar paquetes con los estados no "
"deseados de B<triggers-awaited> y B<triggers-pending>. Puede arreglar esto "
"más tarde ejecutando B<dpkg --configure --pending>."

#. type: TP
#: dpkg.1:152
#, no-wrap
msgid "B<-r>, B<--remove>, B<-P>, B<--purge >I<package>...|B<-a>|B<--pending>"
msgstr "B<-r>, B<--remove>, B<-P>, B<--purge >I<paquete>...|B<-a>|B<--pending>"

#. type: Plain text
#: dpkg.1:169
msgid ""
"Remove an installed package. B<-r> or B<--remove> remove everything except "
"conffiles. This may avoid having to reconfigure the package if it is "
"reinstalled later. (Conffiles are configuration files that are listed in the "
"I<DEBIAN/conffiles> control file). B<-P> or B<--purge> removes everything, "
"including conffiles. If B<-a> or B<--pending> is given instead of a package "
"name, then all packages unpacked, but marked to be removed or purged in file "
"I</var/lib/dpkg/status>, are removed or purged, respectively. Note: some "
"configuration files might be unknown to B<dpkg> because they are created and "
"handled separately through the configuration scripts. In that case, B<dpkg> "
"won't remove them by itself, but the package's I<postrm> script (which is "
"called by B<dpkg>), has to take care of their removal during purge. Of "
"course, this only applies to files in system directories, not configuration "
"files written to individual users' home directories."
msgstr ""
"Elimina un paquete instalado. Las opciones B<-r> y B<--remove> eliminan todo "
"excepto los ficheros de configuración «conffiles». Esto puede evitar tener "
"que configurar de nuevo el paquete si se reinstala después (los «conffiles» "
"son ficheros de configuración listados en el fichero de control I<DEBIAN/"
"conffiles>). B<-P> o B<--purge> eliminan todo incluyendo los ficheros de "
"configuración «conffile». De usar las opciones B<-a> y B<--pending> en lugar "
"de un nombre de paquete, todos los que están al menos desempaquetados pero "
"marcados para su eliminación o purgación en I</var/lib/dpkg/status> se "
"eliminarán o purgarán respectivamente. Nota: puede que B<dpkg> desconozca "
"algunos ficheros si su creación y manipulación ocurrió aisladamente a través "
"de los scripts de configuración. De ser así, B<dpkg> no los eliminará "
"directamente sino que el script I<postrm> del paquete (invocado por B<dpkg>) "
"ejecutará la eliminación de estos ficheros durante la purgación del paquete. "
"Por supuesto, esto sólo tiene efecto en los directorios de sistema, no sobre "
"los ficheros de configuración escritos en los directorios «home/» de usuario."

#. type: Plain text
#: dpkg.1:171
msgid "Removing of a package consists of the following steps:"
msgstr "La eliminación de un paquete consiste de los siguientes pasos:"

#. type: Plain text
#: dpkg.1:174
msgid "B<1.> Run I<prerm> script"
msgstr "B<1.> Ejecución del script I<prerm>."

#. type: Plain text
#: dpkg.1:177
msgid "B<2.> Remove the installed files"
msgstr "B<2.> Eliminación de los ficheros instalados."

#. type: Plain text
#: dpkg.1:180
msgid "B<3.> Run I<postrm> script"
msgstr "B<3.> Ejecución del script I<postrm>."

#. type: TP
#: dpkg.1:181
#, no-wrap
msgid "B<--update-avail>, B<--merge-avail> I<Packages-file>"
msgstr "B<--update-avail>, B<--merge-avail> I<fichero-Packages>"

#. type: Plain text
#: dpkg.1:190
msgid ""
"Update B<dpkg>'s and B<dselect>'s idea of which packages are available. With "
"action B<--merge-avail>, old information is combined with information from "
"I<Packages-file>. With action B<--update-avail>, old information is replaced "
"with the information in the I<Packages-file>. The I<Packages-file> "
"distributed with Debian is simply named I<Packages>. B<dpkg> keeps its "
"record of available packages in I</var/lib/dpkg/available>."
msgstr ""
"Actualiza la lista de paquetes disponibles de B<dpkg> y B<dselect>. La "
"acción B<--merge-avail> combina la información antigua con la información "
"del I<fichero-Packages>. El I<fichero-Packages> distribuido con Debian se "
"llama simplemente I<Packages>. El programa B<dpkg> guarda un registro de los "
"paquetes disponibles en I</var/lib/dpkg/available>."

#. type: Plain text
#: dpkg.1:195
msgid ""
"A simpler one-shot command to retrieve and update the I<available> file is "
"B<dselect update>. Note that this file is mostly useless if you don't use "
"B<dselect> but an APT-based frontend: APT has its own system to keep track "
"of available packages."
msgstr ""
"B<dselect update> ofrece una manera sencilla y directa de obtener y "
"actualizar el fichero I<available> (disponible). Tenga en cuenta que el "
"fichero es casi inservible si usa una interfaz basada en APT en lugar de "
"B<dselect>: APT tiene su propio sistema de registrar los paquetes "
"disponibles."

#. type: TP
#: dpkg.1:195
#, fuzzy, no-wrap
#| msgid "B<-A>, B<--record-avail> I<package_file>..."
msgid "B<-A>, B<--record-avail> I<package-file>..."
msgstr "B<-A>, B<--record-avail> I<fichero-paquete>..."

#. type: Plain text
#: dpkg.1:201
#, fuzzy
#| msgid ""
#| "Update B<dpkg> and B<dselect>'s idea of which packages are available with "
#| "information from the package I<package_file>. If B<--recursive> or B<-R> "
#| "option is specified, I<package_file> must refer to a directory instead."
msgid ""
"Update B<dpkg> and B<dselect>'s idea of which packages are available with "
"information from the package I<package-file>. If B<--recursive> or B<-R> "
"option is specified, I<package-file> must refer to a directory instead."
msgstr ""
"Actualiza la lista de paquetes disponibles de B<dpkg> y B<dselect> con la "
"información del I<fichero-paquete>. Si se usa B<--recursive> o B<-R>, el "
"I<fichero-paquete> debe ser un directorio."

#. type: TP
#: dpkg.1:201
#, no-wrap
msgid "B<--forget-old-unavail>"
msgstr "B<--forget-old-unavail>"

#. type: Plain text
#: dpkg.1:205
msgid ""
"Now B<obsolete> and a no-op as B<dpkg> will automatically forget uninstalled "
"unavailable packages."
msgstr ""
"B<Obsoleta>, y una opción inservible ya que B<dpkg> olvidará automáticamente "
"los paquetes desinstalados no disponibles."

#. type: TP
#: dpkg.1:205
#, no-wrap
msgid "B<--clear-avail>"
msgstr "B<--clear-avail>"

#. type: Plain text
#: dpkg.1:208
msgid "Erase the existing information about what packages are available."
msgstr "Elimina la información sobre qué paquetes están disponibles."

#. type: TP
#: dpkg.1:208
#, no-wrap
msgid " B<-C>, B<--audit>"
msgstr " B<-C>, B<--audit>"

#. type: Plain text
#: dpkg.1:213
msgid ""
"Searches for packages that have been installed only partially on your "
"system. B<dpkg> will suggest what to do with them to get them working."
msgstr ""
"Busca paquetes que se hayan instalado parcialmente en el sistema. El "
"programa B<dpkg> sugerirá qué hacer con ellos para hacerlos funcionar."

#. type: TP
#: dpkg.1:213
#, no-wrap
msgid "B<--get-selections> [I<package-name-pattern>...]"
msgstr "B<--get-selections> [I<patrón-nombre-paquete>...]"

#. type: Plain text
#: dpkg.1:218
msgid ""
"Get list of package selections, and write it to stdout. Without a pattern, "
"non-installed packages (i.e. those which have been previously purged)  will "
"not be shown."
msgstr ""
"Muestra la lista de selecciones de paquetes por la salida estándar. De no "
"introducir un patrón se mostrará la lista de paquetes no instalados (esto "
"es, previamente purgados) ."

#. type: TP
#: dpkg.1:218 update-alternatives.8:299
#, no-wrap
msgid "B<--set-selections>"
msgstr "B<--set-selections>"

#. type: Plain text
#: dpkg.1:224
#, fuzzy
#| msgid ""
#| "Set package selections using file read from stdin. This file should be in "
#| "the format 'E<lt>packageE<gt> E<lt>stateE<gt>', where state is one of "
#| "install, hold, deinstall or purge. Blank lines and comment lines "
#| "beginning with '#' are also permitted."
msgid ""
"Set package selections using file read from stdin. This file should be in "
"the format 'I<package> I<state>', where state is one of B<install>, B<hold>, "
"B<deinstall> or B<purge>. Blank lines and comment lines beginning with '#' "
"are also permitted."
msgstr ""
"Define las selecciones de paquetes usando un fichero introducido por la "
"entrada estándar. Este fichero debería tener el formato «E<lt>paqueteE<gt> "
"E<lt>estadoE<gt>», en el que el estado es «install», «hold», «deinstall» o "
"«purge». Se permiten las líneas vacías y líneas de comentarios que empiecen "
"por «#»."

#. type: TP
#: dpkg.1:224
#, no-wrap
msgid "B<--clear-selections>"
msgstr "B<--clear-selections>"

#. type: Plain text
#: dpkg.1:229
msgid ""
"Set the requested state of every non-essential package to deinstall.  This "
"is intended to be used immediately before --set-selections, to deinstall any "
"packages not in list given to --set-selections."
msgstr ""
"Define el estado deseado de todo paquete no esencial para su desinstalación. "
"La intención es usar esto inmediatamente después de «--set-selections», para "
"desinstalar todo paquete que no esté en la lista introducida a «--set-"
"selections»."

#. type: TP
#: dpkg.1:229
#, no-wrap
msgid "B<--yet-to-unpack>"
msgstr "B<--yet-to-unpack>"

#. type: Plain text
#: dpkg.1:233
msgid ""
"Searches for packages selected for installation, but which for some reason "
"still haven't been installed."
msgstr ""
"Busca los paquetes seleccionados para su instalación, pero que por alguna "
"razón todavía no se han instalado."

#. type: TP
#: dpkg.1:234
#, no-wrap
msgid "B<--print-architecture>"
msgstr "B<--print-architecture>"

#. type: Plain text
#: dpkg.1:237
msgid ""
"Print architecture of packages B<dpkg> installs (for example, \"i386\")."
msgstr ""
"Muestra la arquitectura de los paquetes que B<dpkg> instala (por ejemplo, "
"«i386»)."

#. type: TP
#: dpkg.1:237
#, no-wrap
msgid "B<--compare-versions >I<ver1 op ver2>"
msgstr "B<--compare-versions >I<ver1 op ver2>"

#. type: Plain text
#: dpkg.1:248
msgid ""
"Compare version numbers, where I<op> is a binary operator. B<dpkg> returns "
"success (zero result) if the specified condition is satisfied, and failure "
"(nonzero result) otherwise. There are two groups of operators, which differ "
"in how they treat an empty I<ver1> or I<ver2>. These treat an empty version "
"as earlier than any version: B<lt le eq ne ge gt>. These treat an empty "
"version as later than any version: B<lt-nl le-nl ge-nl gt-nl>. These are "
"provided only for compatibility with control file syntax: B<E<lt> E<lt>E<lt> "
"E<lt>= = E<gt>= E<gt>E<gt> E<gt>>."
msgstr ""
"Compara los números de versión, siendo I<op> un operador binario. B<dpkg> "
"devuelve éxito (cero) si la condición especificada se cumple, y fallo (un "
"resultado distinto de cero) en caso contrario. Hay dos grupos de operadores "
"que difieren en su comportamiento cuando les falta alguno de los operandos, "
"I<ver1> o I<ver2>. Los primeros tratan la falta de versión como la versión "
"más antigua posible: B<lt le eq ne ge gt>. Los otros tratan la falta de "
"versión como la más moderna posible: B<lt-nl le-nl ge-nl gt-nl>. Éstos se "
"proporcionan sólo por compatibilidad con la sintaxis del fichero de control: "
"B<E<lt> E<lt>E<lt> E<lt>= = E<gt>= E<gt>E<gt> E<gt>>."

#. type: TP
#: dpkg.1:248
#, fuzzy, no-wrap
#| msgid "B<--command-fd >I<E<lt>nE<gt>>"
msgid "B<--command-fd >I<n>"
msgstr "B<--command-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg.1:253
#, fuzzy
#| msgid ""
#| "Accept a series of commands on input file descriptor I<E<lt>nE<gt>>. "
#| "Note: additional options set on the command line, and through this file "
#| "descriptor, are not reset for subsequent commands executed during the "
#| "same run."
msgid ""
"Accept a series of commands on input file descriptor I<n>. Note: additional "
"options set on the command line, and through this file descriptor, are not "
"reset for subsequent commands executed during the same run."
msgstr ""
"Acepta una serie de órdenes en el descriptor de fichero B<E<lt>nE<gt>>. "
"Nota: las opciones adicionales introducidas desde la línea de órdenes y "
"mediante este descriptor de fichero no se desactivan en las subsiguientes "
"llamadas efectuadas en la misma ejecución."

#. type: TP
#: dpkg.1:253 dpkg-architecture.1:60 dpkg-buildflags.1:89 dpkg-divert.8:71
#: dpkg-mergechangelogs.1:38 dpkg-scansources.1:66 dpkg-statoverride.8:44
#: dpkg-vendor.1:28 dselect.1:113 update-alternatives.8:316
#, no-wrap
msgid "B<--help>"
msgstr "B<--help>"

#. type: Plain text
#: dpkg.1:256
msgid "Display a brief help message."
msgstr "Muestra un resumen de las instrucciones de uso."

#. type: TP
#: dpkg.1:256
#, no-wrap
msgid "B<--force-help>"
msgstr "B<--force-help>"

#. type: Plain text
#: dpkg.1:259
msgid "Give help about the B<--force->I<thing> options."
msgstr "Muestra la ayuda de las opciones B<--force->I<algo>."

#. type: TP
#: dpkg.1:259
#, no-wrap
msgid "B<-Dh>, B<--debug=help>"
msgstr "B<-Dh>, B<--debug=help>"

#. type: Plain text
#: dpkg.1:262
msgid "Give help about debugging options."
msgstr "Muestra la ayuda de las opciones de depuración."

#. type: TP
#: dpkg.1:262 dpkg-architecture.1:63 dpkg-buildflags.1:92
#: dpkg-buildpackage.1:226 dpkg-checkbuilddeps.1:36 dpkg-distaddfile.1:35
#: dpkg-deb.1:175 dpkg-divert.8:74 dpkg-genchanges.1:134 dpkg-gencontrol.1:124
#: dpkg-gensymbols.1:446 dpkg-mergechangelogs.1:41 dpkg-parsechangelog.1:36
#: dpkg-query.1:113 dpkg-scanpackages.1:99 dpkg-scansources.1:68
#: dpkg-shlibdeps.1:218 dpkg-source.1:99 dpkg-split.1:129
#: dpkg-statoverride.8:47 dpkg-trigger.1:34 dpkg-vendor.1:31 dselect.1:116
#: update-alternatives.8:319
#, no-wrap
msgid "B<--version>"
msgstr "B<--version>"

#. type: Plain text
#: dpkg.1:265
msgid "Display B<dpkg> version information."
msgstr "Muestra la versión de B<dpkg>."

#. type: TP
#: dpkg.1:265
#, no-wrap
msgid "B<dpkg-deb actions>"
msgstr "B<dpkg-deb actions>"

#. type: Plain text
#: dpkg.1:268
msgid "See B<dpkg-deb>(1) for more information about the following actions."
msgstr ""
"Consulte B<dpkg-deb>(1) para más información sobre las siguientes acciones."

#. type: Plain text
#: dpkg.1:288
#, no-wrap
msgid ""
"B<-b>, B<--build> I<directory> [I<archive>|I<directory>]\n"
"    Build a deb package.\n"
"B<-c>, B<--contents> I<archive>\n"
"    List contents of a deb package.\n"
"B<-e>, B<--control> I<filename> [I<directory>]\n"
"    Extract control-information from a package.\n"
"B<-x>, B<--extract> I<archive directory>\n"
"    Extract the files contained by package.\n"
"B<-X>, B<--vextract> I<archive directory>\n"
"    Extract and display the filenames contained by a\n"
"    package.\n"
"B<-f>, B<--field>  I<archive> [I<control-field>...]\n"
"    Display control field(s) of a package.\n"
"B<--fsys-tarfile> I<archive>\n"
"    Display the filesystem tar-file contained by a\n"
"    Debian package.\n"
"B<-I>, B<--info> I<archive> [I<control-file>...]\n"
"    Show information about a package.\n"
msgstr ""
"B<-b> | B<--build> I<directorio> [I<fichero>]\n"
"    Construye un paquete Debian GNU/Linux.\n"
"B<-c> | B<--contents> I<fichero>\n"
"    Muestra el contenido de un paquete Debian GNU/Linux.\n"
"B<-e> | B<--control> I<fichero> [I<directorio>]\n"
"    Extrae la información de control de un paquete.\n"
"B<-x> | B<--extract> I<fichero directorio>\n"
"    Extrae los ficheros contenidos en el paquete.\n"
"B<-X>, B<--vextract> I<archive directory>\n"
"    Extrae y muestra los nombres de fichero que un\n"
"    paquete contiene.\n"
"B<-f> | B<--field>  I<fichero> [I<campo-control>] ...\n"
"    Muestra el/los campo(s) de control de un paquete.\n"
"B<--fsys-tarfile> I<fichero>\n"
"    Muestra el fichero tar contenido en el paquete deb.\n"
"B<dpkg -I> | B<--info> I<fichero> [I<fichero-control>]\n"
"    Muestra información sobre el paquete.\n"

#. type: TP
#: dpkg.1:290
#, no-wrap
msgid "B<dpkg-query actions>"
msgstr "B<dpkg-query-actions>"

#. type: Plain text
#: dpkg.1:293
msgid "See B<dpkg-query>(1) for more information about the following actions."
msgstr ""
"Consulte B<dpkg-query>(1) para más información sobre las siguientes acciones:"

#. type: Plain text
#: dpkg.1:308
#, no-wrap
msgid ""
"B<-l>, B<--list> I<package-name-pattern>...\n"
"    List packages matching given pattern.\n"
"B<-s>, B<--status> I<package-name>...\n"
"    Report status of specified package.\n"
"B<-L>, B<--listfiles> I<package-name>...\n"
"    List files installed to your system from I<package-name>.\n"
"B<-S>, B<--search> I<filename-search-pattern>...\n"
"    Search for a filename from installed packages.\n"
"B<-p>, B<--print-avail> I<package-name>...\n"
"    Display details about I<package-name>, as found in\n"
"    I</var/lib/dpkg/available>. Users of APT-based frontends\n"
"    should use B<apt-cache show> I<package-name> instead.\n"
msgstr ""
"B<-l> | B<--list> I<patrón-nombre-paquete> ...\n"
"    Lista los paquetes cuyo nombre encaja en el patrón dado.\n"
"B<-s> | B<--status> I<nombre-paquete> ...\n"
"    Informa del estado del paquete especificado.\n"
"B<-L> | B<--listfiles> I<paquete> ...\n"
"    Lista los ficheros instalados en el sistema que pertenecen a\n"
"    B<paquete>.\n"
"B<-S> | B<--search> I<patrón-búsqueda-ficheros> ...\n"
"    Busca un fichero en los paquetes instalados.\n"
"B<-p> | B<--print-avail> I<paquete> ...\n"
"    Imprime información sobre el I<paquete>, extraída de\n"
"    I</var/lib/dpkg/available>. Los usuarios de interfaces de APT\n"
"    deberían usar B<apt-cache show> I<paquete>.\n"

#. type: SH
#: dpkg.1:310 dpkg-architecture.1:67 dpkg-buildpackage.1:50
#: dpkg-checkbuilddeps.1:18 dpkg-distaddfile.1:27 dpkg-deb.1:179
#: dpkg-divert.8:42 dpkg-genchanges.1:17 dpkg-gencontrol.1:37
#: dpkg-gensymbols.1:369 dpkg-mergechangelogs.1:27 dpkg-name.1:30
#: dpkg-parsechangelog.1:15 dpkg-query.1:117 dpkg-scanpackages.1:71
#: dpkg-scansources.1:44 dpkg-shlibdeps.1:106 dpkg-split.1:133
#: dpkg-statoverride.8:51 dpkg-trigger.1:38 dpkg-vendor.1:35 dselect.1:36
#: start-stop-daemon.8:103 update-alternatives.8:323
#, no-wrap
msgid "OPTIONS"
msgstr "OPCIONES"

#. type: Plain text
#: dpkg.1:316
msgid ""
"All options can be specified both on the command line and in the B<dpkg> "
"configuration file I</etc/dpkg/dpkg.cfg> or the files on the configuration "
"directory I</etc/dpkg/dpkg.cfg.d/>. Each line in the configuration file is "
"either an option (exactly the same as the command line option but without "
"leading dashes) or a comment (if it starts with a B<#>)."
msgstr ""
"Todas las opciones se pueden definir en la línea de órdenes, en el fichero "
"de configuración de B<dpkg> I</etc/dpkg/dpkg.cfg> y en el directorio de "
"configuración I</etc/dpkg/dpkg.cfg.d/>. Cada línea de este fichero es bien "
"una opción (exactamente la misma que en la línea de órdenes, pero sin los "
"guiones al principio) o bien un comentario (si empieza con B<#>)."

#. type: TP
#: dpkg.1:317
#, no-wrap
msgid "B<--abort-after=>I<number>"
msgstr "B<--abort-after=>I<número>"

#. type: Plain text
#: dpkg.1:320
msgid "Change after how many errors B<dpkg> will abort. The default is 50."
msgstr ""
"Modifica cuántos errores llevan a B<dpkg> a interrumpir el proceso. El valor "
"por omisión es 50."

#. type: TP
#: dpkg.1:320
#, no-wrap
msgid "B<-B>, B<--auto-deconfigure>"
msgstr "B<-B>, B<--auto-deconfigure>"

#. type: Plain text
#: dpkg.1:326
msgid ""
"When a package is removed, there is a possibility that another installed "
"package depended on the removed package. Specifying this option will cause "
"automatic deconfiguration of the package which depended on the removed "
"package."
msgstr ""
"Al eliminar un paquete puede que otro dependa de él. Definir esta opción "
"producirá la desconfiguración automática del paquete que dependía del "
"paquete eliminado."

#. type: TP
#: dpkg.1:326
#, no-wrap
msgid "B<-D>I<octal>B<, --debug=>I<octal>"
msgstr "B<-D>I<octal>B<, --debug=>I<octal>"

#. type: Plain text
#: dpkg.1:332
msgid ""
"Switch debugging on. I<octal> is formed by bitwise-orring desired values "
"together from the list below (note that these values may change in future "
"releases). B<-Dh> or B<--debug=help> display these debugging values."
msgstr ""
"Activa el modo de depuración. El parámetro I<octal> se forma uniendo los "
"valores de la siguiente lista mediante la operación I<or> a nivel de bits "
"(tenga en cuenta que estos valores podrían cambiar en futuras versiones). B<-"
"Dh> o B<--debug=help> muestran estos valores."

#. type: Plain text
#: dpkg.1:347
#, fuzzy, no-wrap
#| msgid ""
#| "    number  description\n"
#| "         1   Generally helpful progress information\n"
#| "         2   Invocation and status of maintainer scripts\n"
#| "        10   Output for each file processed\n"
#| "       100   Lots of output for each file processed\n"
#| "        20   Output for each configuration file\n"
#| "       200   Lots of output for each configuration file\n"
#| "        40   Dependencies and conflicts\n"
#| "       400   Lots of dependencies/conflicts output\n"
#| "     10000   Trigger activation and processing\n"
#| "     20000   Lots of output regarding triggers\n"
#| "     40000   Silly amounts of output regarding triggers\n"
#| "      1000   Lots of drivel about e.g. the dpkg/info dir\n"
#| "      2000   Insane amounts of drivel\n"
msgid ""
"    Number   Description\n"
"         1   Generally helpful progress information\n"
"         2   Invocation and status of maintainer scripts\n"
"        10   Output for each file processed\n"
"       100   Lots of output for each file processed\n"
"        20   Output for each configuration file\n"
"       200   Lots of output for each configuration file\n"
"        40   Dependencies and conflicts\n"
"       400   Lots of dependencies/conflicts output\n"
"     10000   Trigger activation and processing\n"
"     20000   Lots of output regarding triggers\n"
"     40000   Silly amounts of output regarding triggers\n"
"      1000   Lots of drivel about e.g. the dpkg/info dir\n"
"      2000   Insane amounts of drivel\n"
msgstr ""
" número  descripción\n"
"     1   Información de progreso generalmente útil\n"
"     2   Invocación y estado de los scripts del paquete\n"
"    10   Salida por cada fichero procesado\n"
"   100   Mucha salida por cada fichero procesado\n"
"    20   Salida por cada «conffile»\n"
"   200   Mucha salida por cada «conffile»\n"
"    40   Dependencias y conflictos\n"
"   400   Mucha salida sobre dependencias y conflictos\n"
" 10000   Activación de los disparadores y procesado\n"
" 20000   Una gran información de los disparadores\n"
" 40000   Niveles ridículos de información de los disparadores\n"
"  1000   Parrafadas sobre el directorio dpkg/info\n"
"  2000   Montañas de parrafadas (perjudica la salud)\n"

#. type: TP
#: dpkg.1:347
#, no-wrap
msgid "B<--force->I<things>, B<--no-force->I<things>, B<--refuse->I<things>"
msgstr "B<--force->I<cosas>, B<--no-force->I<cosas>, B<--refuse->I<cosas>"

#. type: Plain text
#: dpkg.1:354
msgid ""
"Force or refuse (B<no-force> and B<refuse> mean the same thing)  to do some "
"things. I<things> is a comma separated list of things specified below. B<--"
"force-help> displays a message describing them.  Things marked with (*) are "
"forced by default."
msgstr ""
"Fuerza o rechaza (B<no-force> y B<refuse> significan lo mismo) hacer ciertas "
"cosas. El parámetro I<cosas> es una lista de cosas definidas a continuación "
"y separadas por comas. La opción B<--force-help> muestra un mensaje que las "
"describe. Las cosas marcadas con (*) se fuerzan por omisión."

#. type: Plain text
#: dpkg.1:358
msgid ""
"I<Warning: These options are mostly intended to be used by experts only. "
"Using them without fully understanding their effects may break your whole "
"system.>"
msgstr ""
"I<Aviso: Estas opciones están pensadas básicamente para un uso experto. "
"Usarlas sin conocer totalmente sus efectos podría dejar su sistema sin "
"funcionamiento.>"

#. type: Plain text
#: dpkg.1:361
msgid "B<all>: Turns on (or off) all force options."
msgstr "B<all>: Activa (o desactiva) todas las opciones de forzar."

#. type: Plain text
#: dpkg.1:364
msgid ""
"B<downgrade>(*): Install a package, even if newer version of it is already "
"installed."
msgstr ""
"B<downgrade>(*): Instala un paquete, incluso si ya existe una versión más "
"nueva instalada."

#. type: Plain text
#: dpkg.1:371
msgid ""
"I<Warning: At present dpkg does not do any dependency checking on downgrades "
"and therefore will not warn you if the downgrade breaks the dependency of "
"some other package. This can have serious side effects, downgrading "
"essential system components can even make your whole system unusable. Use "
"with care.>"
msgstr ""
"I<Aviso: actualmente dpkg no comprueba de ninguna manera las dependencias al "
"desactualizar y por lo tanto no avisará si rompe alguna dependencia de otro "
"paquete. Una situación así podría tener efectos secundarios graves; "
"desactualizar componentes esenciales del sistema incluso podría inutilizar "
"su sistema por completo. Úselo con cuidado.>"

#. type: Plain text
#: dpkg.1:375
msgid ""
"B<configure-any>: Configure also any unpacked but unconfigured packages on "
"which the current package depends."
msgstr ""
"B<configure-any>: Configura también los paquetes desempaquetados pero no "
"configurados sobre los que depende el paquete."

#. type: Plain text
#: dpkg.1:378
msgid "B<hold>: Process packages even when marked \"hold\"."
msgstr ""
"B<hold>: Procesa los paquetes incluso si están marcados con «hold» (retener)."

#. type: Plain text
#: dpkg.1:383
msgid ""
"B<remove-reinstreq>: Remove a package, even if it's broken and marked to "
"require reinstallation. This may, for example, cause parts of the package to "
"remain on the system, which will then be forgotten by B<dpkg>."
msgstr ""
"B<remove-reinstreq>: Elimina un paquete incluso si está roto y marcado para "
"una necesaria reinstalación. Esto podría causar, por ejemplo, que algunas "
"partes del paquete quedasen en el sistema, de las que B<dpkg> se olvidaría."

#. type: Plain text
#: dpkg.1:388
msgid ""
"B<remove-essential>: Remove, even if the package is considered essential. "
"Essential packages contain mostly very basic Unix commands. Removing them "
"might cause the whole system to stop working, so use with caution."
msgstr ""
"B<remove-essential>: Elimina, incluso si el paquete se considera esencial. "
"Los paquetes esenciales contienen principalmente órdenes de Unix muy "
"básicas. Borrarlos podría hacer que el sistema dejase de funcionar en "
"absoluto así que use esta opción con cuidado."

#. type: Plain text
#: dpkg.1:391
msgid "B<depends>: Turn all dependency problems into warnings."
msgstr "B<depends>: Convierte todos los problemas de dependencias en avisos."

#. type: Plain text
#: dpkg.1:394
msgid ""
"B<depends-version>: Don't care about versions when checking dependencies."
msgstr ""
"B<depends-version>: No tiene en cuenta las versiones al comprobar las "
"dependencias."

#. type: Plain text
#: dpkg.1:397
msgid "B<breaks>: Install, even if this would break another package."
msgstr "B<breaks>: Instala, aunque suponga romper otro paquete."

#. type: Plain text
#: dpkg.1:401
msgid ""
"B<conflicts>: Install, even if it conflicts with another package. This is "
"dangerous, for it will usually cause overwriting of some files."
msgstr ""
"B<conflicts>: Instala, incluso si entra en conflicto con otro paquete. Esta "
"opción es peligrosa dado que generalmente sobreescribirá algunos ficheros."

#. type: Plain text
#: dpkg.1:406
msgid ""
"B<confmiss>: Always install a missing conffile. This is dangerous, since it "
"means not preserving a change (removing) made to the file."
msgstr ""
"B<confmiss>: Instala siempre un fichero de configuración «conffile», de no "
"existir. Es peligroso porque no guarda los cambios (la eliminación) hechos "
"al fichero."

#. type: Plain text
#: dpkg.1:411
msgid ""
"B<confnew>: If a conffile has been modified always install the new version "
"without prompting, unless the B<--force-confdef> is also specified, in which "
"case the default action is preferred."
msgstr ""
"B<confnew>: Si se ha modificado un fichero de configuración «conffile» "
"instala siempre la nueva versión sin preguntar, a menos que se defina "
"también la opción B<--force-confdef>, en cuyo caso se toma la acción "
"predefinida."

#. type: Plain text
#: dpkg.1:416
msgid ""
"B<confold>: If a conffile has been modified always keep the old version "
"without prompting, unless the B<--force-confdef> is also specified, in which "
"case the default action is preferred."
msgstr ""
"B<confold>: Si se ha modificado un fichero de configuración «conffile», "
"mantener siempre la versión existente sin preguntar, a menos que también se "
"defina la opción B<--force-confdef>, en cuyo caso se toma la acción "
"predefinida."

#. type: Plain text
#: dpkg.1:422
msgid ""
"B<confdef>: If a conffile has been modified always choose the default "
"action. If there is no default action it will stop to ask the user unless "
"B<--force-confnew> or B<--force-confold> is also been given, in which case "
"it will use that to decide the final action."
msgstr ""
"B<confdef>: Si se ha modificado un fichero de configuración «conffile», "
"elegir siempre la opción predefinida. Si no existe se detendrá y preguntará "
"al usuario, a no ser que se usen también las opciones B<--force-confnew> o "
"B<--force-confold>, en cuyo caso se usará una de estas opciones para tomar "
"la decisión final."

#. type: Plain text
#: dpkg.1:429
msgid ""
"B<confask>: If a conffile has been modified always offer to replace it with "
"the version in the package, even if the version in the package did not "
"change. If any of B<--force-confmiss>, B<--force-confnew>, B<--force-"
"confold>, or B<--force-confdef> is also given, it will be used to decide the "
"final action."
msgstr ""
"B<confdef>: Si se ha modificado un fichero de configuración «conffile», "
"ofrece siempre reemplazar este con la versión en el paquete incluso si la "
"versión del paquete no ha cambiado. Si se introduce cualquiera de las "
"opciones B<--force-confnew> o B<--force-confold> o B<--force-confdef>, se "
"usará esta para tomar la decisión final."

#. type: Plain text
#: dpkg.1:432
msgid "B<overwrite>: Overwrite one package's file with another's file."
msgstr ""
"B<overwrite>: Sobreescribe un fichero de un paquete con un fichero de otro."

#. type: Plain text
#: dpkg.1:435
msgid "B<overwrite-dir> Overwrite one package's directory with another's file."
msgstr ""
"B<overwrite-dir>: Sobreescribe un directorio de un paquete con un fichero de "
"otro."

#. type: Plain text
#: dpkg.1:438
msgid ""
"B<overwrite-diverted>: Overwrite a diverted file with an undiverted version."
msgstr ""
"B<overwrite-diverted>: Sobreescribe una versión desviada de un fichero con "
"una no desviada."

#. type: Plain text
#: dpkg.1:446
msgid ""
"B<unsafe-io>: Do not perform safe I/O operations when unpacking. Currently "
"this implies not performing file system syncs before file renames, which is "
"known to cause substantial performance degradation on some file systems, "
"unfortunately the ones that require the safe I/O on the first place due to "
"their unreliable behaviour causing zero-length files on abrupt system "
"crashes."
msgstr ""
"B<unsafe-io>: No realiza las operaciones I/O seguras al desempaquetar. "
"Actualmente, implica que no se realiza la sincronización del sistema de "
"ficheros antes de renombrar un fichero, lo cual causa una apreciable "
"degradación del rendimiento en algunos sistemas de fichero. "
"Desafortunadamente, los que requieren I/O segura para empezar en primer "
"lugar debido a su comportamiento irregular causan ficheros de tamaño cero en "
"fallos severos del sistema."

#. type: Plain text
#: dpkg.1:452
msgid ""
"I<Note>: For ext4, the main offender, consider using instead the mount "
"option B<nodelalloc>, which will fix both the performance degradation and "
"the data safety issues, the latter by making the file system not produce "
"zero-length files on abrupt system crashes with any software not doing syncs "
"before atomic renames."
msgstr ""
"I<Note>: Para ext4, el sistema con más problemas de este sentido, considere "
"usar la opción de montaje B<nodelalloc>, lo que arregla la degradación del "
"rendimiento y los problemas de seguridad de datos. Lo último lo soluciona "
"haciendo que el sistema de ficheros no produzca ficheros de tamaño cero "
"durante fallos severos del sistema con cualquier software que no realiza una "
"sincronización antes de los renombres atómicos."

#. type: Plain text
#: dpkg.1:455
msgid ""
"I<Warning: Using this option might improve performance at the cost of losing "
"data, use with care.>"
msgstr ""
"I<Advertencia: Usar esta opción puede aumentar el rendimiento a costa de la "
"pérdida de datos. Úselo con cuidado.>"

#. type: Plain text
#: dpkg.1:458
#, fuzzy
#| msgid "B<architecture>: Process even packages with the wrong architecture."
msgid "B<architecture>: Process even packages with wrong or no architecture."
msgstr ""
"B<architecture>: Continua el proceso, incluso si los paquetes no son de la "
"arquitectura adecuada."

#. type: Plain text
#: dpkg.1:461
#, fuzzy
#| msgid "B<architecture>: Process even packages with the wrong architecture."
msgid "B<bad-version>: Process even packages with wrong versions."
msgstr ""
"B<architecture>: Continua el proceso, incluso si los paquetes no son de la "
"arquitectura adecuada."

#. type: Plain text
#: dpkg.1:464
msgid ""
"B<bad-path>: B<PATH> is missing important programs, so problems are likely."
msgstr ""
"B<bad-path>: B<PATH> no contiene algunos programas importantes, así que es "
"bastante posible que haya problemas."

#. type: Plain text
#: dpkg.1:467
msgid "B<not-root>: Try to (de)install things even when not root."
msgstr ""
"B<not-root>: Intenta la (des)instalación incluso si no es el usuario «root»."

#. type: Plain text
#: dpkg.1:470
msgid "B<bad-verify>: Install a package even if it fails authenticity check."
msgstr ""
"B<bad-verify>: Instala un paquete aunque falle la comprobación de "
"autenticidad."

#. type: TP
#: dpkg.1:471
#, no-wrap
msgid "B<--ignore-depends>=I<package>,..."
msgstr "B<--ignore-depends>=I<paquete>,..."

#. type: Plain text
#: dpkg.1:475
msgid ""
"Ignore dependency-checking for specified packages (actually, checking is "
"performed, but only warnings about conflicts are given, nothing else)."
msgstr ""
"Ignora la comprobación de dependencias para los paquetes definidos (en "
"realidad, se hacen las comprobaciones pero se imprimen avisos en vez de "
"interrumpir el proceso)."

#. type: TP
#: dpkg.1:475
#, no-wrap
msgid "B<--no-act>, B<--dry-run>, B<--simulate>"
msgstr "B<--no-act>, B<--dry-run>, B<--simulate>"

#. type: Plain text
#: dpkg.1:480
msgid ""
"Do everything which is supposed to be done, but don't write any changes. "
"This is used to see what would happen with the specified action, without "
"actually modifying anything."
msgstr ""
"Hace todo lo que se supone que debe hacer, pero no realiza ningún cambio. Se "
"utiliza para ver qué ocurriría con las opciones seleccionadas sin realizar "
"cambios reales."

#. type: Plain text
#: dpkg.1:485
msgid ""
"Be sure to give B<--no-act> before the action-parameter, or you might end up "
"with undesirable results. (e.g. B<dpkg --purge foo --no-act> will first "
"purge package foo and then try to purge package --no-act, even though you "
"probably expected it to actually do nothing)"
msgstr ""
"Asegúrese de introducir la opción B<--no-act> antes del parámetro de acción, "
"o podría acabar con resultados no deseados. (Por ejemplo: B<dpkg --purge foo "
"--no-act> purgará primero el paquete foo y luego intentará purgar el paquete "
"--no-act, ¡aunque probablemente usted esperaba que no hiciera nada!)."

#. type: TP
#: dpkg.1:485
#, no-wrap
msgid "B<-R>, B<--recursive>"
msgstr "B<-R>, B<--recursive>"

#. type: Plain text
#: dpkg.1:491
msgid ""
"Recursively handle all regular files matching pattern B<*.deb> found at "
"specified directories and all of its subdirectories. This can be used with "
"B<-i>, B<-A>, B<--install>, B<--unpack> and B<--avail> actions."
msgstr ""
"Actúa recursivamente sobre todos los ficheros que coincidan con el patrón "
"B<*.deb> que se encuentren en el directorio definido, y también todos sus "
"subdirectorios. Se puede usar con las opciones B<-i>, B<-A>, B<--install>, "
"B<--unpack> y B<--avail>."

#. type: TP
#: dpkg.1:491
#, no-wrap
msgid "B<-G>"
msgstr "B<-G>"

#. type: Plain text
#: dpkg.1:495
msgid ""
"Don't install a package if a newer version of the same package is already "
"installed. This is an alias of B<--refuse-downgrade>."
msgstr ""
"No instala un paquete del que ya existe una versión más nueva en el sistema. "
"Es un alias de B<--refuse-downgrade>."

#. type: TP
#: dpkg.1:495 dpkg-buildpackage.1:217 dpkg-checkbuilddeps.1:19
#: dpkg-query.1:118 dpkg-shlibdeps.1:211 dpkg-trigger.1:39
#, no-wrap
msgid "B<--admindir=>I<dir>"
msgstr "B<--admindir=>I<directorio>"

#. type: Plain text
#: dpkg.1:500
msgid ""
"Change default administrative directory, which contains many files that give "
"information about status of installed or uninstalled packages, etc.  "
"(Defaults to I</var/lib/dpkg>)"
msgstr ""
"Cambia el directorio de administración predefinido. Éste contiene muchos "
"ficheros que ofrecen información relativa al estado de paquetes instalados o "
"no instalados, etc. (Por omisión, I</var/lib/dpkg>)."

#. type: TP
#: dpkg.1:500
#, no-wrap
msgid "B<--instdir=>I<dir>"
msgstr "B<--instdir=>I<directorio>"

#. type: Plain text
#: dpkg.1:507
msgid ""
"Change default installation directory which refers to the directory where "
"packages are to be installed. B<instdir> is also the directory passed to "
"B<chroot>(2) before running package's installation scripts, which means that "
"the scripts see B<instdir> as a root directory.  (Defaults to I</>)"
msgstr ""
"Cambia el directorio de instalación predefinido, la ubicación en la que se "
"instalarán los paquetes. B<instdir> es también el directorio introducido a "
"B<chroot>(2) antes de ejecutar los scripts de instalación del paquete, lo "
"que significa que éstos verán B<instdir> como directorio raíz. (Por omisión, "
"I</>)."

#. type: TP
#: dpkg.1:507
#, no-wrap
msgid "B<--root=>I<dir>"
msgstr "B<--root=>I<directorio>"

#. type: Plain text
#: dpkg.1:511
msgid ""
"Changing B<root> changes B<instdir> to I<dir> and B<admindir> to I<dir>B</"
"var/lib/dpkg>."
msgstr ""
"Cambiar B<root> da el valor de I<directorio> a B<instdir>, y el valor "
"I<dir>B</var/lib/dpkg> a B<admindir>."

#. type: TP
#: dpkg.1:511
#, no-wrap
msgid "B<-O>, B<--selected-only>"
msgstr "B<-O>, B<--selected-only>"

#. type: Plain text
#: dpkg.1:517
msgid ""
"Only process the packages that are selected for installation. The actual "
"marking is done with B<dselect> or by B<dpkg>, when it handles packages. For "
"example, when a package is removed, it will be marked selected for "
"deinstallation."
msgstr ""
"Procesa sólo los paquetes seleccionados para su instalación. La marca en sí "
"la hacen B<dselect> o B<dpkg> al manipular paquetes. Por ejemplo, si se "
"borra uno, éste se marcará para su desinstalación."

#. type: TP
#: dpkg.1:517
#, no-wrap
msgid "B<-E>, B<--skip-same-version>"
msgstr "B<-E>, B<--skip-same-version>"

#. type: Plain text
#: dpkg.1:521
msgid ""
"Don't install the package if the same version of the package is already "
"installed."
msgstr ""
"Evita la instalación de un paquete si tiene la misma versión que la ya "
"instalada."

#. type: Plain text
#: dpkg.1:523
msgid "B<--pre-invoke=>I<command>"
msgstr "B<--pre-invoke=>I<orden>"

#. type: Plain text
#: dpkg.1:525
msgid "B<--post-invoke=>I<command>"
msgstr "B<--post-invoke=>I<orden>"

#. type: Plain text
#: dpkg.1:534
msgid ""
"Set an invoke hook I<command> to be run via ``sh -c'' before or after the "
"dpkg run for the I<unpack>, I<configure>, I<install>, I<triggers-only>, "
"I<remove> and I<purge> dpkg actions. This option can be specified multiple "
"times. The order the options are specified is preserved, with the ones from "
"the configuration files taking precedence.  The environment variable "
"B<DPKG_HOOK_ACTION> is set for the hooks to the current dpkg action. Note: "
"front-ends might call dpkg several times per invocation, which might run the "
"hooks more times than expected."
msgstr ""
"Define una I<orden> «hook» que se invocará mediante «sh -c» antes o después "
"de que dpkg ejecute una acción I<unpack>, I<configure>, I<install>, "
"I<triggers-only>, I<remove> o I<purge>. Puede definir esta opción varias "
"veces. Se respeta el orden de aparición de las opciones, con preferencia de "
"las presentes en los ficheros de configuración. La variable de entorno "
"B<DPKG_HOOK_ACTION> define los «hooks» a la acción de dpkg actual.Nota: "
"puede que las interfaces ejecuten dpkg varias veces en cada invocación, lo "
"cual puede ejecutar más órdenes encadenadas que las esperadas."

#. type: Plain text
#: dpkg.1:537
msgid "B<--path-exclude=>I<glob-pattern>"
msgstr "B<--path-exclude=>I<comodín>"

#. type: Plain text
#: dpkg.1:539
msgid "B<--path-include=>I<glob-pattern>"
msgstr "B<--path-include=>I<comodín>"

#. type: Plain text
#: dpkg.1:542
msgid ""
"Set I<glob-pattern> as a path filter, either by excluding or re-including "
"previously excluded paths matching the specified patterns during install."
msgstr ""
"Define I<comodín> («glob pattern») como un filtro de ruta, bien excluyendo o "
"incluyendo otra vez rutas anteriormente excluidas que encajan con los "
"patrones definidos durante la instalación."

#. type: Plain text
#: dpkg.1:545
msgid ""
"I<Warning: take into account that depending on the excluded paths you might "
"completely break your system, use with caution.>"
msgstr ""
"I<Aviso: tenga en cuenta que dependendiendo de las rutas que excluya, puede "
"dejar su sistema inutilizable, úselo con precuación.>"

#. type: Plain text
#: dpkg.1:555
msgid ""
"The glob patterns use the same wildcards used in the shell, were '*' matches "
"any sequence of characters, including the empty string and also '/'. For "
"example, I<'/usr/*/READ*'> matches I<'/usr/share/doc/package/README'>.  As "
"usual, '?' matches any single character (again, including '/'). And '[' "
"starts a character class, which can contain a list of characters, ranges and "
"complementations. See B<glob>(7) for detailed information about globbing. "
"Note: the current implementation might re-include more directories and "
"symlinks than needed, to be on the safe side and avoid possible unpack "
"failures, future work might fix this."
msgstr ""
"Los patrones de comodín («glob») usan los mismos comodines que el intérprete "
"de órdenes, donde «*» encaja con cualquier cadena de caracteres, incluyendo "
"una cadena vacía y «/». Por ejemplo, I<'/usr/*/READ*'> encaja con I<'/usr/"
"share/doc/package/README'>. Como es habitual, «?» encaja cualquier carácter "
"único (una vez más, incluyendo «/»). Y «[» inicia una clase («class») de "
"carácter, que puede contener una lista de caracteres, rangos y "
"complementaciones. Consulte B<glob>(7) para más información acerca del uso "
"de comodines. Nota: puede que la implementación actual incluya otra vez más "
"directorios y enlaces simbólicos que los necesarios. Puede que un desarrollo "
"en el futuro arregle esto para estar más seguros y evitar un posible error "
"de desempaquetado."

#. type: Plain text
#: dpkg.1:558
msgid ""
"This can be used to remove all paths except some particular ones; a typical "
"case is:"
msgstr ""
"Puede usar esto para eliminar todas las rutas a excepción de algunas en "
"particular; un típico uso es:"

#. type: Plain text
#: dpkg.1:562
#, no-wrap
msgid ""
"B<--path-exclude=/usr/share/doc/*>\n"
"B<--path-include=/usr/share/doc/*/copyright>\n"
msgstr ""
"B<--path-exclude=/usr/share/doc/*>\n"
"B<--path-include=/usr/share/doc/*/copyright>\n"

#. type: Plain text
#: dpkg.1:565
msgid "to remove all documentation files except the copyright files."
msgstr ""
"para eliminar todos los ficheros de documentación a excepción de los "
"ficheros de derechos de autor."

#. type: Plain text
#: dpkg.1:569
msgid ""
"These two options can be specified multiple times, and interleaved with each "
"other. Both are processed in the given order, with the last rule that "
"matches a file name making the decision."
msgstr ""
"Estas dos opciones se pueden definir varias veces, y se pueden interpolar. "
"Ambos se procesan en el orden dado, y la última regla que encaja con un "
"nombre de fichero realiza la decisión."

#. type: TP
#: dpkg.1:570
#, no-wrap
msgid "B<--status-fd >I<n>"
msgstr "B<--status-fd >I<n>"

#. type: Plain text
#: dpkg.1:576
msgid ""
"Send machine-readable package status and progress information to file "
"descriptor I<n>. This option can be specified multiple times. The "
"information is generally one record per line, in one of the following forms:"
msgstr ""
"Envía la información del estado del paquete e información de progreso en "
"formato máquina al descriptor de fichero I<n>. Puede introducir esta opción "
"varias veces. La información aparece habitualmente con un registro por "
"línea, en una de las siguientes formas."

#. type: TP
#: dpkg.1:577
#, no-wrap
msgid "B<status: >I<package>B<: >I<status>"
msgstr "B<status: >I<paquete>B<: >I<estado>"

#. type: Plain text
#: dpkg.1:580
msgid "Package status changed; I<status> is as in the status file."
msgstr ""
"El estado del paquete ha cambiado; el I<estado> es el que aparece en el "
"fichero de estado."

#. type: TP
#: dpkg.1:580
#, no-wrap
msgid "B<status: >I<package>B< : error : >I<extended-error-message>"
msgstr "B<status: >I<paquete>B< : error : >I<mensaje-de-fallo-detallado>"

#. type: Plain text
#: dpkg.1:584
msgid ""
"An error occurred. Any possible newlines in I<extended-error-message> will "
"be converted to spaces before output."
msgstr ""

#. type: TP
#: dpkg.1:584
#, no-wrap
msgid "B<status: >I<file>B< : conffile-prompt : '>I<real-old>B<' '>I<real-new>B<' >I<useredited>B< >I<distedited>"
msgstr "B<status: >I<fichero>B< : conffile-prompt : '>I<real-old>B<' '>I<real-new>B<' >I<edición-usuario>B< >I<edición-distribución>"

#. type: Plain text
#: dpkg.1:587
msgid "User is being asked a conffile question."
msgstr ""
"El usuario tiene que responder a una pregunta de un fichero de configuración "
"«conffile»."

#. type: TP
#: dpkg.1:587
#, no-wrap
msgid "B<processing: >I<stage>B<: >I<package>"
msgstr "B<processing: >I<etapa>B<: >I<paquete>"

#. type: Plain text
#: dpkg.1:592
msgid ""
"Sent just before a processing stage starts. I<stage> is one of B<upgrade>, "
"B<install> (both sent before unpacking), B<configure>, B<trigproc>, "
"B<disappear>, B<remove>, B<purge>."
msgstr ""
"Se envía justo después del inicio del estado de procesamiento. El I<estado> "
"puede ser B<upgrade>, B<install> (ambos se envían antes de desempaquetar), "
"B<configure>, B<trigproc>, B<disappear>, B<remove> o B<purge>."

#. type: TP
#: dpkg.1:593
#, fuzzy, no-wrap
#| msgid "B<--post-invoke=>I<command>"
msgid "B<--status-logger>=I<command>"
msgstr "B<--post-invoke=>I<orden>"

#. type: Plain text
#: dpkg.1:598
#, fuzzy
#| msgid ""
#| "Send machine-readable package status and progress information to file "
#| "descriptor I<n>. This option can be specified multiple times. The "
#| "information is generally one record per line, in one of the following "
#| "forms:"
msgid ""
"Send machine-readable package status and progress information to the shell "
"I<command>'s standard input. This option can be specified multiple times. "
"The output format used is the same as in B<--status-fd.>"
msgstr ""
"Envía la información del estado del paquete e información de progreso en "
"formato máquina al descriptor de fichero I<n>. Puede introducir esta opción "
"varias veces. La información aparece habitualmente con un registro por "
"línea, en una de las siguientes formas."

#. type: TP
#: dpkg.1:599
#, no-wrap
msgid "B<--log=>I<filename>"
msgstr "B<--log=>I<fichero>"

#. type: Plain text
#: dpkg.1:611
#, fuzzy
#| msgid ""
#| "Log status change updates and actions to I<filename>, instead of the "
#| "default I</var/log/dpkg.log>. If this option is given multiple times, the "
#| "last filename is used. Log messages are of the form `YYYY-MM-DD HH:MM:SS "
#| "status E<lt>stateE<gt> E<lt>pkgE<gt> E<lt>installed-versionE<gt>' for "
#| "status change updates; `YYYY-MM-DD HH:MM:SS E<lt>actionE<gt> "
#| "E<lt>pkgE<gt> E<lt>installed-versionE<gt> E<lt>available-versionE<gt>' "
#| "for actions where I<E<lt>actionE<gt>> is one of install, upgrade, remove, "
#| "purge; and `YYYY-MM-DD HH:MM:SS conffile E<lt>filenameE<gt> "
#| "E<lt>decisionE<gt>' for conffile changes where I<E<lt>decisionE<gt>> is "
#| "either install or keep."
msgid ""
"Log status change updates and actions to I<filename>, instead of the default "
"I</var/log/dpkg.log>. If this option is given multiple times, the last "
"filename is used. Log messages are of the form `YYYY-MM-DD HH:MM:SS status "
"I<state> I<pkg> I<installed-version>' for status change updates; `YYYY-MM-DD "
"HH:MM:SS I<action> I<pkg> I<installed-version> I<available-version>' for "
"actions where I<action> is one of B<install>, B<upgrade>, B<remove>, "
"B<purge>; and `YYYY-MM-DD HH:MM:SS conffile I<filename> I<decision>' for "
"conffile changes where I<decision> is either B<install> or B<keep>."
msgstr ""
"Registrar los cambios de estado y acciones en el I<fichero>, en lugar del "
"predefinido, I</var/log/dpkg.log>. Se usará el último fichero introducido en "
"caso de definir varios. Los mensajes del registro tienen el formato «YYYY-MM-"
"DD HH:MM:SS estado E<lt>estadoE<gt> E<lt>paqE<gt> E<lt>versión-"
"instaladaE<gt>» para actualizaciones de cambios de estado; «YYYY-MM-DD HH:MM:"
"SS E<lt>acciónE<gt> E<lt>paqE<gt> E<lt>versión-instaladaE<gt> E<lt>versión-"
"disponibleE<gt>» para aquellas acciones en las que la I<E<lt>acciónE<gt>> es "
"«install», «upgrade», «remove» o «purge»; y «YYYY-MM-DD HH:MM:SS conffile "
"E<lt>ficheroE<gt> E<lt>decisiónE<gt>» para aquellos cambios en «conffiles» "
"en los que la I<E<lt>decisiónE<gt>> es o «install» o «keep»."

#. type: TP
#: dpkg.1:611
#, no-wrap
msgid "B<--no-debsig>"
msgstr "B<--no-debsig>"

#. type: Plain text
#: dpkg.1:614
msgid "Do not try to verify package signatures."
msgstr "No intenta verificar las firmas de los paquetes."

#. type: TP
#: dpkg.1:614
#, no-wrap
msgid "B<--no-triggers>"
msgstr "B<--no-triggers>"

#. type: Plain text
#: dpkg.1:623
msgid ""
"Do not run any triggers in this run (activations will still be recorded).  "
"If used with B<--configure> I<package> or B<--triggers-only> I<package> then "
"the named package postinst will still be run even if only a triggers run is "
"needed. Use of this option may leave packages in the improper B<triggers-"
"awaited> and B<triggers-pending> states. This can be fixed later by running: "
"B<dpkg --configure --pending>."
msgstr ""
"No ejecuta ningún disparador durante esta ejecución (se grabarán las "
"activaciones). Si se usa con B<--configure> I<paquete> o B<--triggers-only> "
"I<paquete>, el script «postinst» del paquete nombrado tendrá permisos de "
"ejecución aunque sólo se necesite ejecutar un disparador. El uso de esta "
"opción puede dejar paquetes con el estado no deseado de B<triggers-awaited> "
"y B<triggers-pending>. Puede arreglar esto más tarde ejecutando B<dpkg --"
"configure --pending>."

#. type: TP
#: dpkg.1:623
#, no-wrap
msgid "B<--triggers>"
msgstr "B<--triggers>"

#. type: Plain text
#: dpkg.1:626
msgid "Cancels a previous B<--no-triggers>."
msgstr "Cancela un B<--no-triggers> previo."

#. type: Plain text
#: dpkg.1:628 dpkg.cfg.5:16
#, no-wrap
msgid "I</etc/dpkg/dpkg.cfg>"
msgstr "I</etc/dpkg/dpkg.cfg>"

#. type: Plain text
#: dpkg.1:631
msgid "Configuration file with default options."
msgstr "El fichero de configuración con las opciones predefinidas."

#. type: TP
#: dpkg.1:631
#, no-wrap
msgid "I</var/log/dpkg.log>"
msgstr "I</var/log/dpkg.log>"

#. type: Plain text
#: dpkg.1:635
msgid "Default log file (see I</etc/dpkg/dpkg.cfg>(5) and option B<--log>)."
msgstr ""
"El fichero de registro predefinido (consulte I</etc/dpkg/dpkg.cfg>(5) y la "
"opción B<--log>)."

#. type: Plain text
#: dpkg.1:638
msgid ""
"The other files listed below are in their default directories, see option "
"B<--admindir> to see how to change locations of these files."
msgstr ""
"Los otros ficheros listados a continuación están en sus directorios "
"predefinidos. Consulte la opción B<--admindir> para ver cómo modificar la "
"ubicación de estos ficheros."

#. type: TP
#: dpkg.1:638
#, no-wrap
msgid "I</var/lib/dpkg/available>"
msgstr "I</var/lib/dpkg/available>"

#. type: Plain text
#: dpkg.1:641
msgid "List of available packages."
msgstr "Lista de paquetes disponibles."

#. type: TP
#: dpkg.1:641
#, no-wrap
msgid "I</var/lib/dpkg/status>"
msgstr "I</var/lib/dpkg/status>"

#. type: Plain text
#: dpkg.1:647
msgid ""
"Statuses of available packages. This file contains information about whether "
"a package is marked for removing or not, whether it is installed or not, "
"etc. See section B<INFORMATION ABOUT PACKAGES> for more info."
msgstr ""
"Los estados de los paquetes disponibles. Este fichero contiene información "
"sobre si un paquete está marcado o no para su eliminación, si está o no está "
"instalado, etc. Para más información, consulte el apartado B<INFORMACIÓN "
"SOBRE PAQUETES>."

#. type: Plain text
#: dpkg.1:650
msgid ""
"The status file is backed up daily in I</var/backups>. It can be useful if "
"it's lost or corrupted due to filesystems troubles."
msgstr ""
"Una copia de seguridad diaria del fichero de estado se crea en I</var/"
"backups>. Puede ser útil si se ha perdido o ha quedado dañado por problemas "
"con el sistema de ficheros."

#. type: Plain text
#: dpkg.1:653
msgid ""
"The following files are components of a binary package. See B<deb>(5)  for "
"more information about them:"
msgstr ""
"Los siguientes ficheros son componentes de un paquete binario. Consulte "
"B<deb>(5) para más información sobre éstos:"

#. type: TP
#: dpkg.1:653
#, no-wrap
msgid "I<control>"
msgstr "I<control>"

#. type: TP
#: dpkg.1:655
#, no-wrap
msgid "I<conffiles>"
msgstr "I<conffiles>"

#. type: TP
#: dpkg.1:657
#, no-wrap
msgid "I<preinst>"
msgstr "I<preinst>"

#. type: TP
#: dpkg.1:659
#, no-wrap
msgid "I<postinst>"
msgstr "I<postinst>"

#. type: TP
#: dpkg.1:661
#, no-wrap
msgid "I<prerm>"
msgstr "I<prerm>"

#. type: TP
#: dpkg.1:663
#, no-wrap
msgid "I<postrm>"
msgstr "I<postrm>"

#. type: SH
#: dpkg.1:666 dpkg-buildflags.1:128 dpkg-buildpackage.1:230 dpkg-deb.1:232
#: dpkg-divert.8:112 dpkg-query.1:204 dpkg-statoverride.8:68 dpkg-trigger.1:60
#: dpkg-vendor.1:42 dselect.1:423 update-alternatives.8:354
#, no-wrap
msgid "ENVIRONMENT"
msgstr "ENTORNO"

#. type: TP
#: dpkg.1:667 dselect.1:424
#, no-wrap
msgid "B<HOME>"
msgstr "B<HOME>"

#. type: Plain text
#: dpkg.1:671
msgid ""
"If set, B<dpkg> will use it as the directory from which to read the user "
"specific configuration file."
msgstr ""
"Si se define, B<dpkg> lo usará como el directorio del cual leer el fichero "
"de configuración específico del usuario."

#. type: TP
#: dpkg.1:671 dpkg-deb.1:233
#, no-wrap
msgid "B<TMPDIR>"
msgstr "B<TMPDIR>"

#. type: Plain text
#: dpkg.1:675
msgid ""
"If set, B<dpkg> will use it as the directory in which to create temporary "
"files and directories."
msgstr ""
"Si se define, B<dpkg> lo usará como el directorio en el que crear ficheros y "
"directorios temporales."

#. type: TP
#: dpkg.1:675
#, no-wrap
msgid "B<PAGER>"
msgstr "B<PAGER>"

#. type: Plain text
#: dpkg.1:678
msgid "The program B<dpkg> will execute when displaying the conffiles."
msgstr ""
"El programa que B<dpkg> ejecutará al mostrar los ficheros de configuración "
"«conffiles»."

#. type: TP
#: dpkg.1:678
#, no-wrap
msgid "B<SHELL>"
msgstr "B<SHELL>"

#. type: Plain text
#: dpkg.1:681
msgid "The program B<dpkg> will execute when starting a new shell."
msgstr ""
"El programa que B<dpkg> ejecutará al iniciar un nuevo intérprete de órdenes."

#. type: TP
#: dpkg.1:681 dpkg-query.1:209
#, no-wrap
msgid "B<COLUMNS>"
msgstr "B<COLUMNS>"

#. type: Plain text
#: dpkg.1:685
msgid ""
"Sets the number of columns B<dpkg> should use when displaying formatted "
"text. Currently only used by -l."
msgstr ""
"Define el número de columnas que B<dpkg> puede usar para mostrar la "
"información. Por ahora sólo la usa la opción «-l»."

#. type: TP
#: dpkg.1:685
#, no-wrap
msgid "B<DPKG_SHELL_REASON>"
msgstr "B<DPKG_SHELL_REASON>"

#. type: Plain text
#: dpkg.1:689
msgid ""
"Defined by B<dpkg> on the shell spawned on the conffile prompt to examine "
"the situation. Current valid value: B<conffile-prompt>."
msgstr ""
"Definido por B<dpkg> en el intérprete de órdenes iniciado en el diálogo del "
"fichero de configuración «conffile» para examinar la situación. El valor "
"válido actualmente es B<conffile-prompt>."

#. type: TP
#: dpkg.1:689
#, no-wrap
msgid "B<DPKG_CONFFILE_OLD>"
msgstr "B<DPKG_CONFFILE_OLD>"

#. type: Plain text
#: dpkg.1:693
msgid ""
"Defined by B<dpkg> on the shell spawned on the conffile prompt to examine "
"the situation. Contains the path to the old conffile."
msgstr ""
"Definido por B<dpkg> en el intérprete de órdenes iniciado en el diálogo del "
"fichero de configuración «conffile» para examinar la situación. Contiene la "
"ruta al fichero de configuración antiguo."

#. type: TP
#: dpkg.1:693
#, no-wrap
msgid "B<DPKG_CONFFILE_NEW>"
msgstr "B<DPKG_CONFFILE_NEW>"

#. type: Plain text
#: dpkg.1:697
msgid ""
"Defined by B<dpkg> on the shell spawned on the conffile prompt to examine "
"the situation. Contains the path to the new conffile."
msgstr ""
"Definido por B<dpkg> en el intérprete de órdenes iniciado en el diálogo del "
"fichero de configuración «conffile» para examinar la situación. Contiene la "
"ruta al fichero de configuración «conffile» nuevo."

#. type: TP
#: dpkg.1:697
#, no-wrap
msgid "B<DPKG_RUNNING_VERSION>"
msgstr "B<DPKG_RUNNING_VERSION>"

#. type: Plain text
#: dpkg.1:701
msgid ""
"Defined by B<dpkg> on the maintainer script environment to the version of "
"the currently running B<dpkg> instance."
msgstr ""
"Definido por B<dpkg> en el script del entorno del mantenedor con el valor de "
"la versión en ejecución de B<dpkg>."

#. type: TP
#: dpkg.1:701 dpkg-divert.8:117
#, no-wrap
msgid "B<DPKG_MAINTSCRIPT_PACKAGE>"
msgstr "B<DPKG_MAINTSCRIPT_PACKAGE>"

#. type: Plain text
#: dpkg.1:705
msgid ""
"Defined by B<dpkg> on the maintainer script environment to the package name "
"being handled."
msgstr ""
"Definido por B<dpkg> en el script de entorno del mantenedor con el valor del "
"nombre del paquete manipulado."

#. type: TP
#: dpkg.1:705
#, no-wrap
msgid "B<DPKG_MAINTSCRIPT_ARCH>"
msgstr "B<DPKG_MAINTSCRIPT_ARCH>"

#. type: Plain text
#: dpkg.1:709
msgid ""
"Defined by B<dpkg> on the maintainer script environment to the architecture "
"the package got built for."
msgstr ""
"Definido por B<dpkg> en el script de entorno del mantenedor con el valor de "
"la arquitectura de paquete para la cual se compiló."

#. type: TP
#: dpkg.1:709
#, no-wrap
msgid "B<DPKG_MAINTSCRIPT_NAME>"
msgstr "B<DPKG_MAINTSCRIPT_NAME>"

#. type: Plain text
#: dpkg.1:713
msgid ""
"Defined by B<dpkg> on the maintainer script environment to the name of the "
"script running (preinst, postinst, prerm, postrm)."
msgstr ""
"Definido por B<dpkg> en el script del entorno del mantenedor con el valor "
"del nombre del script en ejecución («preinst», «postinst», «prerm», "
"«postrm»)."

#. type: Plain text
#: dpkg.1:716
msgid "To list packages related to the editor B<vi>(1):"
msgstr "Para listar los paquetes con el editor B<vi>(1) en su nombre:"

#. type: Plain text
#: dpkg.1:718
#, no-wrap
msgid "     B<dpkg -l \\(aq*vi*\\(aq>\n"
msgstr "     B<dpkg -l \\(aq*vi*\\(aq>\n"

#. type: Plain text
#: dpkg.1:721
msgid "To see the entries in I</var/lib/dpkg/available> of two packages:"
msgstr "Para ver las entradas en I</var/lib/dpkg/available> de dos paquetes:"

#. type: Plain text
#: dpkg.1:723
#, no-wrap
msgid "     B<dpkg --print-avail elvis vim | less>\n"
msgstr "     B<dpkg --print-avail elvis vim | less>\n"

#. type: Plain text
#: dpkg.1:726
msgid "To search the listing of packages yourself:"
msgstr "Para buscar personalmente en la lista de paquetes:"

#. type: Plain text
#: dpkg.1:728
#, no-wrap
msgid "     B<less /var/lib/dpkg/available>\n"
msgstr "     B<less /var/lib/dpkg/available>\n"

#. type: Plain text
#: dpkg.1:731
msgid "To remove an installed elvis package:"
msgstr "Para borrar un paquete instalado llamado elvis:"

#. type: Plain text
#: dpkg.1:733
#, no-wrap
msgid "     B<dpkg -r elvis>\n"
msgstr "     B<dpkg -r elvis>\n"

#. type: Plain text
#: dpkg.1:738
msgid ""
"To install a package, you first need to find it in an archive or CDROM. The "
"\"available\" file shows that the vim package is in section \"editors\":"
msgstr ""
"Para instalar un paquete, éste tiene que estar disponible en un archivo o "
"disco óptico. El fichero «available» muestra que el paquete vim está en la "
"sección «editors»:"

#. type: Plain text
#: dpkg.1:741
#, fuzzy, no-wrap
#| msgid ""
#| "     B<cd /cdrom/pool/main/v/vim>\n"
#| "     B<dpkg -i vim_4.5-3.deb>\n"
msgid ""
"     B<cd /media/cdrom/pool/main/v/vim>\n"
"     B<dpkg -i vim_4.5-3.deb>\n"
msgstr ""
"     B<cd /cdrom/pool/main/v/vim>\n"
"     B<dpkg -i vim_4.5-3.deb>\n"

#. type: Plain text
#: dpkg.1:744
msgid "To make a local copy of the package selection states:"
msgstr "Para hacer una copia local de las selecciones de estados de paquetes:"

#. type: Plain text
#: dpkg.1:746
#, no-wrap
msgid "     B<dpkg --get-selections E<gt>myselections>\n"
msgstr "     B< dpkg --get-selections E<gt>mis-selecciones>\n"

#. type: Plain text
#: dpkg.1:750
msgid ""
"You might transfer this file to another computer, and install it there with:"
msgstr "Podría copiar este fichero a otra máquina e instalarlo allí con:"

#. type: Plain text
#: dpkg.1:753
#, no-wrap
msgid ""
"     B<dpkg --clear-selections>\n"
"     B<dpkg --set-selections E<lt>myselections>\n"
msgstr ""
"     B<dpkg --clear-selections>\n"
"     B<dpkg --set-selections E<lt>mis-selecciones>\n"

#. type: Plain text
#: dpkg.1:759
msgid ""
"Note that this will not actually install or remove anything, but just set "
"the selection state on the requested packages. You will need some other "
"application to actually download and install the requested packages. For "
"example, run B<apt-get dselect-upgrade>."
msgstr ""
"Tenga en cuenta que esto no instalará ni borrará nada, simplemente "
"modificará el estado de selección de los paquetes seleccionados. Necesitará "
"otra aplicación para obtener los paquetes e instalarlos. Por ejemplo, "
"ejecute B<apt-get dselect-upgrade>."

#. type: Plain text
#: dpkg.1:762
msgid ""
"Ordinarily, you will find that B<dselect>(1) provides a more convenient way "
"to modify the package selection states."
msgstr ""
"Por lo general, encontrará que B<dselect>(8) es una forma más cómoda de "
"modificar los estados de selección de los paquetes."

#. type: SH
#: dpkg.1:764
#, no-wrap
msgid "ADDITIONAL FUNCTIONALITY"
msgstr "FUNCIONALIDAD ADICIONAL"

#. type: Plain text
#: dpkg.1:767
msgid ""
"Additional functionality can be gained by installing any of the following "
"packages: B<apt>, B<aptitude> and B<debsums>."
msgstr ""
"Puede ganar funcionalidades adicionales instalando alguno de los siguientes "
"paquetes: I<apt>, I<aptitude> y I<debsums>."

#. type: Plain text
#: dpkg.1:779
msgid ""
"B<aptitude>(1), B<apt>(1), B<dselect>(1), B<dpkg-deb>(1), B<dpkg-query>(1), "
"B<deb>(5), B<deb-control>(5), B<dpkg.cfg>(5), and B<dpkg-reconfigure>(8)."
msgstr ""
"B<aptitude>(1), B<apt>(1), B<dselect>(1), B<dpkg-deb>(1), B<dpkg-query>(1), "
"B<deb>(5), B<deb-control>(5), B<dpkg.cfg>(5), y B<dpkg-reconfigure>(8)."

#. type: Plain text
#: dpkg.1:782
msgid "B<--no-act> usually gives less information than might be helpful."
msgstr ""
"Habitualmente, la opción B<--no-act> da menos información de la que necesita."

#. type: Plain text
#: dpkg.1:785 dpkg.cfg.5:22
msgid ""
"See I</usr/share/doc/dpkg/THANKS> for the list of people who have "
"contributed to B<dpkg>."
msgstr ""
"Consulte I</usr/share/doc/dpkg/THANKS> para una lista de las personas que "
"han contribuido a B<dpkg>."

#. type: TH
#: dpkg-architecture.1:1
#, no-wrap
msgid "dpkg-architecture"
msgstr "dpkg-architecture"

#. type: Plain text
#: dpkg-architecture.1:4
msgid ""
"dpkg-architecture - set and determine the architecture for package building"
msgstr ""
"dpkg-architecture - Configurar y determinar la arquitectura para la "
"construcción de paquetes"

#. type: Plain text
#: dpkg-architecture.1:8
#, fuzzy
#| msgid "B<dpkg-architecture> [I<options>] [I<commands>]"
msgid "B<dpkg-architecture> [I<option>...] [I<command>]"
msgstr "B<dpkg-architecture> [I<opciones>] [I<órdenes>]"

#. type: Plain text
#: dpkg-architecture.1:13
msgid ""
"dpkg-architecture does provide a facility to determine and set the build and "
"host architecture for package building."
msgstr ""
"dpkg-architecture facilita determinar y configurar la arquitectura de "
"construcción y de la máquina anfitrión para la construcción de un paquete."

#. type: Plain text
#: dpkg-architecture.1:16
msgid ""
"The build architecture is always determined by an external call to B<dpkg>"
"(1), and can not be set at the command line."
msgstr ""
"La arquitectura de construcción siempre se determina con una invocación "
"externa a B<dpkg>(1), y no se puede definir en la línea de órdenes."

#. type: Plain text
#: dpkg-architecture.1:25
msgid ""
"You can specify the host architecture by providing one or both of the "
"options B<-a> and B<-t>. The default is determined by an external call to "
"B<gcc>(1), or the same as the build architecture if \\s-1CC\\s0 or gcc are "
"both not available. One out of B<-a> and B<-t> is sufficient, the value of "
"the other will be set to a usable default. Indeed, it is often better to "
"only specify one, because B<dpkg-architecture> will warn you if your choice "
"does not match the default."
msgstr ""
"Puede definir la arquitectura del anfitrión introduciendo una o ambas "
"opciones B<-a> y B<-t>. El valor por omisión es una invocación externa a "
"B<gcc>(1), o la misma que la arquitectura de construcción en caso de no "
"disponer de \\s-1CC\\s0 o gcc. Es suficiente usar B<-a> o B<-t>, el valor "
"del otro se definirá con un valor predefinido adecuado. De hecho, a veces es "
"mejor definir sólo uno, ya que B<dpkg-architecture> le avisará si su opción "
"no encaja con la opción predefinida."

#. type: SH
#: dpkg-architecture.1:26 dpkg-buildflags.1:45 dpkg-deb.1:27 dpkg-divert.8:24
#: dpkg-query.1:13 dpkg-source.1:18 dpkg-split.1:31 dpkg-statoverride.8:23
#: dpkg-trigger.1:24 dpkg-vendor.1:14 start-stop-daemon.8:34
#: update-alternatives.8:202
#, no-wrap
msgid "COMMANDS"
msgstr "ÓRDENES"

#. type: TP
#: dpkg-architecture.1:27
#, no-wrap
msgid "B<-l>"
msgstr "B<-l>"

#. type: Plain text
#: dpkg-architecture.1:31
msgid ""
"Print the environment variables, one each line, in the format "
"I<VARIABLE=value>. This is the default action."
msgstr ""
"Muestra las variables de entorno, una por línea, con el formato "
"I<VARIABLE=valor>. Esta es la acción predefinida."

#. type: TP
#: dpkg-architecture.1:31
#, no-wrap
msgid "B<-e>I<debian-architecture>"
msgstr "B<-e>I<debian-architecture>"

#. type: Plain text
#: dpkg-architecture.1:37
msgid ""
"Check for equality of architecture. By default I<debian-architecture> is "
"compared against the current Debian architecture, being the host.  This "
"action will not expand the architecture wildcards. Command finishes with an "
"exit status of 0 if matched, 1 if not matched."
msgstr ""
"Revisa si la arquitectura es la misma. Por omisión, I<debian-architecture> "
"se compara con la arquitectura del sistema Debian actual, el sistema "
"anfitrión. Esta acción no expande los comodines de arquitectura. La orden "
"finaliza con un estado de salida de cero si coinciden, y de 1 en caso "
"contrario."

#. type: TP
#: dpkg-architecture.1:37
#, no-wrap
msgid "B<-i>I<architecture-wildcard>"
msgstr "B<-i>I<comodín-arquitectura>"

#. type: Plain text
#: dpkg-architecture.1:43
msgid ""
"Check for identity of architecture by expanding I<architecture-wildcard> as "
"an architecture wildcard and comparing against the current Debian "
"architecture. Command finishes with an exit status of 0 if matched, 1 if not "
"matched."
msgstr ""
"Revisa la identidad de la arquitectura expandiendo I<comodin-arquitectura> "
"como un comodín de arquitectura, y comparándola con la arquitectura del "
"sistema Debian actual. La orden finaliza con un estado de salida de cero si "
"coincide, y de 1 en caso contrario."

#. type: TP
#: dpkg-architecture.1:43
#, no-wrap
msgid "B<-q>I<variable-name>"
msgstr "B<-q>I<nombre-variable>"

#. type: Plain text
#: dpkg-architecture.1:46
msgid "Print the value of a single variable."
msgstr "Muestra el valor de una única variable."

#. type: TP
#: dpkg-architecture.1:46
#, no-wrap
msgid "B<-s>"
msgstr "B<-s>"

#. type: Plain text
#: dpkg-architecture.1:50
msgid ""
"Print an export command. This can be used to set the environment variables "
"using eval."
msgstr ""
"Muestra una orden «export». Se puede usar para definir las variables de "
"entorno mediante eval."

#. type: TP
#: dpkg-architecture.1:50
#, no-wrap
msgid "B<-u>"
msgstr "B<-u>"

#. type: Plain text
#: dpkg-architecture.1:53
msgid "Print a similar command to B<-s> but to unset all variables."
msgstr ""
"Muestra una orden similar a B<-s>, pero para eliminar la definición "
"(«unset») de todas las variables."

#. type: TP
#: dpkg-architecture.1:53
#, no-wrap
msgid "B<-c>I< command>"
msgstr "B<-c>I< orden>"

#. type: Plain text
#: dpkg-architecture.1:57
msgid ""
"Execute a I<command> in an environment which has all variables set to the "
"determined value."
msgstr ""
"Ejecuta una I<orden> en un entorno cuyas variables ya están definidas con un "
"valor predefinido."

#. type: TP
#: dpkg-architecture.1:57
#, no-wrap
msgid "B<-L>"
msgstr "B<-L>"

#. type: Plain text
#: dpkg-architecture.1:60
msgid "Print a list of valid architecture names."
msgstr "Muestra una lista de nombres de arquitectura válidos."

#. type: Plain text
#: dpkg-architecture.1:63 dpkg-buildflags.1:92 dpkg-buildpackage.1:226
#: dpkg-checkbuilddeps.1:36 dpkg-distaddfile.1:35 dpkg-deb.1:175
#: dpkg-divert.8:74 dpkg-genchanges.1:134 dpkg-gencontrol.1:124
#: dpkg-gensymbols.1:446 dpkg-mergechangelogs.1:41 dpkg-name.1:61
#: dpkg-parsechangelog.1:36 dpkg-query.1:113 dpkg-scanpackages.1:99
#: dpkg-scansources.1:68 dpkg-shlibdeps.1:218 dpkg-source.1:99
#: dpkg-split.1:129 dpkg-statoverride.8:47 dpkg-trigger.1:34 dpkg-vendor.1:31
#: update-alternatives.8:319
msgid "Show the usage message and exit."
msgstr "Muestra el modo de uso y termina."

#. type: Plain text
#: dpkg-architecture.1:66 dpkg-buildflags.1:95 dpkg-buildpackage.1:229
#: dpkg-checkbuilddeps.1:39 dpkg-distaddfile.1:38 dpkg-deb.1:178
#: dpkg-divert.8:77 dpkg-genchanges.1:137 dpkg-gencontrol.1:127
#: dpkg-gensymbols.1:449 dpkg-mergechangelogs.1:44 dpkg-name.1:64
#: dpkg-parsechangelog.1:39 dpkg-query.1:116 dpkg-scanpackages.1:102
#: dpkg-scansources.1:70 dpkg-shlibdeps.1:221 dpkg-source.1:102
#: dpkg-split.1:132 dpkg-statoverride.8:50 dpkg-trigger.1:37 dpkg-vendor.1:34
#: update-alternatives.8:322
msgid "Show the version and exit."
msgstr "Muestra la versión y termina."

#. type: TP
#: dpkg-architecture.1:68
#, no-wrap
msgid "B<-a>I<debian-architecture>"
msgstr "B<-a>I<debian-architecture>"

#. type: Plain text
#: dpkg-architecture.1:71
msgid "Set the Debian architecture."
msgstr "Define la arquitectura de Debian."

#. type: TP
#: dpkg-architecture.1:71 dpkg-buildpackage.1:110
#, no-wrap
msgid "B<-t>I<gnu-system-type>"
msgstr "B<-t>I<tipo-sistema-gnu>"

#. type: Plain text
#: dpkg-architecture.1:74
msgid "Set the GNU system type."
msgstr "Define el tipo de sistema GNU."

#. type: TP
#: dpkg-architecture.1:74
#, no-wrap
msgid "B<-f>"
msgstr "B<-f>"

#. type: Plain text
#: dpkg-architecture.1:81
msgid ""
"Values set by existing environment variables with the same name as used by "
"the scripts are honored (i.e. used by B<dpkg-architecture>), except if this "
"force flag is present. This allows the user to override a value even when "
"the call to B<dpkg-architecture> is buried in some other script (for example "
"B<dpkg-buildpackage>(1))."
msgstr ""
"Los scripts respetan los valores de variables de entorno preexistentes que "
"tienen el mismo nombre que los valores contenidos en el script (por ejemplo, "
"usados por B<dpkg-architecture>), a menos que se use esta marca de forzado. "
"Permite al usuario sobreescribir un valor, aún cuando la invocación a B<dpkg-"
"architecture> se encuentra en otro script (por ejemplo, B<dpkg-buildpackage>"
"(1))."

#. type: SH
#: dpkg-architecture.1:82
#, no-wrap
msgid "TERMS"
msgstr "TÉRMINOS"

#. type: IP
#: dpkg-architecture.1:83
#, no-wrap
msgid "build machine"
msgstr "máquina de construcción"

#. type: Plain text
#: dpkg-architecture.1:85
msgid "The machine the package is built on."
msgstr "La máquina en la que se construye el paquete."

#. type: IP
#: dpkg-architecture.1:85
#, no-wrap
msgid "host machine"
msgstr "máquina anfitrión"

#. type: Plain text
#: dpkg-architecture.1:87
msgid "The machine the package is built for."
msgstr "La máquina para la cual se construye el paquete."

#. type: IP
#: dpkg-architecture.1:87
#, no-wrap
msgid "Debian architecture"
msgstr "Arquitectura de Debian"

#. type: Plain text
#: dpkg-architecture.1:90
msgid ""
"The Debian architecture string, which specifies the binary tree in the "
"\\s-1FTP\\s0 archive. Examples: i386, sparc, hurd-i386."
msgstr ""
"La cadena de la arquitectura de Debian, que especifica el árbol binario en "
"el archivo \\s-1FTP\\s0. Ejemplos: i386, sparc, hurd-i386."

#. type: IP
#: dpkg-architecture.1:90
#, no-wrap
msgid "architecture wildcard"
msgstr "comodín de arquitectura"

#. type: Plain text
#: dpkg-architecture.1:94
msgid ""
"An architecture wildcard is a special architecture string that will match "
"any real architecture being part of it. The general form is E<lt>kernelE<gt>-"
"E<lt>cpuE<gt>.  Examples: linux-any, any-i386, hurd-any."
msgstr ""
"Un comodín de arquitectura es una cadena especial de arquitectura que encaja "
"con cualquier arquitectura real del que es parte. La forma habitual es "
"E<lt>kernelE<gt>-E<lt>cpuE<gt>. Ejemplos: linux-any, any-i386, hurd-any."

#. type: IP
#: dpkg-architecture.1:94
#, no-wrap
msgid "\\s-1GNU\\s0 system type"
msgstr "tipo de sistema \\s-1GNU\\s0"

#. type: Plain text
#: dpkg-architecture.1:98
msgid ""
"An architecture specification string consisting of two parts separated by a "
"dash: cpu and system. Examples: i386-linux-gnu, sparc-linux-gnu, i386-gnu, "
"x86_64-netbsd."
msgstr ""
"Una cadena de definición de arquitectura que consiste de dos partes "
"separadas por un guión: el procesador y el sistema. Ejemplos: i386-linux-"
"gnu, sparc-linux-gnu, i386-gnu, x86_64-netbsd."

#. type: SH
#: dpkg-architecture.1:99
#, no-wrap
msgid "VARIABLES"
msgstr "VARIABLES"

#. type: Plain text
#: dpkg-architecture.1:101
msgid "The following variables are set by B<dpkg-architecture>:"
msgstr "Las siguientes variables se definen mediante B<dpkg-architecture>:"

#. type: IP
#: dpkg-architecture.1:101
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH\\s0"
msgstr "\\s-1DEB_BUILD_ARCH\\s0"

#. type: Plain text
#: dpkg-architecture.1:103
msgid "The Debian architecture of the build machine."
msgstr "La arquitectura de Debian de la máquina de construcción."

#. type: IP
#: dpkg-architecture.1:103
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH_OS\\s0"
msgstr "\\s-1DEB_BUILD_ARCH_OS\\s0"

#. type: Plain text
#: dpkg-architecture.1:105
msgid "The Debian system name of the build machine."
msgstr "El nombre del sistema Debian de la máquina de construcción."

#. type: IP
#: dpkg-architecture.1:105
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH_CPU\\s0"
msgstr "\\s-1DEB_BUILD_ARCH_CPU\\s0"

#. type: Plain text
#: dpkg-architecture.1:107
msgid "The Debian cpu name of the build machine."
msgstr "El nombre de Debian del procesador de la máquina de construcción."

#. type: IP
#: dpkg-architecture.1:107
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH_BITS\\s0"
msgstr "\\s-1DEB_BUILD_ARCH_BITS\\s0"

#. type: Plain text
#: dpkg-architecture.1:109
msgid "The pointer size of the build machine (in bits)."
msgstr "El tamaño del puntero de la máquina de construcción, en bits."

#. type: IP
#: dpkg-architecture.1:109
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH_ENDIAN\\s0"
msgstr "\\s-1DEB_BUILD_ARCH_ENDIAN\\s0"

#. type: Plain text
#: dpkg-architecture.1:111
msgid "The endianness of the build machine (little / big)."
msgstr ""
"El nivel de «endianización» de la máquina de construcción, «little» o «big»."

#. type: IP
#: dpkg-architecture.1:111
#, no-wrap
msgid "\\s-1DEB_BUILD_GNU_CPU\\s0"
msgstr "\\s-1DEB_BUILD_GNU_CPU\\s0"

#. type: Plain text
#: dpkg-architecture.1:113
msgid "The \\s-1CPU\\s0 part of \\s-1DEB_BUILD_GNU_TYPE\\s0."
msgstr "La parte \\s-1CPU\\s0 de \\s-1DEB_BUILD_GNU_TYPE\\s0."

#. type: IP
#: dpkg-architecture.1:113
#, no-wrap
msgid "\\s-1DEB_BUILD_GNU_SYSTEM\\s0"
msgstr "\\s-1DEB_BUILD_GNU_SYSTEM\\s0"

#. type: Plain text
#: dpkg-architecture.1:115
msgid "The System part of \\s-1DEB_BUILD_GNU_TYPE\\s0."
msgstr "La parte de «System» de \\s-1DEB_BUILD_GNU_TYPE\\s0."

#. type: IP
#: dpkg-architecture.1:115
#, no-wrap
msgid "\\s-1DEB_BUILD_GNU_TYPE\\s0"
msgstr "\\s-1DEB_BUILD_GNU_TYPE\\s0"

#. type: Plain text
#: dpkg-architecture.1:117
msgid "The \\s-1GNU\\s0 system type of the build machine."
msgstr "El tipo de sistema \\s-1GNU\\s0 de la máquina de construcción."

#. type: IP
#: dpkg-architecture.1:117
#, fuzzy, no-wrap
#| msgid "\\s-1DEB_BUILD_ARCH\\s0"
msgid "\\s-1DEB_BUILD_MULTIARCH\\s0"
msgstr "\\s-1DEB_BUILD_ARCH\\s0"

#. type: Plain text
#: dpkg-architecture.1:120
#, fuzzy
#| msgid "The \\s-1GNU\\s0 system type of the build machine."
msgid ""
"The clarified \\s-1GNU\\s0 system type of the build machine, used for "
"filesystem paths."
msgstr "El tipo de sistema \\s-1GNU\\s0 de la máquina de construcción."

#. type: IP
#: dpkg-architecture.1:120
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH\\s0"
msgstr "\\s-1DEB_HOST_ARCH\\s0"

#. type: Plain text
#: dpkg-architecture.1:122
msgid "The Debian architecture of the host machine."
msgstr "La arquitectura de Debian de la máquina anfitrión."

#. type: IP
#: dpkg-architecture.1:122
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH_OS\\s0"
msgstr "\\s-1DEB_HOST_ARCH_OS\\s0"

#. type: Plain text
#: dpkg-architecture.1:124
msgid "The Debian system name of the host machine."
msgstr "El nombre de sistema Debian de la máquina anfitrión."

#. type: IP
#: dpkg-architecture.1:124
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH_CPU\\s0"
msgstr "\\s-1DEB_HOST_ARCH_CPU\\s0"

#. type: Plain text
#: dpkg-architecture.1:126
msgid "The Debian cpu name of the host machine."
msgstr "El nombre del procesador Debian de la máquina anfitrión."

#. type: IP
#: dpkg-architecture.1:126
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH_BITS\\s0"
msgstr "\\s-1DEB_HOST_ARCH_BITS\\s0"

#. type: Plain text
#: dpkg-architecture.1:128
msgid "The pointer size of the host machine (in bits)."
msgstr "El tamaño del puntero de la máquina anfitrión, en bits."

#. type: IP
#: dpkg-architecture.1:128
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH_ENDIAN\\s0"
msgstr "\\s-1DEB_HOST_ARCH_ENDIAN\\s0"

#. type: Plain text
#: dpkg-architecture.1:130
msgid "The endianness of the host machine (little / big)."
msgstr "El nivel de «endianización» de la máquina anfitrión, «little» o «big»."

#. type: IP
#: dpkg-architecture.1:130
#, no-wrap
msgid "\\s-1DEB_HOST_GNU_CPU\\s0"
msgstr "\\s-1DEB_HOST_GNU_CPU\\s0"

#. type: Plain text
#: dpkg-architecture.1:132
msgid "The \\s-1CPU\\s0 part of \\s-1DEB_HOST_GNU_TYPE\\s0."
msgstr "La parte de \\s-1CPU\\s0 de \\s-1DEB_HOST_GNU_TYPE\\s0."

#. type: IP
#: dpkg-architecture.1:132
#, no-wrap
msgid "\\s-1DEB_HOST_GNU_SYSTEM\\s0"
msgstr "\\s-1DEB_HOST_GNU_SYSTEM\\s0"

#. type: Plain text
#: dpkg-architecture.1:134
msgid "The System part of \\s-1DEB_HOST_GNU_TYPE\\s0."
msgstr "La parte de «System» de \\s-1DEB_HOST_GNU_TYPE\\s0."

#. type: IP
#: dpkg-architecture.1:134
#, no-wrap
msgid "\\s-1DEB_HOST_GNU_TYPE\\s0"
msgstr "\\s-1DEB_HOST_GNU_TYPE\\s0"

#. type: Plain text
#: dpkg-architecture.1:136
msgid "The \\s-1GNU\\s0 system type of the host machine."
msgstr "El tipo de sistema \\s-1GNU\\s0 de la máquina anfitrión."

#. type: IP
#: dpkg-architecture.1:136
#, fuzzy, no-wrap
#| msgid "\\s-1DEB_HOST_ARCH\\s0"
msgid "\\s-1DEB_HOST_MULTIARCH\\s0"
msgstr "\\s-1DEB_HOST_ARCH\\s0"

#. type: Plain text
#: dpkg-architecture.1:139
#, fuzzy
#| msgid "The \\s-1GNU\\s0 system type of the host machine."
msgid ""
"The clarified \\s-1GNU\\s0 system type of the host machine, used for "
"filesystem paths."
msgstr "El tipo de sistema \\s-1GNU\\s0 de la máquina anfitrión."

#. type: SH
#: dpkg-architecture.1:140
#, no-wrap
msgid "DEBIAN/RULES"
msgstr "DEBIAN/RULES"

#. type: Plain text
#: dpkg-architecture.1:148
msgid ""
"The environment variables set by B<dpkg-architecture> are passed to I<debian/"
"rules> as make variables (see make documentation). However, you should not "
"rely on them, as this breaks manual invocation of the script. Instead, you "
"should always initialize them using B<dpkg-architecture> with the -q option. "
"Here are some examples, which also show how you can improve the cross "
"compilation support in your package:"
msgstr ""
"Las variables de entorno definidas por B<dpkg-architecture> se introducen a "
"I<debian/rules> como variables de «make» (consulte la documentación de "
"make). Por otra parte, no debería depender de ellos, ya que esto rompe la "
"invocación manual del script. En lugar de ello, se deberían iniciar mediante "
"B<dpkg-architecture> con la opción «-q». Aquí hay algunos ejemplos, que "
"muestran también como mejorar la compatibilidad de su paquete con la "
"construcción para varias arquitecturas."

#. type: Plain text
#: dpkg-architecture.1:151 dpkg-architecture.1:168
msgid "Instead of:"
msgstr "En lugar de:"

#. type: Plain text
#: dpkg-architecture.1:155
#, no-wrap
msgid ""
"ARCH=\\`dpkg --print-architecture\\`\n"
"configure $(\\s-1ARCH\\s0)-linux\n"
msgstr ""
"ARCH=\\`dpkg --print-architecture\\`\n"
"configure $(\\s-1ARCH\\s0)-linux\n"

#. type: Plain text
#: dpkg-architecture.1:158
msgid "please use the following:"
msgstr "use lo siguiente:"

#. type: Plain text
#: dpkg-architecture.1:162
#, no-wrap
msgid ""
"\\&\\s-1DEB_BUILD_GNU_TYPE\\s0 := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)\n"
"\\&\\s-1DEB_HOST_GNU_TYPE\\s0 := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)\n"
msgstr ""
"\\&\\s-1DEB_BUILD_GNU_TYPE\\s0 := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)\n"
"\\&\\s-1DEB_HOST_GNU_TYPE\\s0 := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)\n"

#. type: Plain text
#: dpkg-architecture.1:164
#, no-wrap
msgid "configure --build=$(\\s-1DEB_BUILD_GNU_TYPE\\s0) --host=$(\\s-1DEB_HOST_GNU_TYPE\\s0)\n"
msgstr "configure --build=$(\\s-1DEB_BUILD_GNU_TYPE\\s0) --host=$(\\s-1DEB_HOST_GNU_TYPE\\s0)\n"

#. type: Plain text
#: dpkg-architecture.1:174
#, no-wrap
msgid ""
"ARCH=\\`dpkg --print-architecture\\`\n"
"ifeq ($(\\s-1ARCH\\s0),alpha)\n"
"  ...\n"
"endif\n"
msgstr ""
"ARCH=\\`dpkg --print-architecture\\`\n"
"ifeq ($(\\s-1ARCH\\s0),alpha)\n"
"  ...\n"
"endif\n"

#. type: Plain text
#: dpkg-architecture.1:177
msgid "please use:"
msgstr "use:"

#. type: Plain text
#: dpkg-architecture.1:180
#, no-wrap
msgid "\\&\\s-1DEB_HOST_ARCH\\s0 := $(shell dpkg-architecture -qDEB_HOST_ARCH)\n"
msgstr "\\&\\s-1DEB_HOST_ARCH\\s0 := $(shell dpkg-architecture -qDEB_HOST_ARCH)\n"

#. type: Plain text
#: dpkg-architecture.1:184
#, no-wrap
msgid ""
"ifeq ($(\\s-1DEB_HOST_ARCH\\s0),alpha)\n"
"  ...\n"
"endif\n"
msgstr ""
"ifeq ($(\\s-1DEB_HOST_ARCH\\s0),alpha)\n"
"  ...\n"
"endif\n"

#. type: Plain text
#: dpkg-architecture.1:188
msgid ""
"or if you only need to check the CPU or OS type, use the DEB_HOST_ARCH_CPU "
"or DEB_HOST_ARCH_OS variables."
msgstr ""
"o si sólo precisa revisar el tipo de sistema o CPU, use las variables "
"«DEB_HOST_ARCH_OS» o «DEB_HOST_ARCH_CPU»."

#. type: Plain text
#: dpkg-architecture.1:193
msgid ""
"In general, calling dpkg in the rules file to get architecture information "
"is deprecated (unless you want to provide backward compatibility, see "
"below).  Especially the --print-architecture option is unreliable since we "
"have Debian architectures which don't equal a processor name."
msgstr ""
"En general, invocar dpkg en el fichero de reglas («rules») para obtener la "
"información de arquitectura está obsoleto (a menos que desee ofrecer "
"compatibilidad con versiones anteriores, véase a continuación). La opción «--"
"print-architecture» es particularmente inestable, ya que existen "
"arquitecturas de Debian que no encajan con el nombre de un procesador."

#. type: SH
#: dpkg-architecture.1:194
#, no-wrap
msgid "BACKWARD COMPATIBILITY"
msgstr "COMPATIBILIDAD CON VERSIONES ANTERIORES"

#. type: Plain text
#: dpkg-architecture.1:198
msgid ""
"The DEB_*_ARCH_BITS and DEB_*_ARCH_ENDIAN variables were introduced in dpkg-"
"dev 1.15.4. Using them in I<debian/rules> thus requires a build-dependency "
"on dpkg-dev (E<gt>= 1.15.4)."
msgstr ""
"Las variables «DEB_*_ARCH_BITS» y «DEB_*_ARCH_ENDIAN» se introdujeron a "
"partir de la versión 1.15.4 de dpkg-dev. Su uso en I<debian/rules> requiere "
"una dependencia de construcción sobre dpkg-dev (E<gt>= 1.15.4)."

#. type: Plain text
#: dpkg-architecture.1:203
msgid ""
"The DEB_HOST_ARCH_CPU and DEB_HOST_ARCH_OS variables were introduced in dpkg-"
"dev 1.13.2. Before this I<debian/rules> files tended to check the values of "
"the DEB_HOST_GNU_CPU or DEB_HOST_GNU_TYPE variables which have been subject "
"to change."
msgstr ""
"Las variables «DEB_HOST_ARCH_CPU» y «DEB_HOST_ARCH_OS» se introdujeron a "
"partir de la versión 1.13.2 de dpkg-dev. Antes, los ficheros I<debian/rules> "
"solían revisar aquellos valores de «DEB_HOST_GNU_CPU» o «DEB_HOST_GNU_TYPE» "
"susceptibles de haber cambiado."

#. type: Plain text
#: dpkg-architecture.1:208
msgid ""
"Where I<debian/rules> files check these variables to decide how or what to "
"compile, this should be updated to use the new variables and values.  You "
"may wish to retain backwards compatibility with older version of dpkg-dev by "
"using the following code:"
msgstr ""
"Se deberían actualizar aquellas partes de los ficheros I<debian/rules> que "
"revisan las variables que deciden el modo o el objetivo a compilar. Puede "
"usar el siguiente código si desea permitir la compatibilidad con versiones "
"anteriores de dpkg-dev:"

#. type: Plain text
#: dpkg-architecture.1:212
#, no-wrap
msgid ""
"DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU 2E<gt>/dev/null)\n"
"DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS 2E<gt>/dev/null)\n"
msgstr ""
"DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU 2E<gt>/dev/null)\n"
"DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS 2E<gt>/dev/null)\n"

#. type: Plain text
#: dpkg-architecture.1:226
#, no-wrap
msgid ""
"# Take account of old dpkg-architecture output.\n"
"ifeq ($(DEB_HOST_ARCH_CPU),)\n"
"  DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)\n"
"  ifeq ($(DEB_HOST_ARCH_CPU),x86_64)\n"
"    DEB_HOST_ARCH_CPU := amd64\n"
"  endif\n"
"endif\n"
"ifeq ($(DEB_HOST_ARCH_OS),)\n"
"  DEB_HOST_ARCH_OS := $(subst -gnu,,$(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM))\n"
"  ifeq ($(DEB_HOST_ARCH_OS),gnu)\n"
"    DEB_HOST_ARCH_OS := hurd\n"
"  endif\n"
"endif\n"
msgstr ""
"# Take account of old dpkg-architecture output.\n"
"ifeq ($(DEB_HOST_ARCH_CPU),)\n"
"  DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)\n"
"  ifeq ($(DEB_HOST_ARCH_CPU),x86_64)\n"
"    DEB_HOST_ARCH_CPU := amd64\n"
"  endif\n"
"endif\n"
"ifeq ($(DEB_HOST_ARCH_OS),)\n"
"  DEB_HOST_ARCH_OS := $(subst -gnu,,$(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM))\n"
"  ifeq ($(DEB_HOST_ARCH_OS),gnu)\n"
"    DEB_HOST_ARCH_OS := hurd\n"
"  endif\n"
"endif\n"

#. type: Plain text
#: dpkg-architecture.1:229
msgid "And similarly for DEB_BUILD_ARCH_CPU and DEB_BUILD_ARCH_OS."
msgstr "Y de forma parecida con «DEB_BUILD_ARCH_CPU» y «DEB_BUILD_ARCH_OS»."

#. type: Plain text
#: dpkg-architecture.1:232
msgid ""
"If you still wish to support versions of dpkg-dev that did not include "
"B<dpkg-architecture>, the following does the job:"
msgstr ""
"Si desea la compatibilidad con versiones de dpkg-dev que no incluían B<dpkg-"
"architecture>, puede usar lo siguiente:"

#. type: Plain text
#: dpkg-architecture.1:242
#, no-wrap
msgid ""
"\\&\\s-1DEB_BUILD_ARCH\\s0 := $(shell dpkg --print-architecture)\n"
"\\&\\s-1DEB_BUILD_GNU_CPU\\s0 := $(patsubst hurd-%,%,$(\\s-1DEB_BUILD_ARCH\\s0))\n"
"ifeq ($(filter-out hurd-%,$(\\s-1DEB_BUILD_ARCH\\s0)),)\n"
"  \\s-1DEB_BUILD_GNU_SYSTEM\\s0 := gnu\n"
"else\n"
"  \\s-1DEB_BUILD_GNU_SYSTEM\\s0 := linux-gnu\n"
"endif\n"
"DEB_BUILD_GNU_TYPE=$(\\s-1DEB_BUILD_GNU_CPU\\s0)-$(\\s-1DEB_BUILD_GNU_SYSTEM\\s0)\n"
msgstr ""
"\\&\\s-1DEB_BUILD_ARCH\\s0 := $(shell dpkg --print-architecture)\n"
"\\&\\s-1DEB_BUILD_GNU_CPU\\s0 := $(patsubst hurd-%,%,$(\\s-1DEB_BUILD_ARCH\\s0))\n"
"ifeq ($(filter-out hurd-%,$(\\s-1DEB_BUILD_ARCH\\s0)),)\n"
"  \\s-1DEB_BUILD_GNU_SYSTEM\\s0 := gnu\n"
"else\n"
"  \\s-1DEB_BUILD_GNU_SYSTEM\\s0 := linux-gnu\n"
"endif\n"
"DEB_BUILD_GNU_TYPE=$(\\s-1DEB_BUILD_GNU_CPU\\s0)-$(\\s-1DEB_BUILD_GNU_SYSTEM\\s0)\n"

#. type: Plain text
#: dpkg-architecture.1:247
#, no-wrap
msgid ""
"\\&\\s-1DEB_HOST_ARCH\\s0 := $(\\s-1DEB_BUILD_ARCH\\s0)\n"
"\\&\\s-1DEB_HOST_GNU_CPU\\s0 := $(\\s-1DEB_BUILD_GNU_CPU\\s0)\n"
"\\&\\s-1DEB_HOST_GNU_SYSTEM\\s0 := $(\\s-1DEB_BUILD_GNU_SYSTEM\\s0)\n"
"\\&\\s-1DEB_HOST_GNU_TYPE\\s0 := $(\\s-1DEB_BUILD_GNU_TYPE\\s0)\n"
msgstr ""
"\\&\\s-1DEB_HOST_ARCH\\s0 := $(\\s-1DEB_BUILD_ARCH\\s0)\n"
"\\&\\s-1DEB_HOST_GNU_CPU\\s0 := $(\\s-1DEB_BUILD_GNU_CPU\\s0)\n"
"\\&\\s-1DEB_HOST_GNU_SYSTEM\\s0 := $(\\s-1DEB_BUILD_GNU_SYSTEM\\s0)\n"
"\\&\\s-1DEB_HOST_GNU_TYPE\\s0 := $(\\s-1DEB_BUILD_GNU_TYPE\\s0)\n"

#. type: Plain text
#: dpkg-architecture.1:251
msgid ""
"Put a subset of these lines at the top of your debian/rules file; these "
"default values will be overwritten if dpkg-architecture is used."
msgstr ""
"Inserte un subconjunto de estas líneas al inicio del fichero «debian/rules»; "
"estos valores predefinidos se sobreescribirán en caso de usar dpkg-"
"architecture."

#. type: Plain text
#: dpkg-architecture.1:258
msgid ""
"You don't need the full set. Choose a consistent set which contains the "
"values you use in the rules file. For example, if you only need the host "
"Debian architecture, `DEB_HOST_ARCH=\\`dpkg --print-architecture\\`' is "
"sufficient (this is indeed the Debian architecture of the build machine, but "
"remember that we are only trying to be backward compatible with native "
"compilation)."
msgstr ""
"No necesita el conjunto completo. Seleccione un conjunto consistente que "
"contenga los valores que usa en el fichero de reglas. Por ejemplo, si sólo "
"necesita la arquitectura Debian del sistema de destino, tiene suficiente con "
"«DEB_HOST_ARCH=\\`dpkg --print-architecture\\» (de hecho, esta es la "
"arquitectura de Debian de la máquina de construcción, pero recuerde que sólo "
"intentamos crear la compatibilidad con versiones anteriores que tienen una "
"compilación nativa)."

#. type: Plain text
#: dpkg-architecture.1:261
msgid ""
"The B<-e> and B<-i> options were only introduced in relatively recent "
"versions of B<dpkg-architecture> (since dpkg 1.13.13)."
msgstr ""
"Las opciones B<-e> y B<-i> aparecieron en recientes versiones de B<dpkg-"
"architecture> (a partir de la versión 1.13.13 de dpkg)."

#. type: Plain text
#: dpkg-architecture.1:265
msgid ""
"B<dpkg-buildpackage> accepts the B<-a> option and passes it to B<dpkg-"
"architecture>. Other examples:"
msgstr ""
"B<dpkg-buildpackage> acepta la opción B<-a> y la introduce a B<dpkg-"
"architecture>. Otros ejemplos:"

#. type: Plain text
#: dpkg-architecture.1:267
msgid "CC=i386-gnu-gcc dpkg-architecture -c debian/rules build"
msgstr "CC=i386-gnu-gcc dpkg-architecture -c debian/rules build"

#. type: Plain text
#: dpkg-architecture.1:269
msgid "eval \\`dpkg-architecture -u\\`"
msgstr "eval \\`dpkg-architecture -u\\`"

#. type: Plain text
#: dpkg-architecture.1:272
msgid ""
"Check if an architecture is equal to the current architecture or a given one:"
msgstr "Revisa si una arquitectura equivale a la arquitectura actual o dada:"

#. type: Plain text
#: dpkg-architecture.1:274
msgid "dpkg-architecture -elinux-alpha"
msgstr "dpkg-architecture -elinux-alpha"

#. type: Plain text
#: dpkg-architecture.1:276
msgid "dpkg-architecture -amips -elinux-mips"
msgstr "dpkg-architecture -amips -elinux-mips"

#. type: Plain text
#: dpkg-architecture.1:279
msgid ""
"Check if the current architecture or an architecture provided with -a are "
"Linux systems:"
msgstr ""
"Revisa si la arquitectura actual o introducida con «-a» es de un sistema "
"Linux:"

#. type: Plain text
#: dpkg-architecture.1:281
msgid "dpkg-architecture -ilinux-any"
msgstr "dpkg-architecture -ilinux-any"

#. type: Plain text
#: dpkg-architecture.1:283
msgid "dpkg-architecture -ai386 -ilinux-any"
msgstr "dpkg-architecture -ai386 -ilinux-any"

#. type: Plain text
#: dpkg-architecture.1:288
#, fuzzy
#| msgid ""
#| "All these files have to be present for B<dpkg-architecture> to work. "
#| "Their location can be overridden at runtime with the environment variable "
#| "DPKG_DATADIR."
msgid ""
"All these files have to be present for B<dpkg-architecture> to work. Their "
"location can be overridden at runtime with the environment variable "
"B<DPKG_DATADIR>."
msgstr ""
"Todos los ficheros deben estar presentes para que B<dpkg-architecture> "
"funcione. Puede sobreescribir la ubicación en tiempo de ejecución mediante "
"la variable de entorno «DPKG_DATADIR»."

#. type: TP
#: dpkg-architecture.1:288
#, no-wrap
msgid "I</usr/share/dpkg/cputable>"
msgstr "I</usr/share/dpkg/cputable>"

#. type: Plain text
#: dpkg-architecture.1:291
msgid "Table of known CPU names and mapping to their GNU name."
msgstr "Tabla de nombres de CPU conocidos y su correlación con su nombre GNU."

#. type: TP
#: dpkg-architecture.1:291
#, no-wrap
msgid "I</usr/share/dpkg/ostable>"
msgstr "I</usr/share/dpkg/ostable>"

#. type: Plain text
#: dpkg-architecture.1:294
msgid "Table of known operating system names and mapping to their GNU name."
msgstr ""
"Tabla de sistemas operativos conocidos y su correlación con su nombre GNU."

#. type: TP
#: dpkg-architecture.1:294
#, no-wrap
msgid "I</usr/share/dpkg/triplettable>"
msgstr "I</usr/share/dpkg/triplettable>"

#. type: Plain text
#: dpkg-architecture.1:298
msgid ""
"Mapping between Debian architecture triplets and Debian architecture names."
msgstr ""
"Correlación entre tuples de 3 de la arquitectura de Debian, y los nombres de "
"arquitectura de Debian."

#. type: Plain text
#: dpkg-architecture.1:302
msgid "B<dpkg-buildpackage>(1), B<dpkg-cross>(1)."
msgstr "B<dpkg-buildpackage>(1), B<dpkg-cross>(1)."

#. type: Plain text
#: dpkg-architecture.1:307
msgid ""
"B<dpkg-architecture> and this man page were initially written by Marcus "
"Brinkmann E<lt>brinkmd@debian.orgE<gt>."
msgstr ""
"B<dpkg-architecture> y su página de manual fueron escritos originalmente por "
"Marcus Brinkmann E<lt>brinkmd@debian.orgE<gt>."

#. type: TH
#: dpkg.cfg.5:1
#, no-wrap
msgid "dpkg.cfg"
msgstr "dpkg.cfg"

#. type: TH
#: dpkg.cfg.5:1
#, no-wrap
msgid "2009-09-05"
msgstr "5 de Septiembre de 2009"

#. type: Plain text
#: dpkg.cfg.5:4
msgid "dpkg.cfg - dpkg configuration file"
msgstr "dpkg.cfg - Fichero de configuración de dpkg"

#. type: Plain text
#: dpkg.cfg.5:11
msgid ""
"This file contains default options for dpkg. Each line contains a single "
"option which is exactly the same as a normal command line option for dpkg "
"except for the leading dashes which are not used here. Quotes surrounding "
"option values are stripped. Comments are allowed by starting a line with a "
"hash sign (\"B<#>\")."
msgstr ""
"Este fichero contiene las opciones predefinidas de dpkg. Cada línea contiene "
"una única opción, idéntica a una opción de línea de órdenes normal de dpkg a "
"excepción de la ausencia de guiones precedentes. Las comillas que rodeen "
"valores de opciones desaparecerán. Se permiten comentarios si la línea "
"comienza con una almohadilla («B<#>»)."

#. type: Plain text
#: dpkg.cfg.5:14
msgid "I</etc/dpkg/dpkg.cfg.d/[0-9a-zA-Z_-]*>"
msgstr "I</etc/dpkg/dpkg.cfg.d/[0-9a-zA-Z_-]*>"

#. type: Plain text
#: dpkg.cfg.5:18
msgid "I<~/.dpkg.cfg>"
msgstr "I<~/.dpkg.cfg>"

#. type: Plain text
#: dpkg.cfg.5:24 dpkg-divert.8:134 dpkg-query.1:222 dpkg-statoverride.8:86
msgid "B<dpkg>(1)."
msgstr "B<dpkg>(1)."

#. type: TH
#: dpkg-buildflags.1:1
#, no-wrap
msgid "dpkg-buildflags"
msgstr "dpkg-buildflags"

#. type: TH
#: dpkg-buildflags.1:1
#, fuzzy, no-wrap
#| msgid "2010-03-07"
msgid "2011-09-13"
msgstr "7 de Marzo de 2010"

#. type: Plain text
#: dpkg-buildflags.1:4
msgid "dpkg-buildflags - returns build flags to use during package build"
msgstr ""
"dpkg-buildflags - Devuelve opciones de compilación a usar durante la "
"construcción del paquete"

#. type: Plain text
#: dpkg-buildflags.1:8
#, fuzzy
#| msgid "B<dpkg-buildflags> [I<option>...] I<command>"
msgid "B<dpkg-buildflags> [I<option>...] [I<command>]"
msgstr "B<dpkg-buildflags> [I<opción>...] I<orden>"

#. type: Plain text
#: dpkg-buildflags.1:12
msgid ""
"B<dpkg-buildflags> is a tool to retrieve compilation flags to use during "
"build of Debian packages."
msgstr ""
"B<dpkg-buildflags> es una herramienta para obtener las opciones de "
"compilación a usar durante la construcción de paquetes Debian."

#. type: Plain text
#: dpkg-buildflags.1:15
msgid ""
"The default flags are defined by the vendor but they can be extended/"
"overriden in several ways:"
msgstr ""
"Las opciones predefinidas se definen por el proveedor, pero se pueden "
"extender y sustituir de varias formas:"

#. type: IP
#: dpkg-buildflags.1:15
#, no-wrap
msgid "1."
msgstr "1."

#. type: Plain text
#: dpkg-buildflags.1:17
msgid "system-wide with B</etc/dpkg/buildflags.conf>;"
msgstr "Para todo el sistema con B</etc/dpkg/buildflags.conf>;"

#. type: IP
#: dpkg-buildflags.1:17
#, no-wrap
msgid "2."
msgstr "2."

#. type: Plain text
#: dpkg-buildflags.1:20
msgid ""
"for the current user with B<$XDG_CONFIG_HOME/dpkg/buildflags.conf> where B<"
"$XDG_CONFIG_HOME> defaults to B<$HOME/.config>;"
msgstr ""
"Para el usuario actual con B<$XDG_CONFIG_HOME/dpkg/buildflags.conf>, dónde B<"
"$XDG_CONFIG_HOME> tiene como valor predefinido B<$HOME/.config>;"

#. type: IP
#: dpkg-buildflags.1:20
#, no-wrap
msgid "3."
msgstr "3."

#. type: Plain text
#: dpkg-buildflags.1:23
#, fuzzy
#| msgid "temporarily with environment variables (see section B<ENVIRONMENT>)."
msgid ""
"temporarily by the user with environment variables (see section "
"B<ENVIRONMENT>);"
msgstr ""
"Temporalmente con variables de entorno (consulte la sección B<ENTORNO>)."

#. type: IP
#: dpkg-buildflags.1:23
#, no-wrap
msgid "4."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:26
#, fuzzy
#| msgid "temporarily with environment variables (see section B<ENVIRONMENT>)."
msgid ""
"dynamically by the package maintainer with environment variables set via "
"B<debian/rules> (see section B<ENVIRONMENT>)."
msgstr ""
"Temporalmente con variables de entorno (consulte la sección B<ENTORNO>)."

#. type: Plain text
#: dpkg-buildflags.1:28
msgid "The configuration files can contain two types of directives:"
msgstr "Los ficheros de configuración pueden contener dos tipos de directivas:"

#. type: TP
#: dpkg-buildflags.1:28
#, no-wrap
msgid "B<SET>I< flag value>"
msgstr "B<SET>I< opción valor>"

#. type: Plain text
#: dpkg-buildflags.1:31
msgid "Override the flag named I<flag> to have the value I<value>."
msgstr "Sustituye la opción llamada I<opción> con el valor I<valor>."

#. type: TP
#: dpkg-buildflags.1:31
#, fuzzy, no-wrap
#| msgid "B<SET>I< flag value>"
msgid "B<STRIP>I< flag value>"
msgstr "B<SET>I< opción valor>"

#. type: Plain text
#: dpkg-buildflags.1:34
#, fuzzy
#| msgid "Override the flag named I<flag> to have the value I<value>."
msgid ""
"Strip from the flag named I<flag> all the build flags listed in I<value>."
msgstr "Sustituye la opción llamada I<opción> con el valor I<valor>."

#. type: TP
#: dpkg-buildflags.1:34
#, no-wrap
msgid "B<APPEND>I< flag value>"
msgstr "B<APPEND>I< opción valor>"

#. type: Plain text
#: dpkg-buildflags.1:38
#, fuzzy
#| msgid ""
#| "Extend the flag named I<flag> with the options given in I<value>.  A "
#| "space is prepended to the appended value if the flag's current value is "
#| "non-empty."
msgid ""
"Extend the flag named I<flag> by appending the options given in I<value>.  A "
"space is prepended to the appended value if the flag's current value is non-"
"empty."
msgstr ""
"Extiende la opción llamada I<opción> con las opciones dadas en I<valor>. Se "
"prefijará un espacio al valor añadido si el valor actual de la opción no "
"está vacío."

#. type: TP
#: dpkg-buildflags.1:38
#, fuzzy, no-wrap
#| msgid "B<APPEND>I< flag value>"
msgid "B<PREPEND>I< flag value>"
msgstr "B<APPEND>I< opción valor>"

#. type: Plain text
#: dpkg-buildflags.1:42
#, fuzzy
#| msgid ""
#| "Extend the flag named I<flag> with the options given in I<value>.  A "
#| "space is prepended to the appended value if the flag's current value is "
#| "non-empty."
msgid ""
"Extend the flag named I<flag> by prepending the options given in I<value>.  "
"A space is appended to the prepended value if the flag's current value is "
"non-empty."
msgstr ""
"Extiende la opción llamada I<opción> con las opciones dadas en I<valor>. Se "
"prefijará un espacio al valor añadido si el valor actual de la opción no "
"está vacío."

#. type: Plain text
#: dpkg-buildflags.1:45
msgid ""
"The configuration files can contain comments on lines starting with a hash "
"(#). Empty lines are also ignored."
msgstr ""
"Los ficheros de configuración pueden contener comentarios en líneas que "
"empiecen con «#». También se ignoran líneas vacías."

#. type: TP
#: dpkg-buildflags.1:46
#, fuzzy, no-wrap
#| msgid "B<--debug>"
msgid "B<--dump>"
msgstr "B<--debug>"

#. type: Plain text
#: dpkg-buildflags.1:51
msgid ""
"Print to standard output all compilation flags and their values. It prints "
"one flag per line separated from its value by an equal sign "
"(\"I<flag>=I<value>\"). This is the default action."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:51
#, no-wrap
msgid "B<--list>"
msgstr "B<--list>"

#. type: Plain text
#: dpkg-buildflags.1:56
msgid ""
"Print the list of flags supported by the current vendor (one per line). See "
"the B<SUPPORTED FLAGS> section for more information about them."
msgstr ""
"Muestra la lista de opciones aceptadas por el proveedor actual (uno por "
"línea). Para más información acerca de ellos consulte la sección B<OPCIONES "
"ACEPTADAS>."

#. type: TP
#: dpkg-buildflags.1:56
#, no-wrap
msgid "B<--export=>I<format>"
msgstr "B<--export=>I<format>"

#. type: Plain text
#: dpkg-buildflags.1:66
#, fuzzy
#| msgid ""
#| "Print to standard output shell (if I<format> is B<sh>) or make (if "
#| "I<format> is B<make>) commands that can be used to export all the "
#| "compilation flags in the environment. If the I<format> value is not "
#| "given, B<sh> is assumed. Only compilation flags starting with an upper "
#| "case character are included, others are assumed to not be suitable for "
#| "the environment."
msgid ""
"Print to standard output shell (if I<format> is B<sh>) or make (if I<format> "
"is B<make>) commands that can be used to export all the compilation flags in "
"the environment. If I<format> is B<configure> then the output can be used on "
"a B<./configure> command-line. If the I<format> value is not given, B<sh> is "
"assumed. Only compilation flags starting with an upper case character are "
"included, others are assumed to not be suitable for the environment."
msgstr ""
"Muestra por la salida del intérprete de órdenes estándar (si I<format> es "
"B<sh>) o make (si I<format> es B<make>) las órdenes que se pueden usar para "
"exportar todas las opciones de compilación en el entorno. Se asume B<sh> si "
"no se introduce el valor I<format>. Sólo se incluyen opciones de compilación "
"que empiezan con un carácter en mayúscula, se asume que los otros no son "
"adecuados para el entorno."

#. type: TP
#: dpkg-buildflags.1:66
#, no-wrap
msgid "B<--get>I< flag>"
msgstr "B<--get>I< opción>"

#. type: Plain text
#: dpkg-buildflags.1:70
msgid ""
"Print the value of the flag on standard output. Exits with 0 if the flag is "
"known otherwise exits with 1."
msgstr ""
"Muestra el valor de la opción por la salida estándar. Cierra con valor 0 si "
"la opción es conocida, y el valor 1 en caso contrario."

#. type: TP
#: dpkg-buildflags.1:70
#, no-wrap
msgid "B<--origin>I< flag>"
msgstr "B<--origin>I< opción>"

#. type: Plain text
#: dpkg-buildflags.1:75
msgid ""
"Print the origin of the value that is returned by B<--get>. Exits with 0 if "
"the flag is known otherwise exits with 1. The origin can be one of the "
"following values:"
msgstr ""
"Muestra el origen del valor obtenido con B<--get>. Cierro con valor 0 si la "
"opción es conocida, y el valor 1 en caso contrario. El origen puede ser "
"cualquiera de las siguientes opciones:"

#. type: TP
#: dpkg-buildflags.1:76
#, no-wrap
msgid "B<vendor>"
msgstr "B<vendor>"

#. type: Plain text
#: dpkg-buildflags.1:79
msgid "the original flag set by the vendor is returned;"
msgstr "Devuelve la opción originalmente definida por el proveedor;"

#. type: TP
#: dpkg-buildflags.1:79
#, no-wrap
msgid "B<system>"
msgstr "B<system>"

#. type: Plain text
#: dpkg-buildflags.1:82
msgid "the flag is set/modified by a system-wide configuration;"
msgstr ""
"La opción está definida o modificada por una configuración que afecta a todo "
"el sistema;"

#. type: TP
#: dpkg-buildflags.1:82
#, no-wrap
msgid "B<user>"
msgstr "B<user>"

#. type: Plain text
#: dpkg-buildflags.1:85
msgid "the flag is set/modified by a user-specific configuration;"
msgstr ""
"La opción esta definida o modificada por una configuración específica del "
"usuario;"

#. type: TP
#: dpkg-buildflags.1:85
#, no-wrap
msgid "B<env>"
msgstr "B<env>"

#. type: Plain text
#: dpkg-buildflags.1:88
msgid "the flag is set/modified by an environment-specific configuration."
msgstr ""
"La opción esta definida o modificado por una configuración específica del "
"entorno."

#. type: SH
#: dpkg-buildflags.1:96
#, no-wrap
msgid "SUPPORTED FLAGS"
msgstr "OPCIONES ACEPTADAS"

#. type: TP
#: dpkg-buildflags.1:97
#, no-wrap
msgid "B<CFLAGS>"
msgstr "B<CFLAGS>"

#. type: Plain text
#: dpkg-buildflags.1:103
msgid ""
"Options for the C compiler. The default value set by the vendor includes I<-"
"g> and the default optimization level (I<-O2> usually, or I<-O0> if the "
"B<DEB_BUILD_OPTIONS> environment variable defines I<noopt>)."
msgstr ""
"Opciones para el compilador C. El valor por omisión definido por el "
"proveedor incluye I<-g> y el nivel de optimización predefinido "
"(habitualmente I<-O2>, o I<-O0> si la variable de entorno "
"B<DEB_BUILD_OPTIONS> define I<noopt>)."

#. type: TP
#: dpkg-buildflags.1:103
#, no-wrap
msgid "B<CPPFLAGS>"
msgstr "B<CPPFLAGS>"

#. type: Plain text
#: dpkg-buildflags.1:106
msgid "Options for the C preprocessor. Default value: empty."
msgstr "Opciones para el preprocesador C. Valor por omisión: vacío."

#. type: TP
#: dpkg-buildflags.1:106
#, no-wrap
msgid "B<CXXFLAGS>"
msgstr "B<CXXFLAGS>"

#. type: Plain text
#: dpkg-buildflags.1:109
msgid "Options for the C++ compiler. Same as B<CFLAGS>."
msgstr "Opciones para el compilador C++. Idéntica a B<CFLAGS>."

#. type: TP
#: dpkg-buildflags.1:109
#, no-wrap
msgid "B<FFLAGS>"
msgstr "B<FFLAGS>"

#. type: Plain text
#: dpkg-buildflags.1:112
msgid "Options for the Fortran compiler. Same as B<CFLAGS>."
msgstr "Opciones para el compilador Fortran. Idéntica a B<CFLAGS>."

#. type: TP
#: dpkg-buildflags.1:112
#, no-wrap
msgid "B<LDFLAGS>"
msgstr "B<LDFLAGS>"

#. type: Plain text
#: dpkg-buildflags.1:120
msgid ""
"Options passed to the compiler when linking executables or shared objects "
"(if the linker is called directly, then B<-Wl> and B<,> have to be stripped "
"from these options). Default value: empty."
msgstr ""
"Opciones introducidas al compilador al enlazar ejecutables u objetos "
"compartidos (en el caso de invocar al enlazador directamente, debe eliminar "
"B<-Wl> y «B<,>» de estas opciones). Valor por omisión: vacío."

#. type: TP
#: dpkg-buildflags.1:122
#, no-wrap
msgid "B</etc/dpkg/buildflags.conf>"
msgstr "B</etc/dpkg/buildflags.conf>"

#. type: Plain text
#: dpkg-buildflags.1:125
msgid "System wide configuration file."
msgstr "Fichero de configuración de todo el sistema."

#. type: TP
#: dpkg-buildflags.1:125
#, no-wrap
msgid "B<$XDG_CONFIG_HOME/dpkg/buildflags.conf> or B<$HOME/.config/dpkg/buildflags.conf>"
msgstr "B<$XDG_CONFIG_HOME/dpkg/buildflags.conf> o B<$HOME/.config/dpkg/buildflags.conf>"

#. type: Plain text
#: dpkg-buildflags.1:128
msgid "User configuration file."
msgstr "Fichero de configuración del usuario."

#. type: Plain text
#: dpkg-buildflags.1:135
msgid ""
"There are 2 sets of environment variables doing the same operations, the "
"first one (DEB_I<flag>_I<op>) should never be used within B<debian/rules>. "
"It's meant for any user that wants to rebuild the source package with "
"different build flags. The second set (DEB_I<flag>_MAINT_I<op>) should only "
"be used in B<debian/rules> by package maintainers to change the resulting "
"build flags."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:135
#, no-wrap
msgid "B<DEB_>I<flag>B<_SET>"
msgstr "B<DEB_>I<opción>B<_SET>"

#. type: TQ
#: dpkg-buildflags.1:137
#, fuzzy, no-wrap
#| msgid "B<DEB_>I<flag>B<_SET>"
msgid "B<DEB_>I<flag>B<_MAINT_SET>"
msgstr "B<DEB_>I<opción>B<_SET>"

#. type: Plain text
#: dpkg-buildflags.1:141
msgid ""
"This variable can be used to force the value returned for the given I<flag>."
msgstr ""
"Esta variable se puede usar para forzar el valor devuelto para la I<opción> "
"dada."

#. type: TP
#: dpkg-buildflags.1:141
#, fuzzy, no-wrap
#| msgid "B<DEB_>I<flag>B<_SET>"
msgid "B<DEB_>I<flag>B<_STRIP>"
msgstr "B<DEB_>I<opción>B<_SET>"

#. type: TQ
#: dpkg-buildflags.1:143
#, fuzzy, no-wrap
#| msgid "B<DEB_>I<flag>B<_SET>"
msgid "B<DEB_>I<flag>B<_MAINT_STRIP>"
msgstr "B<DEB_>I<opción>B<_SET>"

#. type: Plain text
#: dpkg-buildflags.1:148
#, fuzzy
#| msgid ""
#| "This variable can be used to append supplementary options to the value "
#| "returned for the given I<flag>."
msgid ""
"This variable can be used to provide a space separated list of options that "
"will be stripped from the set of flags returned for the given I<flag>."
msgstr ""
"Esta variable se puede usar para añadir opciones adicionales al valor "
"devuelto por la I<opción> dada."

#. type: TP
#: dpkg-buildflags.1:148
#, no-wrap
msgid "B<DEB_>I<flag>B<_APPEND>"
msgstr "B<DEB_>I<opción>B<_APPEND>"

#. type: TQ
#: dpkg-buildflags.1:150
#, fuzzy, no-wrap
#| msgid "B<DEB_>I<flag>B<_APPEND>"
msgid "B<DEB_>I<flag>B<_MAINT_APPEND>"
msgstr "B<DEB_>I<opción>B<_APPEND>"

#. type: Plain text
#: dpkg-buildflags.1:154
msgid ""
"This variable can be used to append supplementary options to the value "
"returned for the given I<flag>."
msgstr ""
"Esta variable se puede usar para añadir opciones adicionales al valor "
"devuelto por la I<opción> dada."

#. type: TP
#: dpkg-buildflags.1:154
#, fuzzy, no-wrap
#| msgid "B<DEB_>I<flag>B<_APPEND>"
msgid "B<DEB_>I<flag>B<_PREPEND>"
msgstr "B<DEB_>I<opción>B<_APPEND>"

#. type: TQ
#: dpkg-buildflags.1:156
#, fuzzy, no-wrap
#| msgid "B<DEB_>I<flag>B<_APPEND>"
msgid "B<DEB_>I<flag>B<_MAINT_PREPEND>"
msgstr "B<DEB_>I<opción>B<_APPEND>"

#. type: Plain text
#: dpkg-buildflags.1:160
#, fuzzy
#| msgid ""
#| "This variable can be used to append supplementary options to the value "
#| "returned for the given I<flag>."
msgid ""
"This variable can be used to prepend supplementary options to the value "
"returned for the given I<flag>."
msgstr ""
"Esta variable se puede usar para añadir opciones adicionales al valor "
"devuelto por la I<opción> dada."

#. type: TP
#: dpkg-buildflags.1:160
#, fuzzy, no-wrap
#| msgid "B<DEB_>I<flag>B<_SET>"
msgid "B<DEB_BUILD_MAINT_OPTIONS>"
msgstr "B<DEB_>I<opción>B<_SET>"

#. type: Plain text
#: dpkg-buildflags.1:165
msgid ""
"This variable can be used to disable/enable various hardening build flags "
"through the B<hardening> option. See the B<HARDENING> section for details."
msgstr ""

#. type: SH
#: dpkg-buildflags.1:166
#, fuzzy, no-wrap
#| msgid "WARNING"
msgid "HARDENING"
msgstr "AVISO"

#. type: Plain text
#: dpkg-buildflags.1:171
msgid ""
"Several compile-time options (detailed below) can be used to help harden a "
"resulting binary against memory corruption attacks, or provide additional "
"warning messages during compilation. Except as noted below, these are "
"enabled by default for architectures that support them."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:177
msgid ""
"Each hardening feature can be enabled and disabled in the "
"B<DEB_BUILD_MAINT_OPTIONS> environment variable's B<hardening> value with "
"the \"+\" and \"-\" modifier. For example, to enable the \"pie\" feature and "
"disable the \"fortify\" feature you can do this in B<debian/rules>:"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:179
#, no-wrap
msgid "  export DEB_BUILD_MAINT_OPTIONS=hardening=+pie,-fortify\n"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:183
msgid ""
"The special feature B<all> can be used to enable or disable all hardening "
"features at the same time. Thus disabling everything and enabling only "
"\"format\" and \"fortify\" can be achieved with:"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:185
#, no-wrap
msgid "  export DEB_BUILD_MAINT_OPTIONS=hardening=-all,+format,+fortify\n"
msgstr ""

#. type: TP
#: dpkg-buildflags.1:186
#, fuzzy, no-wrap
#| msgid "B<Format>"
msgid "B<format>"
msgstr "B<Format>"

#. type: Plain text
#: dpkg-buildflags.1:198
msgid ""
"This setting (enabled by default) adds B<-Wformat -Wformat-security -"
"Werror=format-security> to B<CFLAGS> and B<CXXFLAGS>. This will warn about "
"improper format string uses, and will fail when format functions are used in "
"a way that that represent possible security problems. At present, this warns "
"about calls to B<printf> and B<scanf> functions where the format string is "
"not a string literal and there are no format arguments, as in B<printf(foo);"
"> instead of B<printf(\"%s\", foo);> This may be a security hole if the "
"format string came from untrusted input and contains \"%n\"."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:199
#, no-wrap
msgid "B<fortify>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:210
msgid ""
"This setting (enabled by default) adds B<-D_FORTIFY_SOURCE=2> to B<CFLAGS> "
"and B<CXXFLAGS>. During code generation the compiler knows a great deal of "
"information about buffer sizes (where possible), and attempts to replace "
"insecure unlimited length buffer function calls with length-limited ones. "
"This is especially useful for old, crufty code.  Additionally, format "
"strings in writable memory that contain '%n' are blocked. If an application "
"depends on such a format string, it will need to be worked around."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:213
msgid ""
"Note that for this option to have any effect, the source must also be "
"compiled with B<-O1> or higher."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:213
#, no-wrap
msgid "B<stackprotector>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:222
msgid ""
"This setting (enabled by default) adds B<-fstack-protector --param=ssp-"
"buffer-size=4> to B<CFLAGS> and B<CXXFLAGS>. This adds safety checks against "
"stack overwrites. This renders many potential code injection attacks into "
"aborting situations. In the best case this turns code injection "
"vulnerabilities into denial of service or into non-issues (depending on the "
"application)."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:226
msgid ""
"This feature requires linking against glibc (or another provider of "
"B<__stack_chk_fail>), so needs to be disabled when building with B<-"
"nostdlib> or B<-ffreestanding> or similar."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:227
#, fuzzy, no-wrap
#| msgid "B<regex>"
msgid "B<relro>"
msgstr "B<regex>"

#. type: Plain text
#: dpkg-buildflags.1:235
msgid ""
"This setting (enabled by default) adds B<-Wl,-z,relro> to B<LDFLAGS>.  "
"During program load, several ELF memory sections need to be written to by "
"the linker. This flags the loader to turn these sections read-only before "
"turning over control to the program. Most notably this prevents GOT "
"overwrite attacks."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:236
#, no-wrap
msgid "B<bindnow>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:243
msgid ""
"This setting (disabled by default) adds B<-Wl,-z,now> to B<LDFLAGS>. During "
"program load, all dynamic symbols are resolved, allowing for the entire PLT "
"to be marked read-only (due to B<relro> above)."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:244
#, no-wrap
msgid "B<pie>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:256
msgid ""
"This setting (disabled by default) adds B<-fPIE> to B<CFLAGS> and "
"B<CXXFLAGS>, and B<-fPIE -pie> to B<LDFLAGS>. Position Independent "
"Executable are needed to take advantage of Address Space Layout "
"Randomization, supported by some kernel versions. While ASLR can already be "
"enforced for data areas in the stack and heap (brk and mmap), the code areas "
"must be compiled as position-independent. Shared libraries already do this (-"
"fPIC), so they gain ASLR automatically, but binary .text regions need to be "
"build PIE to gain ASLR. When this happens, ROP (Return Oriented Programming) "
"attacks are much harder since there are no static locations to bounce off of "
"during a memory corruption attack."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:259
msgid ""
"This is not compatible with B<-fPIC> so care must be taken when building "
"shared objects."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:265
msgid ""
"Additionally, since PIE is implemented via a general register, some "
"architectures (most notably i386) can see performance losses of up to 15% in "
"very text-segment-heavy application workloads; most workloads see less than "
"1%. Architectures with more general registers (e.g. amd64)  do not see as "
"high a worst-case penalty."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:268
#, fuzzy
#| msgid "Copyright \\(co 2008-2010 Rapha\\[:e]l Hertzog"
msgid "Copyright \\(co 2010-2011 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2008-2010 Rapha\\[:e]l Hertzog"

#. type: Plain text
#: dpkg-buildflags.1:270
#, fuzzy
#| msgid "Copyright \\(co 2001 Joey Hess"
msgid "Copyright \\(co 2011 Kees Cook"
msgstr "Copyright \\(co 2001 Joey Hess"

#. type: TH
#: dpkg-buildpackage.1:1
#, no-wrap
msgid "dpkg-buildpackage"
msgstr "dpkg-buildpackage"

#. type: Plain text
#: dpkg-buildpackage.1:4
msgid "dpkg-buildpackage - build binary or source packages from sources"
msgstr ""
"dpkg-buildpackage - Construcción de paquetes binarios o fuente a partir de "
"las fuentes"

#. type: Plain text
#: dpkg-buildpackage.1:8
#, fuzzy
#| msgid "B<dpkg-buildpackage> [I<options>]"
msgid "B<dpkg-buildpackage> [I<option>...]"
msgstr "B<dpkg-buildpackage> [I<opciones>]"

#. type: Plain text
#: dpkg-buildpackage.1:13
msgid ""
"B<dpkg-buildpackage> is a program that automates the process of building a "
"Debian package. It consists of the following steps:"
msgstr ""
"B<dpkg-buildpackage> es un programa que automatiza el proceso de "
"construcción de un paquete de Debian. Éste consiste de los siguientes pasos:"

#. type: IP
#: dpkg-buildpackage.1:13
#, no-wrap
msgid "B<1.>"
msgstr "B<1.>"

#. type: Plain text
#: dpkg-buildpackage.1:17
msgid ""
"It prepares the build environment by setting various environment variables "
"(see B<ENVIRONMENT>) and calls B<dpkg-source --before-build> (unless B<-T> "
"or B<--target> has been used)."
msgstr ""
"Preparación del entorno de construcción, definiendo varias variables de "
"entorno (consulte B<VARIABLES DE ENTORNO>) para invocar B<dpkg-source --"
"before-build> (a menos que se defina B<-T> o B<--target>."

#. type: IP
#: dpkg-buildpackage.1:17
#, no-wrap
msgid "B<2.>"
msgstr "B<2.>"

#. type: Plain text
#: dpkg-buildpackage.1:20
msgid ""
"It checks that the build-dependencies and build-conflicts are satisfied "
"(unless B<-d> is specified)."
msgstr ""
"Verificar que las dependencias y conflictos de construcción («build-"
"dependencies» y «build-conflicts», respectivamente) estén satisfechas (a "
"menos que especifique B<-d>)."

#. type: IP
#: dpkg-buildpackage.1:20
#, no-wrap
msgid "B<3.>"
msgstr "B<3.>"

#. type: Plain text
#: dpkg-buildpackage.1:25
msgid ""
"If a specific target has been selected with the B<-T> or B<--target> option, "
"it calls that target and stops here. Otherwise it calls B<fakeroot debian/"
"rules clean> to clean the build-tree (unless B<-nc> is specified)."
msgstr ""
"Si se selecciona un objetivo específico con B<-T> o B<--target>, invoca ese "
"objetivo y se detiene. De no ser así, invoca B<fakeroot debian/rules clean> "
"para limpiar el árbol de construcción (a menos que especifique B<-nc>)."

#. type: IP
#: dpkg-buildpackage.1:25
#, no-wrap
msgid "B<4.>"
msgstr "B<4.>"

#. type: Plain text
#: dpkg-buildpackage.1:29
msgid ""
"It calls B<dpkg-source -b> to generate the source package (unless a binary-"
"only build has been requested with B<-b>, B<-B> or B<-A>)."
msgstr ""
"Invocación de B<dpkg-source -b> para generar el paquete fuente (a menos que "
"se requiera sólo la construcción del paquete binario con B<-b>, B<-B> o B<-"
"A>)."

#. type: IP
#: dpkg-buildpackage.1:29
#, no-wrap
msgid "B<5.>"
msgstr "B<5.>"

#. type: Plain text
#: dpkg-buildpackage.1:36
#, fuzzy
#| msgid ""
#| "It calls B<debian/rules> B<build> followed by B<fakeroot debian/rules> "
#| "I<binary-target> (unless a source-only build has been requested with B<-"
#| "S>). Note that I<binary-target> is either B<binary> (default case, or if "
#| "B<-b> is specified)  or B<binary-arch> (if B<-B> is specified) or "
#| "B<binary-indep> (if B<-A> is specified)."
msgid ""
"It calls B<debian/rules> B<build> followed by B<fakeroot debian/rules> "
"I<binary-target> (unless a source-only build has been requested with B<-S>). "
"Note that I<binary-target> is either B<binary> (default case, or if B<-b> is "
"specified)  or B<binary-arch> (if B<-B> is specified) or B<binary-indep> (if "
"B<-A> is specified)."
msgstr ""
"Invocación de B<debian/rules> B<build> seguido de B<fakeroot debian/rules> "
"I<binary-target> (a menos que se requiera sólo la construcción de las "
"fuentes mediante B<-S>). Tenga en cuenta que  I<binary-target> es o bien "
"B<binary> (por omisión, o si se especifica B<-b>), B<binary-arch> (si se "
"especifica B<-B>), o B<binary-indep> (si se especifica B<-A>)."

#. type: IP
#: dpkg-buildpackage.1:36
#, no-wrap
msgid "B<6.>"
msgstr "B<6.>"

#. type: Plain text
#: dpkg-buildpackage.1:39
msgid ""
"It calls B<gpg> to sign the B<.dsc> file (if any, unless B<-us> is "
"specified)."
msgstr ""
"Invocación de B<gpg> para firmar el fichero B<.dsc> (de existir, a menos que "
"se especifique B<-us>)."

#. type: IP
#: dpkg-buildpackage.1:39
#, no-wrap
msgid "B<7.>"
msgstr "B<7.>"

#. type: Plain text
#: dpkg-buildpackage.1:43
msgid ""
"It calls B<dpkg-genchanges> to generate a B<.changes> file.  Many B<dpkg-"
"buildpackage> options are forwarded to B<dpkg-genchanges>."
msgstr ""
"Invocación de B<dpkg-genchanges> para generar el fichero B<.changes>. Muchas "
"de las opciones de B<dpkg-buildpackage> se introducen a B<dpkg-genchanges>."

#. type: IP
#: dpkg-buildpackage.1:43
#, no-wrap
msgid "B<8.>"
msgstr "B<8.>"

#. type: Plain text
#: dpkg-buildpackage.1:46
msgid ""
"It calls B<gpg> to sign the B<.changes> file (unless B<-uc> is specified)."
msgstr ""
"Invocación de B<gpg> para firmar el fichero B<.changes> (a menos que se "
"especifique B<-us>)."

#. type: IP
#: dpkg-buildpackage.1:46
#, no-wrap
msgid "B<9.>"
msgstr "B<9.>"

#. type: Plain text
#: dpkg-buildpackage.1:49
msgid ""
"If B<-tc> is specified, it will call B<fakeroot debian/rules clean> again. "
"Finally it calls B<dpkg-source --after-build>."
msgstr ""
"Si se especifica B<-tc>, se invocará nuevamente B<fakeroot debian/rules "
"clean>. Por último, invoca B<dpkg-source --after-build>."

#. type: TP
#: dpkg-buildpackage.1:51
#, no-wrap
msgid "B<-b>"
msgstr "B<-b>"

#. type: Plain text
#: dpkg-buildpackage.1:55
msgid ""
"Specifies a binary-only build, no source files are to be built and/or "
"distributed. Passed to B<dpkg-genchanges>."
msgstr ""
"Especifica una construcción sólo binaria, no se construirán ficheros de "
"fuentes y/o distribuidas. Se introduce a B<dpkg-genchanges>."

#. type: TP
#: dpkg-buildpackage.1:55 dpkg-checkbuilddeps.1:23
#, no-wrap
msgid "B<-B>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-buildpackage.1:59
msgid ""
"Specifies a binary-only build, limited to architecture dependent packages.  "
"Passed to B<dpkg-genchanges>."
msgstr ""
"Especifica una construcción sólo binaria, limitada a paquetes dependientes "
"de arquitectura. Se introduce a B<dpkg-genchanges>."

#. type: TP
#: dpkg-buildpackage.1:59
#, no-wrap
msgid "B<-A>"
msgstr "B<-A>"

#. type: Plain text
#: dpkg-buildpackage.1:63
msgid ""
"Specifies a binary-only build, limited to architecture independent packages. "
"Passed to B<dpkg-genchanges>."
msgstr ""
"Especifica una construcción sólo binaria, limitada a paquetes independientes "
"de la arquitectura. Se introduce a B<dpkg-genchanges>."

#. type: TP
#: dpkg-buildpackage.1:63 dpkg-genchanges.1:27
#, no-wrap
msgid "B<-S>"
msgstr "B<-S>"

#. type: Plain text
#: dpkg-buildpackage.1:67
msgid ""
"Specifies a source-only build, no binary packages need to be made.  Passed "
"to B<dpkg-genchanges>."
msgstr ""
"Especifica una construcción sólo de las fuentes, no se construirá ningún "
"paquete binario. Se introduce a B<dpkg-genchanges>."

#. type: TP
#: dpkg-buildpackage.1:67
#, no-wrap
msgid "B<-F>"
msgstr "B<-F>"

#. type: Plain text
#: dpkg-buildpackage.1:71
msgid ""
"Specifies a normal full build, binary and source packages will be built.  "
"This is the same as the default case when no build option is specified."
msgstr ""
"Define una construcción completa normal, se construyen los paquetes binarios "
"y de fuente. Es idéntica al comportamiento predefinido cuando no se define "
"ninguna opción de construcción."

#. type: Plain text
#: dpkg-buildpackage.1:73
msgid "B<--target=>I<target>"
msgstr "B<--target=>I<target>"

#. type: Plain text
#: dpkg-buildpackage.1:75
msgid "B<--target >I<target>"
msgstr "B<--target >I<target>"

#. type: Plain text
#: dpkg-buildpackage.1:77
msgid "B<-T>I<target>"
msgstr "B<-T>I<target>"

#. type: Plain text
#: dpkg-buildpackage.1:83
msgid ""
"Calls B<debian/rules> I<target> after having setup the build environment and "
"stops the package build process here. If B<--as-root> is also given, then "
"the command is executed as root (see B<-r>). Note that official targets that "
"are required to be run as root by the Debian policy do not need this option."
msgstr ""
"Invoca B<debian/rules> I<target> después de definir el entorno de "
"construcción, deteniendo en este punto el proceso de construcción del "
"paquete. Si se introduce B<--as-root>, la orden se ejecutará como el usuario "
"«root» (véase B<-r>). Tenga en cuenta que los objetivos oficiales que "
"precisan ejecutarse como administrador según las directrices de Debian no "
"necesitan esta opción."

#. type: TP
#: dpkg-buildpackage.1:84
#, no-wrap
msgid "B<--as-root>"
msgstr "B<--as-root>"

#. type: Plain text
#: dpkg-buildpackage.1:88
msgid ""
"Only meaningful together with B<--target>. Requires that the target be run "
"with root rights."
msgstr ""
"Su uso sólo tiene sentido con B<--target>. Requiere que se ejecute el "
"objetivo con permisos del usuario «root»."

#. type: TP
#: dpkg-buildpackage.1:90 dpkg-genchanges.1:36
#, no-wrap
msgid "B<-si>"
msgstr "B<-si>"

#. type: TP
#: dpkg-buildpackage.1:92 dpkg-genchanges.1:42
#, no-wrap
msgid "B<-sa>"
msgstr "B<-sa>"

#. type: TP
#: dpkg-buildpackage.1:94 dpkg-genchanges.1:45
#, no-wrap
msgid "B<-sd>"
msgstr "B<-sd>"

#. type: TP
#: dpkg-buildpackage.1:96 dpkg-genchanges.1:49 dpkg-gencontrol.1:38
#: dpkg-gensymbols.1:377
#, no-wrap
msgid "B<-v>I<version>"
msgstr "B<-v>I<versión>"

#. type: TP
#: dpkg-buildpackage.1:98 dpkg-genchanges.1:54
#, no-wrap
msgid "B<-C>I<changesdescription>"
msgstr "B<-C>I<descripción-de-cambios>"

#. type: TP
#: dpkg-buildpackage.1:100 dpkg-genchanges.1:60
#, no-wrap
msgid "B<-m>I<maintaineraddress>"
msgstr "B<-m>I<dirección-mantenedor>"

#. type: TP
#: dpkg-buildpackage.1:102 dpkg-genchanges.1:66
#, no-wrap
msgid "B<-e>I<maintaineraddress>"
msgstr "B<-e>I<dirección-mantenedor>"

#. type: Plain text
#: dpkg-buildpackage.1:104
msgid "Passed unchanged to B<dpkg-genchanges>. See its manual page."
msgstr ""
"Se introduce sin cambios a B<dpkg-genchanges>. Consulte la página de manual."

#. type: TP
#: dpkg-buildpackage.1:105
#, no-wrap
msgid "B<-a>I<architecture>"
msgstr "B<-a>I<arquitectura>"

#. type: Plain text
#: dpkg-buildpackage.1:110
msgid ""
"Specify the Debian architecture we build for. The architecture of the "
"machine we build on is determined automatically, and is also the default for "
"the host machine."
msgstr ""
"Especifica la arquitectura de Debian para la cual se construye el paquete. "
"La arquitectura de la máquina en la que se construye el paquete se detecta "
"automáticamente, y es también la arquitectura de destino por omisión para la "
"máquina anfitrión."

#. type: Plain text
#: dpkg-buildpackage.1:115
msgid ""
"Specify the GNU system type we build for. It can be used in place of -a or "
"as a complement to override the default GNU system type of the target Debian "
"architecture."
msgstr ""
"Define el tipo de sistema GNU para el cual se construye el paquete. Se puede "
"usar en lugar de «-a», o como un complemento para invalidar el tipo de "
"sistema GNU predefinido de la arquitectura Debian de destino."

#. type: TP
#: dpkg-buildpackage.1:115
#, no-wrap
msgid "B<-j>I<jobs>"
msgstr "B<-j>I<tareas>"

#. type: Plain text
#: dpkg-buildpackage.1:126
msgid ""
"Number of jobs allowed to be run simultaneously, equivalent to the B<make>"
"(1)  option of the same name. Will add itself to the MAKEFLAGS environment "
"variable, which should cause all subsequent make invocations to inherit the "
"option. Also adds B<parallel=>I<jobs> to the DEB_BUILD_OPTIONS environment "
"variable which allows debian/rules files to use this information for their "
"own purposes.  The B<parallel=>I<jobs> in DEB_BUILD_OPTIONS environment "
"variable will override the B<-j> value if this option is given."
msgstr ""
"El número máximo de tareas («jobs») ejecutándose simultáneamente, "
"equivalente a la opción de B<make>(1) del mismo nombre. Se añadirá a la "
"variable de entorno «MAKEFLAGS», que causa que todas las invocaciones "
"posteriores a «make» hereden esta opción. También añade "
"B<parallel=>I<tareas> a la variable de entorno «DEB_BUILD_OPTIONS», que "
"permite que los ficheros «debian/rules» usen esta información para sus "
"propios propósitos. B<parallel=>I<tareas> en la variable de entorno "
"«DEB_BUILD_OPTIONS» invalida el valor B<-j> en caso de introducir esta "
"opción."

#. type: TP
#: dpkg-buildpackage.1:126
#, no-wrap
msgid "B<-D>"
msgstr "B<-D>"

#. type: Plain text
#: dpkg-buildpackage.1:130
msgid ""
"Check build dependencies and conflicts; abort if unsatisfied. This is the "
"default behavior."
msgstr ""
"Verifica las dependencias y los conflictos de construcción, interrumpiendo "
"el proceso si alguna no está satisfecha. Este es el comportamiento por "
"omisión."

#. type: TP
#: dpkg-buildpackage.1:130 dpkg-gensymbols.1:432
#, no-wrap
msgid "B<-d>"
msgstr "B<-d>"

#. type: Plain text
#: dpkg-buildpackage.1:133
msgid "Do not check build dependencies and conflicts."
msgstr "No revisa dependencias ni conflictos de construcción."

#. type: TP
#: dpkg-buildpackage.1:133
#, no-wrap
msgid "B<-nc>"
msgstr "B<-nc>"

#. type: Plain text
#: dpkg-buildpackage.1:137
msgid ""
"Do not clean the source tree (implies B<-b> if nothing else has been "
"selected among B<-B>, B<-A> or B<-S>)."
msgstr ""
"No limpia el árbol de fuentes (implica B<-b> si no se introdujo B<-B>, B<-A> "
"o B<-S>)."

#. type: TP
#: dpkg-buildpackage.1:137
#, no-wrap
msgid "B<-tc>"
msgstr "B<-tc>"

#. type: Plain text
#: dpkg-buildpackage.1:143
msgid ""
"Clean the source tree (using I<gain-root-command> B<debian/rules clean>)  "
"after the package has been built."
msgstr ""
"Limpia el árbol de fuentes (usando I<orden-para-obtener-root> B<debian/rules "
"clean>) después de la creación del paquete."

#. type: TP
#: dpkg-buildpackage.1:143
#, no-wrap
msgid "B<-r>I<gain-root-command>"
msgstr "B<-r>I<orden-para-obtener-root>"

#. type: Plain text
#: dpkg-buildpackage.1:167
msgid ""
"When B<dpkg-buildpackage> needs to execute part of the build process as "
"root, it prefixes the command it executes with I<gain-root-command> if one "
"has been specified. Otherwise, if none has been specified, B<fakeroot> will "
"be used by default, if the command is present.  I<gain-root-command> should "
"start with the name of a program on the B<PATH> and will get as arguments "
"the name of the real command to run and the arguments it should take.  "
"I<gain-root-command> can include parameters (they must be space-separated) "
"but no shell metacharacters.  I<gain-root-command> might typically be "
"B<fakeroot>, B<sudo>, B<super> or B<really>.  B<su> is not suitable, since "
"it can only invoke the user's shell with B<-c> instead of passing arguments "
"individually to the command to be run."
msgstr ""
"Cuando B<dpkg-buildpackage> necesite ejecutar parte del proceso de "
"construcción como «root», añade el prefijo I<orden-para-obtener-root> a la "
"orden a ejecutar en caso de haberse especificado. La I<orden-para-obtener-"
"root> debe ser el nombre de un programa que esté dentro del B<PATH>, y "
"tomará como argumentos el nombre del proceso a ejecutar, así como los "
"argumentos que éste toma. La I<orden-para-obtener-root> puede incluir "
"parámetros, pero no caracteres especiales del intérprete de órdenes. La "
"I<orden-para-obtener-root> puede ser B<fakeroot>, B<sudo>, B<super> o "
"B<really>. B<su> no es adecuado ya que sólo puede invocar el intérprete de "
"órdenes del usuario con B<-c>, en lugar de introducir los argumentos "
"individualmente a la orden a ejecutar."

#. type: TP
#: dpkg-buildpackage.1:167
#, no-wrap
msgid "B<-R>I<rules-file>"
msgstr "B<-R>I<fichero-reglas>"

#. type: Plain text
#: dpkg-buildpackage.1:178
msgid ""
"Building a Debian package usually involves invoking B<debian/rules> as a "
"command with several standard parameters. With this option it's possible to "
"use another program invocation to build the package (it can include space "
"separated parameters).  Alternatively it can be used to execute the standard "
"rules file with another make program (for example by using B</usr/local/bin/"
"make -f debian/rules> as I<rules-file>)."
msgstr ""
"Habitualmente, construir un paquete de Debian incluye invocar B<debian/"
"rules> como una orden con varios parámetros estándar. Esta opción posibilita "
"invocar otro programa para construir el paquete (puede incluir parámetros "
"separados por espacios). Por otra parte, se puede usar para ejecutar el "
"fichero de reglas («rules») estándar con otro programa de make (por ejemplo, "
"usando B</usr/local/bin/make -f debian/rules> como I<fichero-reglas>."

#. type: TP
#: dpkg-buildpackage.1:178
#, no-wrap
msgid "B<-p>I<sign-command>"
msgstr "B<-p>I<orden-para-firmar>"

#. type: Plain text
#: dpkg-buildpackage.1:188
msgid ""
"When B<dpkg-buildpackage> needs to execute GPG or PGP to sign a source "
"control (B<.dsc>) file or a B<.changes> file it will run I<sign-command> "
"(searching the B<PATH> if necessary) instead of B<gpg>. I<sign-command> will "
"get all the arguments that B<pgp> would have gotten. If I<sign-command> "
"takes its arguments in GPG rather than PGP style, you should give the B<-"
"sgpg> option. I<sign-command> should not contain spaces or any other shell "
"metacharacters."
msgstr ""
"Cuando B<dpkg-buildpackage> necesita ejecutar GPG o PGP para firmar el "
"fichero fuente de control (B<.dsc>) o un fichero B<.changes>, ejecutará "
"I<orden-para-firmar> (buscando en B<PATH> si es necesario) en lugar de "
"B<gpg>. I<orden-para-firmar> recibirá todos los argumentos que obtendría "
"B<pgp>. Debe usar la opción B<-sgpg> si la I<orden-para-firmar> toma los "
"argumentos en formato GPG en vez de PGP. La I<orden-para-firmar> no debe "
"contener espacios ni tampoco caracteres especiales del intérprete de órdenes."

#. type: TP
#: dpkg-buildpackage.1:188
#, no-wrap
msgid "B<-k>I<key-id>"
msgstr "B<-k>I<llave-id>"

#. type: Plain text
#: dpkg-buildpackage.1:191
msgid "Specify a key-ID to use when signing packages."
msgstr ""
"Especifica una llave de identificación a usar para firmar los paquetes."

#. type: TP
#: dpkg-buildpackage.1:191
#, no-wrap
msgid "B<-us>"
msgstr "B<-us>"

#. type: Plain text
#: dpkg-buildpackage.1:194
msgid "Do not sign the source package."
msgstr "No firma el paquete fuente."

#. type: TP
#: dpkg-buildpackage.1:194
#, no-wrap
msgid "B<-uc>"
msgstr "B<-uc>"

#. type: Plain text
#: dpkg-buildpackage.1:197
msgid "Do not sign the B<.changes> file."
msgstr "No firma el fichero B<.changes>."

#. type: Plain text
#: dpkg-buildpackage.1:199
msgid "B<-i>[I<regexp>]"
msgstr "B<-i>[I<exp-reg>]"

#. type: Plain text
#: dpkg-buildpackage.1:201
msgid "B<-I>I<[pattern]>"
msgstr "B<-I>I<[patrón]>"

#. type: Plain text
#: dpkg-buildpackage.1:203
msgid "B<-s>[B<nsAkurKUR>]"
msgstr "B<-s>[B<nsAkurKUR>]"

#. type: Plain text
#: dpkg-buildpackage.1:205
msgid "B<-z>, B<-Z>"
msgstr "B<-z>, B<-Z>"

#. type: Plain text
#: dpkg-buildpackage.1:208
msgid "Passed unchanged to B<dpkg-source>. See its manual page."
msgstr ""
"Se introduce sin cambios a B<dpkg-source>. Consulte la página de manual."

#. type: TP
#: dpkg-buildpackage.1:209
#, no-wrap
msgid "B<--source-option=>I<opt>"
msgstr "B<--source-option=>I<opción>"

#. type: Plain text
#: dpkg-buildpackage.1:212
msgid "Pass option I<opt> to B<dpkg-source>."
msgstr "Introduce la opción I<opción> a B<dpkg-source>."

#. type: TP
#: dpkg-buildpackage.1:212
#, no-wrap
msgid "B<--changes-option=>I<opt>"
msgstr "B<--changes-option=>I<opción>"

#. type: Plain text
#: dpkg-buildpackage.1:215
msgid "Pass option I<opt> to B<dpkg-genchanges>."
msgstr "Introduce la opción I<opción> a B<dpkg-genchanges>."

#. type: Plain text
#: dpkg-buildpackage.1:219
msgid "B<--admindir >I<dir>"
msgstr "B<--admindir> I<directorio>"

#. type: Plain text
#: dpkg-buildpackage.1:222 dpkg-checkbuilddeps.1:23 dpkg-query.1:122
#: dpkg-shlibdeps.1:215 dpkg-trigger.1:43
msgid ""
"Change the location of the B<dpkg> database. The default location is I</var/"
"lib/dpkg>."
msgstr ""
"Cambia el directorio con la base de datos de B<dpkg>. Por omisión es I</var/"
"lib/dpkg>."

#. type: TP
#: dpkg-buildpackage.1:223 dpkg-checkbuilddeps.1:33 dpkg-distaddfile.1:32
#: dpkg-deb.1:172 dpkg-genchanges.1:131 dpkg-gencontrol.1:121
#: dpkg-gensymbols.1:443 dpkg-name.1:58 dpkg-parsechangelog.1:33
#: dpkg-query.1:110 dpkg-scanpackages.1:96 dpkg-shlibdeps.1:215
#: dpkg-source.1:96 dpkg-split.1:126 dpkg-trigger.1:31
#, no-wrap
msgid "B<-h>, B<--help>"
msgstr "B<-h>, B<--help>"

#. type: Plain text
#: dpkg-buildpackage.1:234
#, fuzzy
#| msgid ""
#| "Even if B<dpkg-buildpackage> export some variables, B<debian/rules> "
#| "should not rely on their presence and should instead use the respective "
#| "interface to retrieve the needed values."
msgid ""
"Even if B<dpkg-buildpackage> exports some variables, B<debian/rules> should "
"not rely on their presence and should instead use the respective interface "
"to retrieve the needed values."
msgstr ""
"Aún en el caso de que B<dpkg-buildpackage> exporte algunas variables, "
"B<debian/rules> no debería depender de su presencia, sino que debería usar "
"la interfaz adecuada para obtener los valores necesarios."

#. type: SS
#: dpkg-buildpackage.1:234
#, no-wrap
msgid "Variables set by dpkg-architecture"
msgstr "Variables definidas por dpkg-architecture"

#. type: Plain text
#: dpkg-buildpackage.1:238
msgid ""
"B<dpkg-architecture> is called with the B<-a> and B<-t> parameters "
"forwarded. Any variable that is output by its B<-s> option is integrated in "
"the build environment."
msgstr ""
"B<dpkg-architecture> se invoca con los parámetros B<-a> y B<-t>. Toda "
"variable que ofrece una salida mediante su opción B<-s> se integra en el "
"entorno de construcción."

#. type: SS
#: dpkg-buildpackage.1:238
#, no-wrap
msgid "Compiler flags are no longer exported"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:243
msgid ""
"Between versions 1.14.17 and 1.16.1, B<dpkg-buildpackage> exported compiler "
"flags (B<CFLAGS>, B<CXXFLAGS>, B<FFLAGS>, B<CPPFLAGS> and B<LDFLAGS>) with "
"values as returned by B<dpkg-buildflags>. This is no longer the case."
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:248
msgid ""
"It should be possible to specify spaces and shell metacharacters in and "
"initial arguments for I<gain-root-command> and I<sign-command>."
msgstr ""
"Debería ser posible especificar espacios y caracteres especiales del "
"intérprete de órdenes en los argumentos iniciales de la I<orden-para-obtener-"
"root> y la I<orden-para-firmar>."

#. type: Plain text
#: dpkg-buildpackage.1:256
#, fuzzy
#| msgid ""
#| "B<dpkg-source>(1), B<dpkg-architecture>(1), B<dpkg-genchanges>(1), "
#| "B<fakeroot>(1), B<gpg>(1)."
msgid ""
"B<dpkg-source>(1), B<dpkg-architecture>(1), B<dpkg-buildflags>(1), B<dpkg-"
"genchanges>(1), B<fakeroot>(1), B<gpg>(1)."
msgstr ""
"B<dpkg-source>(1), B<dpkg-architecture>(1), B<dpkg-genchanges>(1), "
"B<fakeroot>(1), B<gpg>(1)."

#. type: Plain text
#: dpkg-buildpackage.1:265
msgid "Copyright \\(co 2008-2010 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2008-2010 Rapha\\[:e]l Hertzog"

#. type: TH
#: dpkg-checkbuilddeps.1:1
#, no-wrap
msgid "dpkg-checkbuilddeps"
msgstr "dpkg-checkbuilddeps"

#. type: Plain text
#: dpkg-checkbuilddeps.1:4
msgid "dpkg-checkbuilddeps - check build dependencies and conflicts"
msgstr ""
"dpkg-checkbuilddeps - Comprueba las dependencias y conflictos de compilación"

#. type: Plain text
#: dpkg-checkbuilddeps.1:9
#, fuzzy
#| msgid "B<dpkg-checkbuilddeps> [I<options>] [I<control-file>]"
msgid "B<dpkg-checkbuilddeps> [I<option>...] [I<control-file>]"
msgstr "B<dpkg-checkbuilddeps> [I<opciones>] [I<fichero-control>]"

#. type: Plain text
#: dpkg-checkbuilddeps.1:14
msgid ""
"This program checks the installed packages in the system against the build "
"dependencies and build conflicts listed in the control file. If any are not "
"met, it displays them and exits with a nonzero return code."
msgstr ""
"Este programa comprueba que los paquetes instalados en el sistema satisfacen "
"las dependencias y conflictos de compilación listados en el fichero de "
"control del paquete. Si alguna de estas condiciones no se cumple avisa y "
"finaliza el proceso devolviendo un código de error distinto de cero."

#. type: Plain text
#: dpkg-checkbuilddeps.1:17
#, fuzzy
#| msgid ""
#| "By default, I<debian/control> is read, but an alternate control filename "
#| "may be specified on the command line."
msgid ""
"By default, B<debian/control> is read, but an alternate control filename may "
"be specified on the command line."
msgstr ""
"Por omisión se lee B<debian/control>, pero se puede especificar un fichero "
"de control alternativo en la línea de órdenes."

#. type: Plain text
#: dpkg-checkbuilddeps.1:27
msgid ""
"Ignore I<Build-Depends-Indep> lines. Use when no arch-indep packages will be "
"built."
msgstr ""
"Ignora las líneas I<Build-Depends-Indep>. Se debe usar cuando se construyen "
"paquetes independientes de la arquitectura."

#. type: TP
#: dpkg-checkbuilddeps.1:27
#, no-wrap
msgid "B<-d >I<build-depends-string>"
msgstr "B<-d >I<cadena-dependencias-compilación>"

#. type: TP
#: dpkg-checkbuilddeps.1:29
#, no-wrap
msgid "B<-c >I<build-conflicts-string>"
msgstr "B<-c >I<cadena-conflicto-compilación>"

#. type: Plain text
#: dpkg-checkbuilddeps.1:33
msgid ""
"Use the given build dependencies/conflicts instead of those contained in the "
"I<debian/control> file."
msgstr ""
"Usa las dependencias y conflictos de compilación dados en lugar de aquellos "
"listados en el fichero I<debian/control>."

#. type: Plain text
#: dpkg-checkbuilddeps.1:42
msgid "Copyright \\(co 2001 Joey Hess"
msgstr "Copyright \\(co 2001 Joey Hess"

#. type: TH
#: dpkg-distaddfile.1:1
#, no-wrap
msgid "dpkg-distaddfile"
msgstr "dpkg-distaddfile"

#. type: Plain text
#: dpkg-distaddfile.1:4
msgid "dpkg-distaddfile - add entries to debian/files"
msgstr "dpkg-distaddfile - Añade entradas a «debian/files»"

#. type: Plain text
#: dpkg-distaddfile.1:8
#, fuzzy
#| msgid "B<dpkg-distaddfile> [I<options>]I< filename section priority>"
msgid "B<dpkg-distaddfile> [I<option>...]I< filename section priority>"
msgstr "B<dpkg-distaddfile> [I<opciones>]I< fichero sección prioridad>"

#. type: Plain text
#: dpkg-distaddfile.1:13
msgid "B<dpkg-distaddfile> adds an entry for a named file to B<debian/files>."
msgstr ""
"B<dpkg-distaddfile> añade una entrada para un fichero dado a B<debian/files>."

#. type: Plain text
#: dpkg-distaddfile.1:18
msgid ""
"It takes three non-option arguments, the filename and the section and "
"priority for the B<.changes> file."
msgstr ""
"Toma tres argumentos no opcionales, el nombre de fichero, sección y "
"prioridad para el fichero B<.changes>."

#. type: Plain text
#: dpkg-distaddfile.1:26
msgid ""
"The filename should be specified relative to the directory where B<dpkg-"
"genchanges> will expect to find the files, usually B<..>, rather than being "
"a pathname relative to the current directory when B<dpkg-distaddfile> is run."
msgstr ""
"El nombre del fichero debe ser relativo al directorio donde B<dpkg-"
"genchanges> espera encontrar los ficheros, habitualmente B<..>, en lugar de "
"ser relativo al directorio donde se ejecuta B<dpkg-distaddfile>."

#. type: TP
#: dpkg-distaddfile.1:28 dpkg-genchanges.1:103 dpkg-gencontrol.1:69
#, no-wrap
msgid "B<-f>I<fileslistfile>"
msgstr "B<-f>I<fichero-lista-ficheros>"

#. type: Plain text
#: dpkg-distaddfile.1:32 dpkg-gencontrol.1:73
msgid ""
"Read or write the list of files to be uploaded here, rather than using "
"B<debian/files>."
msgstr ""
"Lee o escribe la lista de ficheros a subir desde el fichero especificado, en "
"lugar de usar B<debian/files>."

#. type: TP
#: dpkg-distaddfile.1:40 dpkg-genchanges.1:139 dpkg-gencontrol.1:134
#, no-wrap
msgid "B<debian/files>"
msgstr "B<debian/files>"

#. type: Plain text
#: dpkg-distaddfile.1:46
msgid ""
"The list of generated files which are part of the upload being prepared.  "
"B<dpkg-distaddfile> can be used to add additional files."
msgstr ""
"La lista de ficheros generados que son parte de los datos subidos en "
"proceso. Puede usar B<dpkg-distaddfile> para añadir ficheros adicionales."

#. type: TH
#: dpkg-deb.1:1
#, no-wrap
msgid "dpkg-deb"
msgstr "dpkg-deb"

#. type: Plain text
#: dpkg-deb.1:4
msgid "dpkg-deb - Debian package archive (.deb) manipulation tool"
msgstr ""
"dpkg-deb - Herramienta de manipulación de archivos de paquete («.deb») de "
"Debian"

#. type: Plain text
#: dpkg-deb.1:8
#, fuzzy
#| msgid "B<dpkg-deb> [I<options>] I<command>"
msgid "B<dpkg-deb> [I<option>...] I<command>"
msgstr "B<dpkg-deb> [I<opciones>] I<orden>"

#. type: Plain text
#: dpkg-deb.1:12
msgid ""
"B<dpkg-deb> packs, unpacks and provides information about Debian archives."
msgstr ""
"B<dpkg-deb> empaqueta, desempaqueta y ofrece información sobre archivos de "
"Debian."

#. type: Plain text
#: dpkg-deb.1:16
msgid "Use B<dpkg> to install and remove packages from your system."
msgstr "Use B<dpkg> para instalar y eliminar paquetes de su sistema."

#. type: Plain text
#: dpkg-deb.1:26
msgid ""
"You can also invoke B<dpkg-deb> by calling B<dpkg> with whatever options you "
"want to pass to B<dpkg-deb>. B<dpkg> will spot that you wanted B<dpkg-deb> "
"and run it for you."
msgstr ""
"También puede invocar B<dpkg-deb> usando B<dpkg> con cualquiera de las "
"opciones que desee introducir a B<dpkg-deb>. B<dpkg> notará que desea usar "
"B<dpkg-deb>, y lo ejecutará por usted."

#. type: TP
#: dpkg-deb.1:28
#, no-wrap
msgid "B<-b>, B<--build> I<directory> [I<archive>|I<directory>]"
msgstr "B<-b>, B<--build> I<directorio> [I<archivo>|I<directorio>]"

#. type: Plain text
#: dpkg-deb.1:40
msgid ""
"Creates a debian archive from the filesystem tree stored in I<directory>. "
"I<directory> must have a B<DEBIAN> subdirectory, which contains the control "
"information files such as the control file itself. This directory will "
"I<not> appear in the binary package's filesystem archive, but instead the "
"files in it will be put in the binary package's control information area."
msgstr ""
"Crea un archivo de Debian a partir del árbol del sistema de ficheros ubicado "
"en el I<directorio>. El I<directorio> debe tener un subdirectorio B<DEBIAN>, "
"el cual contiene los ficheros de información tales como el fichero de "
"control. Este directorio I<no> aparecerá en el sistema de ficheros del "
"archivo de paquete binario, sino que los ficheros contenidos se ubicarán en "
"el área de la información de control del paquete binario."

#. type: Plain text
#: dpkg-deb.1:52
msgid ""
"Unless you specify B<--nocheck>, B<dpkg-deb> will read B<DEBIAN/control> and "
"parse it. It will check it for syntax errors and other problems, and display "
"the name of the binary package being built.  B<dpkg-deb> will also check the "
"permissions of the maintainer scripts and other files found in the B<DEBIAN> "
"control information directory."
msgstr ""
"B<dpkg-deb> leerá y analizará B<DEBIAN/control> a menos que especifique B<--"
"nocheck>. Comprobará posibles errores de sintaxis y otros problemas, "
"mostrando el nombre del paquete binario que se está creando. B<dpkg-deb> "
"también comprobará los permisos de los scripts del mantenedor así como de "
"los otros ficheros que se encuentren en el directorio de la información de "
"control B<DEBIAN>."

#. type: Plain text
#: dpkg-deb.1:59
msgid ""
"If no I<archive> is specified then B<dpkg-deb> will write the package into "
"the file I<directory>B<.deb>."
msgstr ""
"Si no se especifica un I<archivo>, B<dpkg-deb> creará el paquete como un "
"fichero I<directorio>B<.deb>."

#. type: Plain text
#: dpkg-deb.1:61
msgid "If the archive to be created already exists it will be overwritten."
msgstr "Si el archivo a crear ya existe se sobreescribirá."

#. type: Plain text
#: dpkg-deb.1:77
msgid ""
"If the second argument is a directory then B<dpkg-deb> will write to the "
"file I<package>B<_>I<version>B<_>I<arch>B<.deb>, or "
"I<package>B<_>I<version>B<.deb> if no B<Architecture> field is present in "
"the package control file. When a target directory is specified, rather than "
"a file, the B<--nocheck> option may not be used (since B<dpkg-deb> needs to "
"read and parse the package control file to determine which filename to use)."
msgstr ""
"Si el segundo argumento es un directorio, B<dpkg-deb> escribirá en el "
"fichero I<paquete>B<_>I<versión>B<_>I<arquitectura>B<.deb>, o "
"I<paquete>B<_>I<versión>B<.deb> si el campo B<Arquitecture> no está presente "
"en el fichero de control del paquete. No se debería usar la opción B<--"
"nocheck> cuando se especifica un directorio de destino en lugar de un "
"fichero ya que B<dpkg-deb> necesita leer y analizar el fichero de control "
"del paquete para así determinar qué nombre de archivo usar."

#. type: TP
#: dpkg-deb.1:77
#, no-wrap
msgid "B<-I>, B<--info> I<archive> [I<control-file-name>...]"
msgstr "B<-I>, B<--info> I<archivo> [I<fichero-de-control> ..]"

#. type: Plain text
#: dpkg-deb.1:80
msgid "Provides information about a binary package archive."
msgstr "Ofrece información acerca del paquete binario."

#. type: Plain text
#: dpkg-deb.1:85
msgid ""
"If no I<control-file-name>s are specified then it will print a summary of "
"the contents of the package as well as its control file."
msgstr ""
"Si no se especifica el I<fichero(s)-de-control> se mostrará un resumen de "
"los contenidos del paquete así como del fichero de control."

#. type: Plain text
#: dpkg-deb.1:93
msgid ""
"If any I<control-file-name>s are specified then B<dpkg-deb> will print them "
"in the order they were specified; if any of the components weren't present "
"it will print an error message to stderr about each one and exit with status "
"2."
msgstr ""
"Si se especifica algún I<fichero-de-control>, B<dpkg-deb> imprimirá los "
"contenidos en el orden en que se especificaron. Si cualquiera de los "
"componentes no estuviese presente se mostrará un mensaje de error por la "
"salida de error estándar para cada uno de ellos, interrumpiendo el proceso "
"con el estado de salida 2."

#. type: TP
#: dpkg-deb.1:93
#, no-wrap
msgid "B<-W>, B<--show> I<archive>"
msgstr "B<-W>, B<--show> I<archivo>"

#. type: Plain text
#: dpkg-deb.1:100
msgid ""
"Provides information about a binary package archive in the format specified "
"by the B<--showformat> argument. The default format displays the package's "
"name and version on one line, separated by a tabulator."
msgstr ""
"Ofrece información acerca del paquete binario con el formato definido por el "
"argumento B<--showformat>. El formato predefinido muestra el nombre del "
"paquete y la versión en una sola línea, separados por un tabulado."

#. type: TP
#: dpkg-deb.1:100
#, no-wrap
msgid "B<-f>, B<--field> I<archive> [I<control-field-name>...]"
msgstr "B<-f>, B<--field> I<archivo> [I<campo-del-fichero-control> ...]"

#. type: Plain text
#: dpkg-deb.1:103
msgid "Extracts control file information from a binary package archive."
msgstr ""
"Extrae información del fichero de control del fichero de un paquete binario."

#. type: Plain text
#: dpkg-deb.1:107
msgid ""
"If no B<control-file-field>s are specified then it will print the whole "
"control file."
msgstr ""
"Si no se especifica ningún B<campo-del-fichero-control>, se mostrará todo el "
"fichero de control."

#. type: Plain text
#: dpkg-deb.1:116
msgid ""
"If any are specified then B<dpkg-deb> will print their contents, in the "
"order in which they appear in the control file. If more than one B<control-"
"file-field> is specified then B<dpkg-deb> will precede each with its field "
"name (and a colon and space)."
msgstr ""
"Si se especifica algún campo, B<dpkg-deb> mostrará sus contenidos en el "
"orden en el cual aparecen en el fichero de control. Si se especifica más de "
"un B<campo-del-fichero-control>, B<dpkg-deb> precederá cada uno con el "
"nombre del campo (más dos puntos y un espacio)."

#. type: Plain text
#: dpkg-deb.1:118
msgid "No errors are reported for fields requested but not found."
msgstr ""
"No se informa de ningún error para los campos solicitados pero no "
"encontrados."

#. type: TP
#: dpkg-deb.1:118
#, no-wrap
msgid "B<-c>, B<--contents> I<archive>"
msgstr "B<-c>, B<--contents> I<archivo>"

#. type: Plain text
#: dpkg-deb.1:124
msgid ""
"Lists the contents of the filesystem tree archive portion of the package "
"archive. It is currently produced in the format generated by B<tar>'s "
"verbose listing."
msgstr ""
"Lista los contenidos de la parte del archivo de paquete que se instala en el "
"árbol del sistema de ficheros, sin incluir ficheros específicos del sistema "
"de empaquetado de Debian. La lista se genera con el formato producido por el "
"listado informativo de B<tar>."

#. type: TP
#: dpkg-deb.1:124
#, no-wrap
msgid "B<-x>, B<--extract> I<archive directory>"
msgstr "B<-x>, B<--extract> I<directorio-archivo>"

#. type: Plain text
#: dpkg-deb.1:128
msgid ""
"Extracts the filesystem tree from a package archive into the specified "
"directory."
msgstr ""
"Extrae el árbol del sistema de ficheros del archivo de paquetes al "
"directorio especificado."

#. type: Plain text
#: dpkg-deb.1:134
msgid ""
"Note that extracting a package to the root directory will I<not> result in a "
"correct installation! Use B<dpkg> to install packages."
msgstr ""
"¡Tenga en cuenta que I<no> obtendrá una instalación correcta si extrae un "
"paquete en el directorio raíz! Use B<dpkg> para instalar paquetes."

#. type: Plain text
#: dpkg-deb.1:138
msgid ""
"I<directory> (but not its parents) will be created if necessary, and its "
"permissions modified to match the contents of the package."
msgstr ""
"Se creará el I<directorio> (pero no los directorios padre) de ser necesario, "
"modificando sus permisos de acuerdo a los contenidos del paquete."

#. type: TP
#: dpkg-deb.1:138
#, no-wrap
msgid "B<-X>, B<--vextract> I<archive directory>"
msgstr "B<-X>, B<--vextract> I<directorio-archivo>"

#. type: Plain text
#: dpkg-deb.1:145
#, fuzzy
#| msgid ""
#| "Is like B<--extract> (B<-x>)  but prints a listing of the files extracted "
#| "as it goes."
msgid ""
"Is like B<--extract> (B<-x>)  with B<--verbose> (B<-v>)  which prints a "
"listing of the files extracted as it goes."
msgstr ""
"Similar a B<--extract> (B<-x>), pero muestra una lista de ficheros a medida "
"que se extraen."

#. type: TP
#: dpkg-deb.1:145
#, fuzzy, no-wrap
#| msgid "B<-x>, B<--extract> I<archive directory>"
msgid "B<-R>, B<--raw-extract> I<archive directory>"
msgstr "B<-x>, B<--extract> I<directorio-archivo>"

#. type: Plain text
#: dpkg-deb.1:150
#, fuzzy
#| msgid ""
#| "Extracts the filesystem tree from a package archive into the specified "
#| "directory."
msgid ""
"Extracts the filesystem tree from a package archive into a specified "
"directory, and the control information files into a DEBIAN subdirectory of "
"the specified directory."
msgstr ""
"Extrae el árbol del sistema de ficheros del archivo de paquetes al "
"directorio especificado."

#. type: Plain text
#: dpkg-deb.1:152 dpkg-deb.1:172
msgid ""
"The target directory (but not its parents) will be created if necessary."
msgstr ""
"El directorio de destino (pero no los directorios padre) se creará de ser "
"necesario."

#. type: TP
#: dpkg-deb.1:152
#, no-wrap
msgid "B<--fsys-tarfile> I<archive>"
msgstr "B<--fsys-tarfile> I<archivo>"

#. type: Plain text
#: dpkg-deb.1:161
#, fuzzy
#| msgid ""
#| "Extracts the filesystem tree data from a binary package and sends it to "
#| "standard output in B<tar> format. Together with B<tar>(1)  this can be "
#| "used to extract a particular file from a package archive."
msgid ""
"Extracts the filesystem tree data from a binary package and sends it to "
"standard output in B<tar> format. Together with B<tar>(1)  this can be used "
"to extract a particular file from a package archive.  The input archive will "
"always be processed sequentially."
msgstr ""
"Extrae los datos del árbol de sistema de ficheros de un paquete binario, "
"enviándolo por la salida estándar en formato B<tar>. Se puede usar junto con "
"B<tar> para extraer un fichero específico del archivo de paquetes."

#. type: TP
#: dpkg-deb.1:161
#, no-wrap
msgid "B<-e>, B<--control> I<archive> [I<directory>]"
msgstr "B<-e>, B<--control> I<archivo> [I<directorio>]"

#. type: Plain text
#: dpkg-deb.1:165
msgid ""
"Extracts the control information files from a package archive into the "
"specified directory."
msgstr ""
"Extrae los ficheros de información de control de un archivo de paquete al "
"directorio especificado."

#. type: Plain text
#: dpkg-deb.1:169
msgid ""
"If no directory is specified then a subdirectory B<DEBIAN> in the current "
"directory is used."
msgstr ""
"Si no se especifica ningún directorio, se usará el subdirectorio B<DEBIAN> "
"del directorio actual."

#. type: TP
#: dpkg-deb.1:180
#, no-wrap
msgid "B<--showformat=>I<format>"
msgstr "B<--showformat=>I<format>"

#. type: Plain text
#: dpkg-deb.1:185 dpkg-query.1:127
msgid ""
"This option is used to specify the format of the output B<--show> will "
"produce. The format is a string that will be output for each package listed."
msgstr ""
"Esta opción sirve para especificar el formato de la salida que B<--show> "
"producirá. El formato es una cadena que será la salida de cada paquete "
"listado."

#. type: Plain text
#: dpkg-deb.1:194
msgid ""
"The string may reference any status field using the \"${I<field-name>}\" "
"form, a list of the valid fields can be easily produced using B<-I> on the "
"same package. A complete explanation of the formatting options (including "
"escape sequences and field tabbing) can be found in the explanation of the "
"B<--showformat> option in B<dpkg-query>(1)."
msgstr ""
"La cadena puede mostrar cualquier campo de estado usando la forma "
"«${I<nombre-campo>}», y puede generar una lista de campos válidos usando B<-"
"I> con el mismo paquete. Para una explicación de las opciones de formato "
"(incluyendo secuencias de escape y el tabulado de los campos), consulte la "
"explicación de la opción B<--showformat> en B<dpkg-query> (1)."

#. type: Plain text
#: dpkg-deb.1:196
msgid "The default for this field is \"${Package}\\et${Version}\\en\"."
msgstr "El valor predefinido de este campo es «${Package}\\et${Version}\\en»."

#. type: TP
#: dpkg-deb.1:196
#, fuzzy, no-wrap
#| msgid "B<-z>I<compress_level>"
msgid "B<-z>I<compress-level>"
msgstr "B<-z>I<compress_level>"

#. type: Plain text
#: dpkg-deb.1:200
#, fuzzy
#| msgid ""
#| "Specify which compression level to pass to the compressor backend "
#| "program, when building a package."
msgid ""
"Specify which compression level to use on the compressor backend, when "
"building a package (default is 9 for gzip and bzip2, 6 for xz and lzma)."
msgstr ""
"Define el nivel de compresión a introducir al programa de compresión externo "
"al construir un paquete."

#. type: TP
#: dpkg-deb.1:200
#, fuzzy, no-wrap
#| msgid "B<-Z>I<compress_type>"
msgid "B<-Z>I<compress-type>"
msgstr "B<-Z>I<compress_type>"

#. type: Plain text
#: dpkg-deb.1:205
msgid ""
"Specify which compression type to use when building a package. Allowed "
"values are I<gzip>, I<xz>, I<bzip2>, I<lzma>, and I<none> (default is "
"I<gzip>)."
msgstr ""
"Especifica el tipo de compresión a usar al construir un paquete. Los valores "
"aceptados son I<gzip>, I<xz>, I<bzip2>, I<lzma>, y I<none> (ninguno). El "
"valor predefinido es I<gzip>."

#. type: TP
#: dpkg-deb.1:205
#, no-wrap
msgid "B<--new>"
msgstr "B<--new>"

#. type: Plain text
#: dpkg-deb.1:210
msgid ""
"Ensures that B<dpkg-deb> builds a `new' format archive. This is the default."
msgstr ""
"Asegura que B<dpkg-deb> construya un archivo con el «nuevo» formato. Éste es "
"el comportamiento por omisión."

#. type: TP
#: dpkg-deb.1:210
#, no-wrap
msgid "B<--old>"
msgstr "B<--old>"

#. type: Plain text
#: dpkg-deb.1:218
msgid ""
"Forces B<dpkg-deb> to build an `old' format archive. This old archive format "
"is less easily parsed by non-Debian tools and is now obsolete; its only use "
"is when building packages to be parsed by versions of dpkg older than "
"0.93.76 (September 1995), which was released as i386 a.out only."
msgstr ""
"Fuerza que B<dpkg-deb> construya un archivo con el formato antiguo («old»). "
"Este formato antiguo de archivo es más difícil de analizar por las "
"herramientas que no forman parte de Debian, y a día de hoy está obsoleto. "
"Sólo se usa al construir paquetes que versiones de dpkg anteriores a 0.93.76 "
"(septiembre 1995) analizarán, la cual se distribuyó sólo para sistemas i386 "
"en formato «a.out.»"

#. type: TP
#: dpkg-deb.1:218
#, no-wrap
msgid "B<--nocheck>"
msgstr "B<--nocheck>"

#. type: Plain text
#: dpkg-deb.1:224
msgid ""
"Inhibits B<dpkg-deb --build>'s usual checks on the proposed contents of an "
"archive. You can build any archive you want, no matter how broken, this way."
msgstr ""
"Impide las comprobaciones habituales de B<dpkg-deb --build> sobre los "
"contenidos del archivo. Puede construir cualquier archivo que desee, no "
"importa lo mal que esté."

#. type: TP
#: dpkg-deb.1:224 start-stop-daemon.8:255
#, no-wrap
msgid "B<-v>, B<--verbose>"
msgstr "B<-v>, B<--verbose>"

#. type: Plain text
#: dpkg-deb.1:228
msgid ""
"Enables verbose output. This currently only affects B<--extract> making it "
"behave like B<--vextract>."
msgstr ""

#. type: TP
#: dpkg-deb.1:228
#, no-wrap
msgid "B<-D>, B<--debug>"
msgstr "B<-D>, B<--debug>"

#. type: Plain text
#: dpkg-deb.1:231
msgid "Enables debugging output. This is not very interesting."
msgstr "Activa los mensajes de depuración. No son muy interesantes."

#. type: Plain text
#: dpkg-deb.1:237
msgid ""
"If set, B<dpkg-deb> will use it as the directory in which to create "
"temporary files and directories."
msgstr ""
"Si se define, B<dpkg-deb> lo usará como el directorio en el que crear "
"ficheros temporales y directorios."

#. type: Plain text
#: dpkg-deb.1:243
msgid ""
"B<dpkg-deb -I> I<package1>B<.deb> I<package2>B<.deb> does the wrong thing."
msgstr ""
"B<dpkg-deb -I> I<paquete1>B<.deb> I<paquete2>B<.deb> no funciona como "
"debería."

#. type: Plain text
#: dpkg-deb.1:251
msgid ""
"There is no authentication on B<.deb> files; in fact, there isn't even a "
"straightforward checksum.  (Higher level tools like APT support "
"authenticating B<.deb> packages retrieved from a given repository, and most "
"packages nowadays provide an md5sum control file generated by debian/rules. "
"Though this is not directly supported by the lower level tools.)"
msgstr ""
"No realiza ninguna comprobación de autenticidad de los ficheros B<.deb>; de "
"hecho, ni siquiera una suma de control. Las herramientas de nivel alto como "
"APT son capaces de autenticar paquetes obtenidos desde el repositorio dado, "
"y la mayoría de estos ofrecen a día de hoy un fichero de sumas de control "
"md5 generado por «debian/rules». Las herramientas de bajo nivel no tienen "
"una compatibilidad directa con estos procesos."

#. type: Plain text
#: dpkg-deb.1:258
msgid ""
"Do not attempt to use just B<dpkg-deb> to install software! You must use "
"B<dpkg> proper to ensure that all the files are correctly placed and the "
"package's scripts run and its status and contents recorded."
msgstr ""
"¡No use B<dpkg-deb> para instalar software! Debe usar B<dpkg> para asegurar "
"que todos los ficheros se instalan en el sitio correcto, los scripts del "
"paquete se ejecuten y que se registren los contenidos y estado el de éste."

#. type: Plain text
#: dpkg-deb.1:264
msgid "B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dselect>(1)."
msgstr "B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dselect>(1)."

#. type: TH
#: dpkg-divert.8:1
#, no-wrap
msgid "dpkg-divert"
msgstr "dpkg-divert"

#. type: Plain text
#: dpkg-divert.8:4
msgid "dpkg-divert - override a package's version of a file"
msgstr "dpkg-divert - Redefine la versión de un fichero del paquete"

#. type: Plain text
#: dpkg-divert.8:9
#, fuzzy
#| msgid "B<dpkg-divert> [I<options>] I<command>"
msgid "B<dpkg-divert> [I<option>...] I<command>"
msgstr "B<dpkg-divert> [I<opciones>] I<orden>"

#. type: Plain text
#: dpkg-divert.8:13
msgid ""
"B<dpkg-divert> is the utility used to set up and update the list of "
"diversions."
msgstr ""
"B<dpkg-divert> es una herramienta para configurar y actualizar la lista de "
"redirecciones."

#. type: Plain text
#: dpkg-divert.8:23
msgid ""
"File I<diversions> are a way of forcing B<dpkg>(1)  not to install a file "
"into its location, but to a I<diverted> location. Diversions can be used "
"through the Debian package scripts to move a file away when it causes a "
"conflict. System administrators can also use it to override some package's "
"configuration file, or whenever some files (which aren't marked as "
"'conffiles') need to be preserved by dpkg, when installing a newer version "
"of a package which contains those files."
msgstr ""
"La I<redirección> («diversion») de ficheros es una forma de evitar que dpkg "
"instale un fichero en su ubicación, sino que lo instale en una ubicación "
"I<redirigida>. Las redirecciones se pueden usar a través de los scripts en "
"los paquetes Debian para mover un fichero cuando causa un conflicto. Los "
"administradores de sistema pueden usarlo también para redefinir el fichero "
"de configuración de algún paquete, o cuando algunos ficheros (que no están "
"marcados como «conffiles») deben ser preservados por dpkg si se instala una "
"versión nueva del paquete que contiene estos ficheros."

#. type: TP
#: dpkg-divert.8:25
#, no-wrap
msgid "[B<--add>] I<file>"
msgstr "[B<--add>] I<fichero>"

#. type: Plain text
#: dpkg-divert.8:28
msgid "Add a diversion for I<file>."
msgstr "Añade una redirección para el I<fichero>."

#. type: TP
#: dpkg-divert.8:28 dpkg-statoverride.8:35
#, no-wrap
msgid "B<--remove>I< file>"
msgstr "B<--remove>I< fichero>"

#. type: Plain text
#: dpkg-divert.8:31
msgid "Remove a diversion for I<file>."
msgstr "Elimina una redirección para el I<fichero>."

#. type: TP
#: dpkg-divert.8:31
#, no-wrap
msgid "B<--list>I< glob-pattern>"
msgstr "B<--list>I< comodín>"

#. type: Plain text
#: dpkg-divert.8:34
msgid "List diversions matching I<glob-pattern>."
msgstr "Lista las redirecciones que encajan con el I<comodín> (patrón «glob»)."

#. type: TP
#: dpkg-divert.8:34
#, no-wrap
msgid "B<--listpackage>I< file>"
msgstr "B<--listpackage>I< fichero>"

#. type: Plain text
#: dpkg-divert.8:38
msgid ""
"Print the name of the package that diverts I<file>.  Prints LOCAL if I<file> "
"is locally diverted and nothing if I<file> is not diverted."
msgstr ""
"Muestra el nombre del paquete que redirige al I<fichero>. Muestra «LOCAL» si "
"el fichero está redirigido localmente, y nada si el I<fichero> no está "
"redirigido."

#. type: TP
#: dpkg-divert.8:38
#, no-wrap
msgid "B<--truename>I< file>"
msgstr "B<--truename>I< fichero>"

#. type: Plain text
#: dpkg-divert.8:41
msgid "Print the real name for a diverted file."
msgstr "Muestra el nombre real del fichero redirigido."

#. type: TP
#: dpkg-divert.8:43 dpkg-statoverride.8:52 dselect.1:44
#: update-alternatives.8:328
#, no-wrap
msgid "B<--admindir>I< directory>"
msgstr "B<--admindir>I< directorio>"

#. type: Plain text
#: dpkg-divert.8:46
msgid ""
"Set the dpkg data directory to I<directory> (default: I</var/lib/dpkg>)."
msgstr ""
"Define el directorio de datos de dpkg como I<directorio> (por omisión: I</"
"var/lib/dpkg>)."

#. type: TP
#: dpkg-divert.8:46
#, no-wrap
msgid "B<--divert>I< divert-to>"
msgstr "B<--divert>I< redirigir-a>"

#. type: Plain text
#: dpkg-divert.8:50
msgid ""
"I<divert-to> is the location where the versions of I<file>, as provided by "
"other packages, will be diverted."
msgstr ""
"I<redirigir-a> es la ubicación donde las versiones del I<fichero>, tal y "
"como otros paquetes lo ofrecen, se redirigirá."

#. type: TP
#: dpkg-divert.8:50
#, no-wrap
msgid "B<--local>"
msgstr "B<--local>"

#. type: Plain text
#: dpkg-divert.8:56
msgid ""
"Specifies that all packages' versions of this file are diverted.  This "
"means, that there are no exceptions, and whatever package is installed, the "
"file is diverted. This can be used by an admin to install a locally modified "
"version."
msgstr ""
"Especifica que todas las versiones de los paquetes de este fichero se "
"redirigirán. Esto es, sin excepciones, y sin importar qué paquete está "
"instalado, el fichero se redirigirá. El administrador del sistema puede usar "
"esto para instalar una versión modificada localmente."

#. type: TP
#: dpkg-divert.8:56
#, no-wrap
msgid "B<--package>I< package>"
msgstr "B<--package>I< paquete>"

#. type: Plain text
#: dpkg-divert.8:61
msgid ""
"I<package> is the name of a package whose copy of I<file> will not be "
"diverted. i.e. I<file> will be diverted for all packages except I<package>."
msgstr ""
"E<lt>paqueteE<gt> es el nombre de un paquete cuya copia del I<fichero> no se "
"redirigirá. Por ejemplo, el I<fichero> se redirigirá para todos los paquetes "
"a excepción de I<paquete>."

#. type: TP
#: dpkg-divert.8:61 dpkg-statoverride.8:64 update-alternatives.8:350
#, no-wrap
msgid "B<--quiet>"
msgstr "B<--quiet>"

#. type: Plain text
#: dpkg-divert.8:64
msgid "Quiet mode, i.e. no verbose output."
msgstr "Modo silencioso, esto es: sin información detallada."

#. type: TP
#: dpkg-divert.8:64
#, no-wrap
msgid "B<--rename>"
msgstr "B<--rename>"

#. type: Plain text
#: dpkg-divert.8:68
msgid ""
"Actually move the file aside (or back). B<dpkg-divert> will abort operation "
"in case the destination file already exists."
msgstr ""
"Mueve el archivo a un lado (o atrás). B<dpkg-divert> interrumpirá la "
"operación en caso de que el fichero destino ya exista."

#. type: TP
#: dpkg-divert.8:68
#, no-wrap
msgid "B<--test>"
msgstr "B<--test>"

#. type: Plain text
#: dpkg-divert.8:71
msgid "Test mode, i.e. don't actually perform any changes, just demonstrate."
msgstr ""
"Modo de prueba, esto es, no realiza ningún cambio, sólo muestra su ejecución."

#. type: SH
#: dpkg-divert.8:78
#, no-wrap
msgid "NOTES"
msgstr "NOTAS"

#. type: Plain text
#: dpkg-divert.8:82
#, fuzzy
#| msgid ""
#| "When adding, default is B<--local> and B<--divert> I<E<lt>originalE<gt>."
#| "distrib>. When removing, B<--package> or B<--local> and B<--divert> must "
#| "match if specified."
msgid ""
"When adding, default is B<--local> and B<--divert> I<original>B<.distrib>. "
"When removing, B<--package> or B<--local> and B<--divert> must match if "
"specified."
msgstr ""
"Al añadir redirecciones por omisión se usa B<--local> y B<--divert> "
"I<E<lt>originalE<gt>.distrib>. Al eliminar, B<--package> o B<--local> y B<--"
"divert> deben coincidir en caso de definirse."

#. type: Plain text
#: dpkg-divert.8:84
msgid "Directories can't be diverted with B<dpkg-divert>."
msgstr "Los directorios no se pueden redirigir con B<dpkg-divert>."

#. type: Plain text
#: dpkg-divert.8:90
msgid ""
"Care should be taken when diverting shared libraries, B<ldconfig>(8)  "
"creates a symbolic link based on the DT_SONAME field embedded in the "
"library.  Because ldconfig doesn't honour diverts (only dpkg does), the "
"symlink may end up pointing at the diverted library, if a diverted library "
"has the same SONAME as the undiverted one."
msgstr ""
"Debe tener cuidado al redireccionar bibliotecas compartidas, B<ldconfig> (8) "
"crea un enlace simbólico basado en el campo «DT_SONAME» integrado en la "
"biblioteca. Ya que ldconfig no respeta las redirecciones (sólo dpkg lo "
"hace), si una biblioteca redirigida tiene el mismo «SONAME» que la que no "
"está redirigida, es posible que el enlace simbólico acabe apuntando a la "
"biblioteca redirigida."

#. type: Plain text
#: dpkg-divert.8:95
msgid ""
"To divert all copies of a I</usr/bin/example> to I</usr/bin/example.foo>, i."
"e. directs all packages providing I</usr/bin/example> to install it as I</"
"usr/bin/example.foo>, performing the rename if required:"
msgstr ""
"Para redireccionar todas las copias de I</usr/bin/ejemplo> a I</usr/bin/"
"ejemplo.foo>; hará que todos los paquetes que provean I</usr/bin/ejemplo> lo "
"instalen como I</usr/bin/ejemplo.foo>, renombrando el fichero en caso de ser "
"necesario."

#. type: Plain text
#: dpkg-divert.8:97
msgid "dpkg-divert --divert /usr/bin/example.foo --rename /usr/bin/example"
msgstr "dpkg-divert --divert /usr/bin/ejemplo.foo --rename /usr/bin/ejemplo"

#. type: Plain text
#: dpkg-divert.8:99 dpkg-divert.8:109
msgid "To remove that diversion:"
msgstr "Para eliminar esa redirección:"

#. type: Plain text
#: dpkg-divert.8:101
msgid "dpkg-divert --rename --remove /usr/bin/example"
msgstr "dpkg-divert --rename --remove /usr/bin/ejemplo"

#. type: Plain text
#: dpkg-divert.8:105
msgid ""
"To divert any package trying to install I</usr/bin/example> to I</usr/bin/"
"example.foo>, except your own I<wibble> package:"
msgstr ""
"Para redireccionar cualquier paquete que instale I</usr/bin/ejemplo> como I</"
"usr/bin/ejemplo.foo>, a excepción de su propio paquete I<wibble>."

#. type: Plain text
#: dpkg-divert.8:107
msgid ""
"dpkg-divert --package wibble --divert /usr/bin/example.foo --rename /usr/bin/"
"example"
msgstr ""
"dpkg-divert --package wibble --divert /usr/bin/ejemplo.foo --rename /usr/bin/"
"ejemplo"

#. type: Plain text
#: dpkg-divert.8:111
msgid "dpkg-divert --package wibble --rename --remove /usr/bin/example"
msgstr "dpkg-divert --package wibble --rename --remove /usr/bin/ejemplo"

#. type: TP
#: dpkg-divert.8:113 dpkg-query.1:205 dpkg-statoverride.8:69 dpkg-trigger.1:61
#: update-alternatives.8:355
#, fuzzy, no-wrap
#| msgid "B<DPKG_LIBDIR>"
msgid "B<DPKG_ADMINDIR>"
msgstr "B<DPKG_LIBDIR>"

#. type: Plain text
#: dpkg-divert.8:117 dpkg-query.1:209 dpkg-statoverride.8:73 dpkg-trigger.1:65
msgid ""
"If set and the B<--admindir> option has not been specified, it will be used "
"as the dpkg data directory."
msgstr ""

#. type: Plain text
#: dpkg-divert.8:121
msgid ""
"If set and the B<--local> and B<--package> options have not been specified, "
"B<dpkg-divert> will use it as the package name."
msgstr ""

#. type: TP
#: dpkg-divert.8:123
#, no-wrap
msgid "I</var/lib/dpkg/diversions>"
msgstr "I</var/lib/dpkg/diversions>"

#. type: Plain text
#: dpkg-divert.8:128
msgid ""
"File which contains the current list of diversions of the system. It is "
"located in the dpkg administration directory, along with other files "
"important to dpkg, such as I<status> or I<available>."
msgstr ""
"El fichero que contiene la lista actual de redirecciones en el sistema. Está "
"ubicado en el directorio de administración de dpkg, así como otros ficheros "
"importantes para dpkg, como I<status> o I<available>."

#. type: Plain text
#: dpkg-divert.8:131
msgid ""
"Note: B<dpkg-divert> preserves the old copy of this file, with extension I<-"
"old>, before replacing it with the new one."
msgstr ""
"Nota: B<dpkg-divert> preserva la copia antigua de este archivo, insertando "
"la extensión I<-old> antes de reemplazarlo con uno nuevo."

#. type: Plain text
#: dpkg-divert.8:137 update-alternatives.8:496
msgid "Copyright \\(co 1995 Ian Jackson"
msgstr "Copyright \\(co 1995 Ian Jackson"

#. type: TH
#: dpkg-genchanges.1:1
#, no-wrap
msgid "dpkg-genchanges"
msgstr "dpkg-genchanges"

#. type: Plain text
#: dpkg-genchanges.1:4
msgid "dpkg-genchanges - generate Debian .changes files"
msgstr "dpkg-genchanges - Generación de ficheros de Debian «.changes»"

#. type: Plain text
#: dpkg-genchanges.1:8
#, fuzzy
#| msgid "B<dpkg-genchanges> [I<options>]"
msgid "B<dpkg-genchanges> [I<option>...]"
msgstr "B<dpkg-genchanges> [I<opciones>]"

#. type: Plain text
#: dpkg-genchanges.1:16
msgid ""
"B<dpkg-genchanges> reads information from an unpacked and built Debian "
"source tree and from the files it has generated and generates a Debian "
"upload control file (B<.changes> file)."
msgstr ""
"B<dpkg-genchanges> lee la información de un árbol de fuentes de Debian "
"desempaquetado y construido, así como de los ficheros que ha generado, y "
"crea un fichero de control de subida de Debian, el fichero B<.changes>."

#. type: TP
#: dpkg-genchanges.1:18
#, no-wrap
msgid "B<-b>, B<-B>, B<-A>"
msgstr "B<-b>, B<-B>, B<-A>"

#. type: Plain text
#: dpkg-genchanges.1:27
msgid ""
"Specifies that a binary-only build is taking place (no source files are to "
"be included). There's no distinction between B<-b>, B<-B> and B<-A>, the "
"produced B<.changes> file will include whatever files were created by the "
"B<binary-*> target(s) of the package being built."
msgstr ""
"Define que sólo se va a realizar una construcción binaria (no se incluyen "
"los ficheros de fuente). No hay diferencias entre B<-b>, B<-B> y B<-A>, y el "
"fichero B<.changes> incluirá aquellos ficheros creados mediante el o los "
"«target» de make binarios (B<binary-*>) del paquete a construir."

#. type: Plain text
#: dpkg-genchanges.1:31
msgid ""
"Specifies that only the source should be uploaded (no binary packages will "
"be included)."
msgstr ""
"Define que sólo se deben subir las fuentes (no se incluirán paquetes "
"binarios)."

#. type: Plain text
#: dpkg-genchanges.1:36
msgid ""
"The B<-s>I<x> options control whether the original source archive is "
"included in the upload if any source is being generated (i.e.  B<-b> or B<-"
"B> haven't been used)."
msgstr ""
"Las opciones B<-s>I<x> controlan si el archivo original de las fuentes se "
"incluye en la subida generada, en caso de generar alguna fuente (por "
"ejemplo, si no se han usado B<-b> o B<-B>)."

#. type: Plain text
#: dpkg-genchanges.1:42
msgid ""
"By default, or if specified, the original source will be included only if "
"the upstream version number (the version without epoch and without Debian "
"revision) differs from the upstream version number of the previous changelog "
"entry."
msgstr ""
"Por omisión, o si se especifica, las fuentes originales se incluirán si el "
"número de versión del autor original (la versión sin «epoch» y sin la parte "
"del número de versión que corresponde a la revisión de Debian) difiere del "
"número de versión de la fuente original en la entrada del registro de "
"cambios."

#. type: Plain text
#: dpkg-genchanges.1:45
msgid "Forces the inclusion of the original source."
msgstr "Fuerza la inclusión de la fuente original."

#. type: Plain text
#: dpkg-genchanges.1:48
msgid "Forces the exclusion of the original source and includes only the diff."
msgstr ""
"Fuerza la exclusión de la fuente original y sólo incluye el fichero de "
"diferencias «.diff»."

#. type: Plain text
#: dpkg-genchanges.1:54
msgid ""
"Causes changelog information from all versions strictly later than "
"I<version> to be used."
msgstr ""
"Provoca el uso de la información del registro de cambios de todas las "
"versiones estrictamente posteriores a I<versión>."

#. type: Plain text
#: dpkg-genchanges.1:60
msgid ""
"Read the description of the changes from the file I<changesdescription> "
"rather than using the information from the source tree's changelog file."
msgstr ""
"Lee la descripción de los cambios del fichero I<changesdescription> en vez "
"de usar la información contenida en el fichero de cambios del árbol de "
"fuentes."

#. type: Plain text
#: dpkg-genchanges.1:66
msgid ""
"Use I<maintaineraddress> as the name and email address of the maintainer for "
"this package, rather than using the information from the source tree's "
"control file."
msgstr ""
"Utiliza I<dirección-mantenedor> como el nombre y dirección de correo del "
"responsable de este paquete, en lugar de usar la información del fichero de "
"control del árbol de fuentes."

#. type: Plain text
#: dpkg-genchanges.1:72
msgid ""
"Use I<maintaineraddress> as the name and email address of the maintainer for "
"this upload, rather than using the information from the source tree's "
"changelog."
msgstr ""
"Utiliza I<dirección-mantenedor> como el nombre y dirección de correo del "
"responsable de esta subida, en lugar de usar la información del registro de "
"cambios del árbol de fuentes."

#. type: TP
#: dpkg-genchanges.1:72 dpkg-gencontrol.1:41 dpkg-source.1:127
#, no-wrap
msgid "B<-V>I<name>B<=>I<value>"
msgstr "B<-V>I<nombre>B<=>I<valor>"

#. type: Plain text
#: dpkg-genchanges.1:76 dpkg-source.1:131
msgid ""
"Set an output substitution variable.  See B<deb-substvars>(5) for a "
"discussion of output substitution."
msgstr ""
"Define una variable de sustitución de la salida. Consulte B<deb-substvars>"
"(5) para más información acerca de la sustitución de la salida."

#. type: TP
#: dpkg-genchanges.1:76 dpkg-gencontrol.1:45 dpkg-shlibdeps.1:169
#: dpkg-source.1:131
#, no-wrap
msgid "B<-T>I<substvarsfile>"
msgstr "B<-T>I<fichero-variables-sust>"

#. type: Plain text
#: dpkg-genchanges.1:86
msgid ""
"Read substitution variables in I<substvarsfile>; the default is B<debian/"
"substvars>.  No variable substitution is done on any of the fields that are "
"output, however the special variable I<Format> will override the field of "
"the same name. This option can be used multiple times to read substitution "
"variables from multiple files."
msgstr ""
"Lee variables de sustitución desde el I<fichero-variables-sust>; B<debian/"
"substvars> es el valor por omisión. No se realiza ninguna sustitución de "
"variables en ninguno de los campos que son parte de la salida. Por otra "
"para, la variable especial I<Format> sobreescribirá el campo del mismo "
"nombre. Puede usar esta opción varias veces para leer variables de "
"sustitución de varios ficheros."

#. type: TP
#: dpkg-genchanges.1:87 dpkg-gencontrol.1:53 dpkg-source.1:137
#, no-wrap
msgid "B<-D>I<field>B<=>I<value>"
msgstr "B<-D>I<campo>B<=>I<valor>"

#. type: Plain text
#: dpkg-genchanges.1:90 dpkg-gencontrol.1:56 dpkg-source.1:140
msgid "Override or add an output control file field."
msgstr "Sobreescribe o añade un campo en el fichero de control de salida."

#. type: TP
#: dpkg-genchanges.1:90 dpkg-gencontrol.1:56 dpkg-source.1:140
#, no-wrap
msgid "B<-U>I<field>"
msgstr "B<-U>I<campo>"

#. type: Plain text
#: dpkg-genchanges.1:93 dpkg-gencontrol.1:59 dpkg-source.1:143
msgid "Remove an output control file field."
msgstr "Elimina un campo del fichero de control de salida."

#. type: TP
#: dpkg-genchanges.1:93 dpkg-gencontrol.1:59 dpkg-source.1:104
#, no-wrap
msgid "B<-c>I<controlfile>"
msgstr "B<-c>I<fichero-control>"

#. type: Plain text
#: dpkg-genchanges.1:98 dpkg-gencontrol.1:64
msgid ""
"Specifies the main source control file to read information from. The default "
"is B<debian/control>."
msgstr ""
"Define el fichero de control principal de las fuentes del que leer la "
"información. Por omisión es B<debian/control>."

#. type: TP
#: dpkg-genchanges.1:98 dpkg-gencontrol.1:64 dpkg-parsechangelog.1:16
#: dpkg-source.1:111
#, no-wrap
msgid "B<-l>I<changelogfile>"
msgstr "B<-l>I<fichero-cambios>"

#. type: Plain text
#: dpkg-genchanges.1:103 dpkg-gencontrol.1:69 dpkg-parsechangelog.1:21
msgid ""
"Specifies the change log file to read information from. The default is "
"B<debian/changelog>."
msgstr ""
"Define el fichero de registro de cambios del que leer la información. Por "
"omisión es B<debian/changelog>."

#. type: Plain text
#: dpkg-genchanges.1:107
msgid ""
"Read the list of files to be uploaded here, rather than using B<debian/"
"files>."
msgstr ""
"Lee o escribe la lista de ficheros para subir aquí, en lugar de usar "
"B<debian/files>."

#. type: TP
#: dpkg-genchanges.1:107 dpkg-gencontrol.1:73 dpkg-parsechangelog.1:21
#: dpkg-source.1:118
#, no-wrap
msgid "B<-F>I<changelogformat>"
msgstr "B<-F>I<formato-registro-cambios>"

#. type: Plain text
#: dpkg-genchanges.1:112 dpkg-gencontrol.1:78 dpkg-parsechangelog.1:26
#: dpkg-source.1:123
msgid ""
"Specifies the format of the changelog. By default the format is read from a "
"special line near the bottom of the changelog or failing that defaults to "
"the debian standard format."
msgstr ""
"Define el formato del registro de cambios. Por omisión, el formato se lee de "
"una línea especial cerca del final del registro de cambios o, en caso de "
"fallo, usa el formato estándar debian."

#. type: TP
#: dpkg-genchanges.1:112
#, no-wrap
msgid "B<-u>I<uploadfilesdir>"
msgstr "B<-u>I<directorio-subida-ficheros>"

#. type: Plain text
#: dpkg-genchanges.1:123
msgid ""
"Look for the files to be uploaded in I<uploadfilesdir> rather than B<..> "
"(B<dpkg-genchanges> needs to find these files so that it can include their "
"sizes and checksums in the B<.changes> file)."
msgstr ""
"Busca ficheros a subir en I<directorio-subida-ficheros> en lugar de B<..> "
"(B<dpkg-genchanges> necesita encontrar estos ficheros para poder incluir sus "
"tamaños y sumas de verificación en el fichero B<.changes>)."

#. type: TP
#: dpkg-genchanges.1:123 dpkg-gensymbols.1:421
#, no-wrap
msgid "B<-q>"
msgstr "B<-q>"

#. type: Plain text
#: dpkg-genchanges.1:131
msgid ""
"Usually B<dpkg-genchanges> will produce informative messages on standard "
"error, for example about how many of the package's source files are being "
"uploaded.  B<-q> suppresses these messages."
msgstr ""
"Habitualmente, B<dpkg-genchanges> producirá mensajes informativos por la "
"salida de error estándar, por ejemplo acerca de cuántos de los ficheros "
"fuente de los paquetes se están subiendo. B<-q> suprime dichos mensajes."

#. type: Plain text
#: dpkg-genchanges.1:147
msgid ""
"The list of generated files which are part of the upload being prepared.  "
"B<dpkg-genchanges> reads the data here when producing a B<.changes> file."
msgstr ""
"La lista de ficheros generados que forman parte de la subida al servidor en "
"preparación. B<dpkg-genchanges> lee los datos aquí cuando produce un fichero "
"B<.changes>."

#. type: TH
#: dpkg-gencontrol.1:1
#, no-wrap
msgid "dpkg-gencontrol"
msgstr "dpkg-gencontrol"

#. type: Plain text
#: dpkg-gencontrol.1:4
msgid "dpkg-gencontrol - generate Debian control files"
msgstr "dpkg-gencontrol - Generación de ficheros de control de Debian"

#. type: Plain text
#: dpkg-gencontrol.1:8
#, fuzzy
#| msgid "B<dpkg-gencontrol> [I<options>]"
msgid "B<dpkg-gencontrol> [I<option>...]"
msgstr "B<dpkg-gencontrol> [I<opciones>]"

#. type: Plain text
#: dpkg-gencontrol.1:14
msgid ""
"B<dpkg-gencontrol> reads information from an unpacked Debian source tree and "
"generates a binary package control file (which defaults to debian/tmp/DEBIAN/"
"control); during this process it will simplify the relation fields."
msgstr ""
"B<dpkg-gencontrol> lee la información desde un árbol de fuentes de Debian "
"desempaquetado, y genera un fichero de control de paquete binario (por "
"omisión ubicado en «debian/tmp/DEBIAN/control»); durante el proceso, también "
"simplificará los campos de las relaciones."

#. type: Plain text
#: dpkg-gencontrol.1:27
msgid ""
"Thus I<Pre-Depends>, I<Depends>, I<Recommends> and I<Suggests> are "
"simplified in this order by removing dependencies which are known to be true "
"according to the stronger dependencies already parsed. It will also remove "
"any self-dependency (in fact it will remove any dependency which evaluates "
"to true given the current version of the package as installed). Logically it "
"keeps the intersection of multiple dependencies on the same package. The "
"order of dependencies is preserved as best as possible: if any dependency "
"must be discarded due to another dependency appearing further in the field, "
"the superseding dependency will take the place of the discarded one."
msgstr ""
"Por ello, I<Pre-Depends>, I<Depends>, I<Recommends> y I<Suggests> se "
"simplifican en este orden mediante la eliminación de dependencias reales de "
"acuerdo a las dependencias más fuertes ya analizadas. También elimina "
"cualquier dependencia sobre si mismo (de hecho, eliminará cualquier "
"dependencia tomada como verdadera, «true», si la versión actual del paquete "
"ya se encuentra instalada). Retendrá de forma lógica la intersección de "
"varias dependencias sobre el mismo paquete. El orden de las dependencias se "
"modifica lo menos posible: en caso de tener que eliminar una dependencia "
"debida a que otra aparece más adelante en el campo, ésta tomará la posición "
"de la dependencia descartada."

#. type: Plain text
#: dpkg-gencontrol.1:32
msgid ""
"The other relation fields (I<Enhances>, I<Conflicts>, I<Breaks>, I<Replaces> "
"and I<Provides>)  are also simplified individually by computing the union of "
"the various dependencies when a package is listed multiple times in the "
"field."
msgstr ""
"Los otros campos de relación (I<Enhances>, I<Conflicts>, I<Breaks>, "
"I<Replaces> y I<Provides>) se simplifican individualmente computando la "
"unión de todas las dependencias cuando un paquete aparece varias veces en el "
"campo."

#. type: Plain text
#: dpkg-gencontrol.1:36
msgid ""
"B<dpkg-gencontrol> also adds an entry for the binary package to B<debian/"
"files>."
msgstr ""
"B<dpkg-gencontrol> también añade una entrada para el paquete binario en "
"B<debian/files>."

#. type: Plain text
#: dpkg-gencontrol.1:41
msgid "Sets the version number of the binary package which will be generated."
msgstr "Define el número de versión del paquete binario a generar."

#. type: Plain text
#: dpkg-gencontrol.1:45
msgid ""
"Set an output substitution variable. See B<deb-substvars>(5) for discussion "
"of output substitution."
msgstr ""
"Define una variable de sustitución de la salida. Consulte B<deb-substvars>"
"(5) para más información acerca de la sustitución de la salida."

#. type: Plain text
#: dpkg-gencontrol.1:53
msgid ""
"Read substitution variables in I<substvarsfile>; the default is B<debian/"
"substvars>.  This option can be used multiple times to read substitution "
"variables from multiple files."
msgstr ""
"Lee variables de sustitución desde el I<fichero-variables-sust>; B<debian/"
"substvars> es el valor por omisión. Puede usar esta opción varias veces para "
"leer variables de sustitución de varios ficheros."

#. type: TP
#: dpkg-gencontrol.1:78 dpkg-gensymbols.1:373
#, no-wrap
msgid "B<-p>I<package>"
msgstr "B<-p>I<paquete>"

#. type: Plain text
#: dpkg-gencontrol.1:85
msgid ""
"Generate information for the binary package I<package>.  If the source "
"control file lists only one binary package then this option may be omitted; "
"otherwise it is essential to select which binary package's information to "
"generate."
msgstr ""
"Genera información para el paquete binario I<paquete>. Puede omitir esta "
"opción si el fichero de control de las fuentes lista un sólo paquete "
"binario; de no ser así, es esencial seleccionar el paquete binario del cual "
"se desea generar la información."

#. type: TP
#: dpkg-gencontrol.1:85
#, no-wrap
msgid "B<-n>I<filename>"
msgstr "B<-n>I<nombrefichero>"

#. type: Plain text
#: dpkg-gencontrol.1:90
msgid ""
"Assume the filename of the package will be I<filename> instead of the normal "
"package_version_arch.deb filename."
msgstr ""
"Supone que el nombre de fichero del paquete será I<nombre-fichero> en vez "
"del habitual, «paquete_versión_arquitectura.deb»."

#. type: TP
#: dpkg-gencontrol.1:90
#, no-wrap
msgid "B<-is>, B<-ip>, B<-isp>"
msgstr "B<-is>, B<-ip>, B<-isp>"

#. type: Plain text
#: dpkg-gencontrol.1:99
msgid ""
"These options are ignored for compatibility with older versions of dpkg-dev "
"but are now deprecated. Previously they were used to tell dpkg-gencontrol to "
"include the Section and Priority fields in the control file. This is now the "
"default behaviour. If you want to get the old behaviour you can use the B<-"
"U> option to delete the fields from the control file."
msgstr ""
"Estas opciones se ignoran por compatibilidad con versiones anteriores de "
"dpkg-dev, pero ya están obsoletas. Antes se usaban para hacer que dpkg-"
"gencontrol incluyese los campos «Section» y «Priority» en el fichero de "
"control. Hoy en día es el comportamiento predefinido. Si desea el "
"comportamiento antiguo deberá usar la opción B<-U> para eliminar los campos "
"del fichero de control."

#. type: TP
#: dpkg-gencontrol.1:99
#, no-wrap
msgid "B<-P>I<packagebuilddir>"
msgstr "B<-P>I<directorio-compilación-paquete>"

#. type: Plain text
#: dpkg-gencontrol.1:112
msgid ""
"Tells B<dpkg-source> that the package is being built in I<packagebuilddir> "
"instead of B<debian/tmp>.  This value is used to find the default value of "
"the B<Installed-Size> substitution variable and control file field (using "
"B<du>), and for the default location of the output file."
msgstr ""
"Dice a B<dpkg-source> que el paquete se está creando en I<directorio-"
"compilación-paquete> en vez de B<debian/tmp>. Se usa para encontrar el valor "
"por omisión de la variable de sustitución y campo del fichero de control "
"B<Installed-Size>, Tamaño-Instalado, (usando B<du>), y para establecer la "
"ruta predefinida del fichero de salida."

#. type: TP
#: dpkg-gencontrol.1:112 dpkg-gensymbols.1:391 dpkg-shlibdeps.1:150
#, no-wrap
msgid "B<-O>"
msgstr "B<-O>"

#. type: Plain text
#: dpkg-gencontrol.1:121
msgid ""
"Print the control file to standard output, rather than to B<debian/tmp/"
"DEBIAN/control> (or I<packagebuilddir>B</DEBIAN/control> if B<-P> was used)."
msgstr ""
"Muestra el fichero de control por la salida estándar, en lugar de B<debian/"
"tmp/DEBIAN/control> (o I<directorio-compilación-paquete>B</DEBIAN/control> "
"si se usó la opción B<-P>)."

#. type: TP
#: dpkg-gencontrol.1:129
#, no-wrap
msgid "B<debian/control>"
msgstr "B<debian/control>"

#. type: Plain text
#: dpkg-gencontrol.1:134
msgid ""
"The main source control information file, giving version-independent "
"information about the source package and the binary packages it can produce."
msgstr ""
"El fichero de información de control de fuentes principal, que da "
"información independiente de la versión acerca del paquete fuente y los "
"paquetes binarios que puede generar."

#. type: Plain text
#: dpkg-gencontrol.1:141
msgid ""
"The list of generated files which are part of the upload being prepared.  "
"B<dpkg-gencontrol> adds the presumed filenames of binary packages whose "
"control files it generates here."
msgstr ""
"La lista de ficheros generados que forman parte de la subida en preparación. "
"B<dpkg-gencontrol> añade los supuestos nombres de fichero de paquetes "
"binarios cuyos ficheros de control genera."

#. type: Plain text
#: dpkg-gencontrol.1:148 dpkg-shlibdeps.1:337
msgid "Copyright \\(co 2007-2008 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2007-2008 Rapha\\[:e]l Hertzog"

#. type: TH
#: dpkg-gensymbols.1:2
#, no-wrap
msgid "dpkg-gensymbols"
msgstr "dpkg-gensymbols"

#. type: Plain text
#: dpkg-gensymbols.1:5
msgid ""
"dpkg-gensymbols - generate symbols files (shared library dependency "
"information)"
msgstr ""
"dpkg-gensymbols - Generación de ficheros «symbols» (información de "
"dependencia de bibliotecas compartidas)"

#. type: Plain text
#: dpkg-gensymbols.1:9
#, fuzzy
#| msgid "B<dpkg-gensymbols> [I<options>]"
msgid "B<dpkg-gensymbols> [I<option>...]"
msgstr "B<dpkg-gensymbols> [I<opciones>]"

#. type: Plain text
#: dpkg-gensymbols.1:16
msgid ""
"B<dpkg-gensymbols> scans a temporary build tree (debian/tmp by default) "
"looking for libraries and generate a I<symbols> file describing them. This "
"file, if non-empty, is then installed in the DEBIAN subdirectory of the "
"build tree so that it ends up included in the control information of the "
"package."
msgstr ""
"B<dpkg-gensymbols> analiza un árbol temporal de construcción («debian/tmp» "
"por omisión) en busca de bibliotecas para generar un fichero I<symbols> que "
"los describa. Este fichero, si no está vacío, se instala en el subdirectorio "
"«DEBIAN» del árbol de construcción, para después incluir el contenido en la "
"información de control del paquete."

#. type: Plain text
#: dpkg-gensymbols.1:20
msgid ""
"When generating those files, it uses as input some symbols files provided by "
"the maintainer. It looks for the following files (and use the first that is "
"found):"
msgstr ""
"Al generar estos ficheros, usa algunos ficheros «symbols» como entrada "
"proporcionados por el desarrollador. Busca los siguientes ficheros, usando "
"el primero que encuentra."

#. type: Plain text
#: dpkg-gensymbols.1:22
msgid "debian/I<package>.symbols.I<arch>"
msgstr "debian/I<package>.symbols.I<arch>"

#. type: Plain text
#: dpkg-gensymbols.1:24
msgid "debian/symbols.I<arch>"
msgstr "debian/symbols.I<arch>"

#. type: Plain text
#: dpkg-gensymbols.1:26
msgid "debian/I<package>.symbols"
msgstr "debian/I<package>.symbols"

#. type: Plain text
#: dpkg-gensymbols.1:28
msgid "debian/symbols"
msgstr "debian/symbols"

#. type: Plain text
#: dpkg-gensymbols.1:36
msgid ""
"The main interest of those files is to provide the minimal version "
"associated to each symbol provided by the libraries. Usually it corresponds "
"to the first version of that package that provided the symbol, but it can be "
"manually incremented by the maintainer if the ABI of the symbol is extended "
"without breaking backwards compatibility. It's the responsibility of the "
"maintainer to keep those files up-to-date and accurate, but B<dpkg-"
"gensymbols> helps him."
msgstr ""
"La meta principal de estos ficheros es proporcionar la versión mínima "
"asociada a cada símbolo proporcionado por las bibliotecas. Habitualmente, se "
"corresponde con la primera versión de ese paquete que proporciona el "
"símbolo, pero el desarrollador lo puede incrementar manualmente si la ABI "
"del símbolo se extiende sin romper la compatibilidad con versiones "
"anteriores. Es la responsabilidad del desarrollador que estos ficheros estén "
"al día y que sean apropiados, pero B<dpkg-gensymbols> le asiste en esta "
"tarea."

#. type: Plain text
#: dpkg-gensymbols.1:42
msgid ""
"When the generated symbols files differ from the maintainer supplied one, "
"B<dpkg-gensymbols> will print a diff between the two versions.  Furthermore "
"if the difference is too significant, it will even fail (you can customize "
"how much difference you can tolerate, see the B<-c> option)."
msgstr ""
"Cuando los ficheros «symbols» generados difieren del proporcionado por el "
"desarrollador, B<dpkg-gensymbols> mostrará las diferencias entre ambas "
"versiones. Más aún, puede que falle si la diferencia es demasiado grande, "
"(puede configurar cuanta diferencia tolerar, consulte la opción B<-c>)."

#. type: SH
#: dpkg-gensymbols.1:42
#, no-wrap
msgid "MAINTAINING SYMBOLS FILES"
msgstr "MANTENER FICHEROS «SYMBOLS»"

#. type: Plain text
#: dpkg-gensymbols.1:55
msgid ""
"The symbols files are really useful only if they reflect the evolution of "
"the package through several releases. Thus the maintainer has to update them "
"every time that a new symbol is added so that its associated minimal version "
"matches reality. To do this properly he can use the diffs contained in the "
"build logs. In most cases, the diff applies directly to his debian/"
"I<package>.symbols file. That said, further tweaks are usually needed: it's "
"recommended for example to drop the Debian revision from the minimal version "
"so that backports with a lower version number but the same upstream version "
"still satisfy the generated dependencies.  If the Debian revision can't be "
"dropped because the symbol really got added by the Debian specific change, "
"then one should suffix the version with \"~\"."
msgstr ""
"Los ficheros «symbols» son realmente útiles sólo cuando reflejan la "
"evolución del paquete a lo largo de varias publicaciones. Por ello, el "
"desarrollador tiene que actualizarlos cada vez que se añada un símbolo "
"nuevo, para que así la mínima versión asociada concuerde con la realidad. "
"Para hacer esto apropiadamente puede usar los «diff» contenidos en los "
"registros de construcción. En la mayoría de los caso, el «diff» se aplica "
"directamente sobre el fichero «debian/I<package>.symbols». Dicho esto, es "
"necesario afinar este proceso: se recomienda, por ejemplo, eliminar el "
"número de revisión de Debian de la versión mínima para que así aquellas "
"adaptaciones hacia atrás («backports») con un número de versión menor, pero "
"con la misma versión que la fuente original, puedan satisfacer las "
"dependencias generadas. Si no se puede eliminar la revisión de Debian porque "
"el símbolo se añadió debido a un cambio específico de Debian puede afijar "
"«~» a la versión."

#. type: Plain text
#: dpkg-gensymbols.1:59
msgid ""
"Before applying any patch to the symbols file, the maintainer should double-"
"check that it's sane. Public symbols are not supposed to disappear, so the "
"patch should ideally only add new lines."
msgstr ""
"Antes de aplicar un parche al fichero «symbols» el desarrollador debería "
"revisar nuevamente que es adecuado. Se espera que los símbolos públicos no "
"desaparezcan así que, idealmente, el parche sólo debería añadir líneas "
"nuevas."

#. type: Plain text
#: dpkg-gensymbols.1:64
msgid ""
"Note that you can put comments in symbols files: any line with '#' as the "
"first character is a comment except if it starts with '#include' (see "
"section B<Using includes>). Lines starting with '#MISSING:' are special "
"comments documenting symbols that have disappeared."
msgstr ""

#. type: SS
#: dpkg-gensymbols.1:64
#, no-wrap
msgid "Using #PACKAGE# substitution"
msgstr "Usar la sustitución de #PACKAGE#"

#. type: Plain text
#: dpkg-gensymbols.1:72
msgid ""
"In some rare cases, the name of the library varies between architectures.  "
"To avoid hardcoding the name of the package in the symbols file, you can use "
"the marker I<#PACKAGE#>. It will be replaced by the real package name during "
"installation of the symbols files. Contrary to the I<#MINVER#> marker, "
"I<#PACKAGE#> will never appear in a symbols file inside a binary package."
msgstr ""
"En algunos casos aislados el nombre de la biblioteca varía según la "
"arquitectura. Puede usar el marcador I<#PACKAGE#> para evitar incrustar "
"(«hardcode») el nombre del paquete en el fichero «symbols». Se reemplazará "
"por el nombre real del paquete durante la instalación de los ficheros "
"«symbols». A diferencia del marcador I<#MINVER#>, I<#PACKAGE#> nunca "
"aparecerá en un fichero «symbols» contenido en un paquete binario."

#. type: SS
#: dpkg-gensymbols.1:72
#, no-wrap
msgid "Using symbol tags"
msgstr "Usar etiquetas de símbolos"

#. type: Plain text
#: dpkg-gensymbols.1:79
msgid ""
"Symbol tagging is useful for marking symbols that are special in some way.  "
"Any symbol can have an arbitrary number of tags associated with it. While "
"all tags are parsed and stored, only a some of them are understood by B<dpkg-"
"gensymbols> and trigger special handling of the symbols. See subsection "
"B<Standard symbol tags> for reference of these tags."
msgstr ""
"El etiquetado de símbolos es útil para marcar aquellos símbolos que son de "
"alguna manera especiales. Cada símbolo puede tener un número arbitrario de "
"etiquetas asociadas a éste. Aunque se analizan y guardan todas las "
"etiquetas, B<dpkg-gensymbols> sólo entiende algunas de ellas, e iniciará un "
"tratamiento especial de los símbolos. Consulte la sub-sección B<Etiquetas "
"estándar de símbolos> para una referencia de estas etiquetas."

#. type: Plain text
#: dpkg-gensymbols.1:91
msgid ""
"Tag specification comes right before the symbol name (no whitespace is "
"allowed in between). It always starts with an opening bracket B<(>, ends "
"with a closing bracket B<)> and must contain at least one tag. Multiple tags "
"are separated by the B<|> character. Each tag can optionally have a value "
"which is separated form the tag name by the B<=> character. Tag names and "
"values can be arbitrary strings except they cannot contain any of the "
"special B<)> B<|> B<=> characters. Symbol names following a tag "
"specification can optionally be quoted with either B<'> or B<\"> characters "
"to allow whitespaces in them. However, if there are no tags specified for "
"the symbol, quotes are treated as part of the symbol name which continues up "
"until the first space."
msgstr ""
"La especificación de la etiqueta aparece a continuación del nombre del "
"símbolo (no se permite un espacio vacío entre estos). Siempre comienza con "
"un paréntesis de apertura B<(>, finaliza con un paréntesis de cierre B<)>, y "
"debe contener al menos una etiqueta. Varias etiquetas se separan con un "
"carácter B<|>. Opcionalmente, cada etiqueta puede tener un valor separado "
"del nombre de la etiqueta mediante el carácter B<=>. Los nombres de etiqueta "
"y valores pueden ser cadenas arbitrarias, a excepción de que no pueden "
"contener ningún carácter especial: B<)>, B<|> y B<=>. Los nombres de símbolo "
"a continuación de una especificación de etiqueta se pueden entrecomillar con "
"caracteres B<'> o B<\">, permitiendo así espacios vacíos. Por otra parte, de "
"no existir ninguna etiqueta definida para el símbolo, las comillas se "
"tratarán como parte del nombre del símbolo, continuando hasta el primer "
"espacio."

#. type: Plain text
#: dpkg-gensymbols.1:95
#, no-wrap
msgid ""
" (tag1=i am marked|tag name with space)\"tagged quoted symbol\"@Base 1.0\n"
" (optional)tagged_unquoted_symbol@Base 1.0 1\n"
" untagged_symbol@Base 1.0\n"
msgstr ""
" (tag1=tengo una marca|nombre de etiqueta con espacio)\"símbolo\n"
" entrecomillado y etiquetado\"@Base 1.0\n"
" (optional)símbolo_sin_comillas_y_etiquetado@Base 1.0 1\n"
" símbolo_sin_etiquetar@Base 1.0\n"

#. type: Plain text
#: dpkg-gensymbols.1:101
msgid ""
"The first symbol in the example is named I<tagged quoted symbol> and has two "
"tags: I<tag1> with value I<i am marked> and I<tag name with space> that has "
"no value. The second symbol named I<tagged_unquoted_symbol> is only tagged "
"with the tag named I<optional>. The last symbol is an example of the normal "
"untagged symbol."
msgstr ""
"El primer símbolo del ejemplo se llama I<símbolo entrecomillado y "
"etiquetado>, y tiene dos etiquetas: I<tag1>, con el valor I<tengo una marca> "
"y I<nombre de etiqueta con espacio>, que no tiene valor. El segundo símbolo "
"se llama I<símbolo_sin_comillas_y_etiquetado>, y sólo tiene una etiqueta "
"llamada I<optional>. El último símbolo es un ejemplo de un símbolo normal "
"sin etiquetar."

#. type: Plain text
#: dpkg-gensymbols.1:113
msgid ""
"Since symbol tags are an extension of the I<deb-symbols(5)> format, they can "
"only be part of the symbols files used in source packages (those files "
"should then be seen as templates used to build the symbols files that are "
"embedded in binary packages). When B<dpkg-gensymbols> is called without the "
"I<-t> option, it will output symbols files compatible to the I<deb-symbols(5)"
"> format: it fully processes symbols according to the requirements of their "
"standard tags and strips all tags from the output. On the contrary, in "
"template mode (I<-t>) all symbols and their tags (both standard and unknown "
"ones)  are kept in the output and are written in their original form as they "
"were loaded."
msgstr ""
"Debido a que las etiquetas de símbolos son una extensión del formato I<deb-"
"symbols(5)> sólo pueden formar parte de los ficheros «symbols» de paquetes "
"fuente (estos ficheros deberían aparecer como plantillas usadas para generar "
"los ficheros «symbols» integrados en paquetes binarios). Cuando invoca "
"B<dpkg-gensymbols> con la opción I<-t>, enviará por la salida ficheros "
"«symbols» compatibles con el formato I<deb-symbols(5)>: procesa "
"completamente los símbolos de acuerdo a los requerimientos de sus etiquetas "
"estándar, y elimina todas las etiquetas de la salida. Por otra parte, en el "
"modo plantilla (I<-t>), todos los símbolos y etiquetas (estándar y "
"desconocidos) se muestran por la salida, y se escriben en su forma original "
"a medida que se cargan."

#. type: SS
#: dpkg-gensymbols.1:113
#, no-wrap
msgid "Standard symbol tags"
msgstr "Etiquetas de símbolo estándar"

#. type: TP
#: dpkg-gensymbols.1:114
#, no-wrap
msgid "B<optional>"
msgstr "B<optional>"

#. type: Plain text
#: dpkg-gensymbols.1:124
msgid ""
"A symbol marked as optional can disappear from the library at any time and "
"that will never cause B<dpkg-gensymbols> to fail. However, disappeared "
"optional symbols will continuously appear as MISSING in the diff in each new "
"package revision.  This behaviour serves as a reminder for the maintainer "
"that such a symbol needs to be removed from the symbol file or readded to "
"the library. When the optional symbol, which was previously declared as "
"MISSING, suddenly reappears in the next revision, it will be upgraded back "
"to the \"existing\" status with its minimum version unchanged."
msgstr ""
"Un símbolo marcado como opcional puede desaparecer de la biblioteca en "
"cualquier momento sin causar un fallo de B<dpkg-gensymbols>. Por otra parte, "
"los símbolos opcionales desaparecidos aparecerán continuamente como "
"«MISSING» (ausente) en el «diff» de cada nueva revisión del paquete. Este "
"comportamiento sirve como un recordatorio para el desarrollador para "
"informar de la necesidad de eliminar tal símbolo del fichero «symbols», o de "
"añadir éste nuevamente a la biblioteca. Cuando el símbolo opcional declarado "
"previamente como «MISSING» reaparece de súbito en la siguiente revisión, se "
"actualizara a un estado «existente» sin modificar la versión mínima."

#. type: Plain text
#: dpkg-gensymbols.1:129
msgid ""
"This tag is useful for symbols which are private where their disappearance "
"do not cause ABI breakage. For example, most of C++ template instantiations "
"fall into this category. Like any other tag, this one may also have an "
"arbitrary value: it could be used to indicate why the symbol is considered "
"optional."
msgstr ""
"Esta etiqueta es útil para aquellos símbolos privados cuya desaparición no "
"rompe la ABI. Por ejemplo, la mayoría de plantillas de producción de un "
"objeto definido más específicamente por medio del reemplazo de ciertas "
"variables por valores («instantiation») de C++ se encuentran dentro de esta "
"categoría. Al igual que con cualquier otra etiqueta, éste puede tener un "
"valor arbitrario: se puede usar para indicar porqué el símbolo se considera "
"opcional."

#. type: TP
#: dpkg-gensymbols.1:129
#, no-wrap
msgid "B<arch=>I<architecture list>"
msgstr "B<arch=>I<lista-de-arquitecturas>"

#. type: Plain text
#: dpkg-gensymbols.1:142
msgid ""
"This tag allows one to restrict the set of architectures where the symbol is "
"supposed to exist. When the symbols list is updated with the symbols "
"discovered in the library, all arch-specific symbols which do not concern "
"the current host architecture are treated as if they did not exist. If an "
"arch-specific symbol matching the current host architecture does not exist "
"in the library, normal procedures for missing symbols apply and it may cause "
"B<dpkg-gensymbols> to fail. On the other hand, if the arch-specific symbol "
"is found when it was not supposed to exist (because the current host "
"architecture is not listed in the tag), it is made arch neutral (i.e. the "
"arch tag is dropped and the symbol will appear in the diff due to this "
"change), but it is not considered as new."
msgstr ""
"Esta etiqueta permite limitar el conjunto de arquitecturas dónde se supone "
"que el símbolo existe. Cuando la lista de símbolos se actualiza con los "
"símbolos descubiertos en la biblioteca, todos los símbolos específicos de la "
"arquitectura que no son relevantes para la arquitectura anfitrión se toman "
"como no existentes. Si un símbolo específico a la arquitectura que concuerda "
"con la arquitectura anfitrión presente no existe en la biblioteca, se "
"aplicarán los procedimientos normales para símbolos desaparecidos, llevando "
"a que B<dpkg-gensymbols> falle. Por otra parte, si el símbolo específico a "
"la arquitectura se encuentra cuando se suponía que no existe (porque la "
"arquitectura anfitrión presente no está listada en la etiqueta), pasa a ser "
"neutral a la arquitectura (por ejemplo, se elimina la etiqueta de "
"arquitectura, apareciendo el símbolo en el «diff» debido a la modificación), "
"pero no se toma como un nuevo símbolo."

#. type: Plain text
#: dpkg-gensymbols.1:148
msgid ""
"When operating in the default non-template mode, among arch-specific symbols "
"only those that match the current host architecture are written to the "
"symbols file. On the contrary, all arch-specific symbols (including those "
"from foreign arches) are always written to the symbol file when operating in "
"template mode."
msgstr ""
"Al operar en el modo por omisión (sin plantilla) sólo se escribirán al "
"fichero «symbols» aquellos símbolos específicos a la arquitectura que "
"coinciden con la arquitectura anfitrión. Por otra parte, en el modo "
"plantilla todos los símbolos específicos a la arquitectura (incluyendo "
"arquitecturas alternativas) siempre se escribirán al fichero «symbols»."

#. type: Plain text
#: dpkg-gensymbols.1:154
msgid ""
"The format of I<architecture list> is the same as the one used in the "
"I<Build-Depends> field of I<debian/control> (except the enclosing square "
"brackets []). For example, the first symbol from the list below will be "
"considered only on alpha, amd64, kfreebsd-amd64 and ia64 architectures while "
"the second one anywhere except on armel."
msgstr ""
"El formato de I<lista-de-arquitecturas> es el mismo que el usado en el campo "
"I<Build-Depends> de I<debian/control> (a excepción de los paréntesis "
"cuadrados de cierre «[]»). Por ejemplo, el primer símbolo de la lista a "
"continuación se considerará sólo en las arquitecturas alpha, amd64, kfreebsd-"
"amd64 y ia64, mientras que el segundo en todos menos armel."

#. type: Plain text
#: dpkg-gensymbols.1:157
#, no-wrap
msgid ""
" (arch=alpha amd64 kfreebsd-amd64 ia64)a_64bit_specific_symbol@Base 1.0\n"
" (arch=!armel)symbol_armel_does_not_have@Base 1.0\n"
msgstr ""
" (arch=alpha amd64 kfreebsd-amd64 ia64)un_símbolo _específico_64bit@Base 1.0\n"
" (arch=!armel)símbolo_que_armel_no_tiene@Base 1.0\n"

#. type: TP
#: dpkg-gensymbols.1:157
#, no-wrap
msgid "B<ignore-blacklist>"
msgstr "B<ignore-blacklist>"

#. type: Plain text
#: dpkg-gensymbols.1:165
msgid ""
"dpkg-gensymbols has an internal blacklist of symbols that should not appear "
"in symbols files as they are usually only side-effects of implementation "
"details of the toolchain. If for some reason, you really want one of those "
"symbols to be included in the symbols file, you should tag the symbol with "
"B<ignore-blacklist>. It can be necessary for some low level toolchain "
"libraries like libgcc."
msgstr ""
"dpkg-gensymbols tiene una lista negra interna de símbolos que no deberían "
"aparecer en los ficheros «symbols», ya que habitualmente son sólo efectos "
"secundarios de los detallas de implementación de la cadena de herramientas. "
"Si por alguna razón desea incluir uno de esos símbolos en el fichero "
"«symbols» debería etiquetar el símbolo con B<ignore-blacklist>. Puede ser "
"necesario con alguna cadena de herramientas de bajo nivel como libgcc."

#. type: TP
#: dpkg-gensymbols.1:165 dpkg-gensymbols.1:202
#, no-wrap
msgid "B<c++>"
msgstr "B<c++>"

#. type: Plain text
#: dpkg-gensymbols.1:169
msgid ""
"Denotes I<c++> symbol pattern. See B<Using symbol patterns> subsection below."
msgstr ""
"Denota el patrón I<c++>- Consulte la subsección a continuación B<Usar "
"patrones de símbolos>."

#. type: TP
#: dpkg-gensymbols.1:169 dpkg-gensymbols.1:233
#, no-wrap
msgid "B<symver>"
msgstr "B<symver>"

#. type: Plain text
#: dpkg-gensymbols.1:173
msgid ""
"Denotes I<symver> (symbol version) symbol pattern. See B<Using symbol "
"patterns> subsection below."
msgstr ""
"Denota el patrón de símbolos I<symver> (versión del símbolo). Consulte la "
"sub-sección a continuación B<Usar patrones de símbolos>."

#. type: TP
#: dpkg-gensymbols.1:173 dpkg-gensymbols.1:258
#, no-wrap
msgid "B<regex>"
msgstr "B<regex>"

#. type: Plain text
#: dpkg-gensymbols.1:177
msgid ""
"Denotes I<regex> symbol pattern. See B<Using symbol patterns> subsection "
"below."
msgstr ""
"Denota el patrón de símbolos I<regex> (expresión regular). Consulte la sub-"
"sección a continuación B<Usar patrones de símbolos>."

#. type: SS
#: dpkg-gensymbols.1:177
#, no-wrap
msgid "Using symbol patterns"
msgstr "Usar patrones de símbolos."

#. type: Plain text
#: dpkg-gensymbols.1:185
msgid ""
"Unlike a standard symbol specification, a pattern may cover multiple real "
"symbols from the library. B<dpkg-gensymbols> will attempt to match each "
"pattern against each real symbol that does I<not> have a specific symbol "
"counterpart defined in the symbol file. Whenever the first matching pattern "
"is found, all its tags and properties will be used as a basis specification "
"of the symbol. If none of the patterns matches, the symbol will be "
"considered as new."
msgstr ""
"A diferencia de cualquier definición de símbolo estándar un patrón puede "
"cubrir varios símbolos reales de la biblioteca. B<dpkg-gensymbols> intentará "
"emparejar cada patrón con cada símbolo real que I<no> tiene un símbolo "
"específico de contrapartida definido en el fichero de símbolos. En el "
"momento que se encuentre el primer patrón que coincida se usarán todas sus "
"etiquetas y propiedades como un definición básica del símbolo. Si ninguno de "
"los patrones encaja, el símbolo se considerará nuevo."

#. type: Plain text
#: dpkg-gensymbols.1:193
msgid ""
"A pattern is considered lost if it does not match any symbol in the library. "
"By default this will trigger a B<dpkg-gensymbols> failure under I<-c1> or "
"higher level. However, if the failure is undesired, the pattern may be "
"marked with the I<optional> tag. Then if the pattern does not match "
"anything, it will only appear in the diff as MISSING. Moreover, like any "
"symbol, the pattern may be limited to the specific architectures with the "
"I<arch> tag. Please refer to B<Standard symbol tags> subsection above for "
"more information."
msgstr ""
"Un patrón se considera perdido si no encaja con ningún símbolo en la "
"biblioteca. Por omisión, esto accionará un fallo de B<dpkg-gensymbols> bajo "
"I<-c1> o un nivel superior. Aun así, si no desea la aparición del fallo, "
"puede marcar el patrón con la etiqueta I<optional>. Entonces, si el patrón "
"no encaja con nada simplemente aparecerá en el «diff» como «MISSING». Aún "
"más, al igual que con cualquier símbolo, puede limitar el patrón a unas "
"arquitecturas definidas con la etiqueta I<arch>. Consulte la sección "
"anterior B<Etiquetas de símbolo estándar>."

#. type: Plain text
#: dpkg-gensymbols.1:200
msgid ""
"Patterns are an extension of the I<deb-symbols(5)> format hence they are "
"only valid in symbol file templates. Pattern specification syntax is not any "
"different from the one of a specific symbol. However, symbol name part of "
"the specification serves as an expression to be matched against "
"I<name@version> of the real symbol. In order to distinguish among different "
"pattern types, a pattern will typically be tagged with a special tag."
msgstr ""
"Los patrones son una extensión del formato I<deb-symbols(5)>, y por ello "
"sólo son válidos en plantillas de fichero de símbolos. Por otra parte, la "
"parte del nombre del símbolo definido sirve como una expresión que se "
"comparará con el I<nombre@versión> del símbolo real. Para poder distinguir "
"entre los diferentes tipos de patrón, éste se etiquetará habitualmente con "
"una etiqueta especial."

#. type: Plain text
#: dpkg-gensymbols.1:202
msgid "At the moment, B<dpkg-gensymbols> supports three basic pattern types:"
msgstr ""
"A día de hoy, B<dpkg-gensymbols> es compatible con tres tipos de patrones "
"básicos:"

#. type: Plain text
#: dpkg-gensymbols.1:214
msgid ""
"This pattern is denoted by the I<c++> tag. It matches only C++ symbols by "
"their demangled symbol name (as emitted by B<c++filt>(1) utility). This "
"pattern is very handy for matching symbols which mangled names might vary "
"across different architectures while their demangled names remain the same. "
"One group of such symbols is I<non-virtual thunks> which have architecture "
"specific offsets embedded in their mangled names. A common instance of this "
"case is a virtual destructor which under diamond inheritance needs a non-"
"virtual thunk symbol. For example, even if _ZThn8_N3NSB6ClassDD1Ev@Base on "
"32bit architectures will probably be _ZThn16_N3NSB6ClassDD1Ev@Base on 64bit "
"ones, it can be matched with a single I<c++> pattern:"
msgstr ""
"Este patrón se indica con la etiqueta I<c++>. Sólo encaja con el nombre "
"«demangled» de símbolos C++ (tal y como muestra la herramienta B<c++filt>"
"(1)). Este patrón es de utilidad para emparejar símbolos con nombres "
"«mangled» que pueden variar según la arquitectura, mientras que sus nombres "
"«demangled» permanecen sin cambios. Un grupo de estos símbolos son los "
"I<thunk no virtuales>, que tienen direcciones relativas («offsets») "
"específicas a la arquitectura integradas en sus nombres «mangled». Un "
"ejemplo común de este caso es un destructor virtual, que bajo una herencia "
"de diamante necesita un símbolo thunk no virtual. Por ejemplo, incluso si "
"«_ZThn8_N3NSB6ClassDD1Ev@Base» en arquitecturas de 32bit es "
"«_ZThn16_N3NSB6ClassDD1Ev@Base» en arquitecturas de 64bit, puede emparejarlo "
"con un único patrón I<c++>:"

#. type: Plain text
#: dpkg-gensymbols.1:220
#, no-wrap
msgid ""
"libdummy.so.1 libdummy1 #MINVER#\n"
" [...]\n"
" (c++)\"non-virtual thunk to NSB::ClassD::~ClassD()@Base\" 1.0\n"
" [...]\n"
msgstr ""
"libdummy.so.1 libdummy1 #MINVER#\n"
" [...]\n"
" (c++)\"non-virtual thunk to NSB::ClassD::~ClassD()@Base\" 1.0\n"
" [...]\n"

#. type: Plain text
#: dpkg-gensymbols.1:222
msgid ""
"The demangled name above can be obtained by executing the following command:"
msgstr ""
"Puede obtener el nombre «demangled» del ejemplo anterior ejecutando la "
"siguiente orden:"

#. type: Plain text
#: dpkg-gensymbols.1:224
#, no-wrap
msgid " $ echo '_ZThn8_N3NSB6ClassDD1Ev@Base' | c++filt\n"
msgstr " $ echo '_ZThn8_N3NSB6ClassDD1Ev@Base' | c++filt\n"

#. type: Plain text
#: dpkg-gensymbols.1:232
msgid ""
"Please note that while mangled name is unique in the library by definition, "
"this is not necessarily true for demangled names. A couple of distinct real "
"symbols may have the same demangled name. For example, that's the case with "
"non-virtual thunk symbols in complex inheritance configurations or with most "
"constructors and destructors (since g++ typically generates two real symbols "
"for them). However, as these collisions happen on the ABI level, they should "
"not degrade quality of the symbol file."
msgstr ""
"Observe que aunque el nombre «mangled» sea por definición único en la "
"biblioteca, no es necesariamente cierto para nombres «demangled». Puede que "
"dos símbolos reales y distintos tengan el mismo nombre «demangled». Por "
"ejemplo, en caso de existir símbolos thunk no virtuales en complejas "
"configuraciones de herencia, o con la mayoría de constructores y "
"destructores (ya que habitualmente g++ genera dos símbolos para ellos). Por "
"otra parte, estas colisiones aparecen al nivel de la ABI, y por ello no "
"deberían degradar la calidad del fichero de símbolos."

#. type: Plain text
#: dpkg-gensymbols.1:239
msgid ""
"This pattern is denoted by the I<symver> tag. Well maintained libraries have "
"versioned symbols where each version corresponds to the upstream version "
"where the symbol got added. If that's the case, you can use a I<symver> "
"pattern to match any symbol associated to the specific version. For example:"
msgstr ""
"La etiqueta I<symver> indica este patrón. Las bibliotecas bien mantenidas "
"tienen símbolos con versión, donde cada versión corresponde con la versión "
"del autor original en la que se añadió el símbolo. De ser así, puede usar un "
"patrón I<symver> para emparejar el símbolo asociado con una versión en "
"particular. Por ejemplo:"

#. type: Plain text
#: dpkg-gensymbols.1:246
#, no-wrap
msgid ""
"libc.so.6 libc6 #MINVER#\n"
" (symver)GLIBC_2.0 2.0\n"
" [...]\n"
" (symver)GLIBC_2.7 2.7\n"
" access@GLIBC_2.0 2.2\n"
msgstr ""
"libc.so.6 libc6 #MINVER#\n"
" (symver)GLIBC_2.0 2.0\n"
" [...]\n"
" (symver)GLIBC_2.7 2.7\n"
" access@GLIBC_2.0 2.2\n"

#. type: Plain text
#: dpkg-gensymbols.1:252
msgid ""
"All symbols associated with versions GLIBC_2.0 and GLIBC_2.7 will lead to "
"minimal version of 2.0 and 2.7 respectively with the exception of the symbol "
"access@GLIBC_2.0. The latter will lead to a minimal dependency on libc6 "
"version 2.2 despite being in the scope of the \"(symver)GLIBC_2.0\" pattern "
"because specific symbols take precedence over patterns."
msgstr ""
"Todos los símbolos asociados con las versiones «GLIBC_2.0» y «GLIBC_2.7» "
"llevan a una versión mínima de 2.0 y 2.7 respectivamente, con la excepción "
"del símbolo «access@GLIBC_2.0». El segundo lleva a una dependencia mínima "
"sobre la versión 2.2 de libc6, a pesar de estar en el rango del patrón "
"«(symver)GLIBC_2.0», debido a que los símbolos específicos tiene precedencia "
"sobre los patrones."

#. type: Plain text
#: dpkg-gensymbols.1:257
msgid ""
"Please note that while old style wildcard patterns (denoted by \"*@version\" "
"in the symbol name field) are still supported, they have been deprecated by "
"new style syntax \"(symver|optional)version\". For example, \"*@GLIBC_2.0 "
"2.0\" should be written as \"(symver|optional)GLIBC_2.0 2.0\" if the same "
"behaviour is needed."
msgstr ""
"Tenga en cuanta que los patrones de comodín antiguos (indicados por "
"«*@versio» en el campo del nombre del símbolo) son aún compatibles, aunque "
"han quedado obsoletos por el nuevo estilo de sintaxis «(symver|optional)"
"versión». Por ejemplo, debería escribir «*@GLIBC_2.0 2.0» como «(symver|"
"optional)GLIBC_2.0 2.0» si desea el mismo comportamiento."

#. type: Plain text
#: dpkg-gensymbols.1:265
msgid ""
"Regular expression patterns are denoted by the I<regex> tag. They match by "
"the perl regular expression specified in the symbol name field. A regular "
"expression is matched as it is, therefore do not forget to start it with the "
"I<^> character or it may match any part of the real symbol I<name@version> "
"string. For example:"
msgstr ""
"Los patrones de expresiones regulares se indican con la etiqueta I<regex>. "
"Buscan coincidencias con la expresión regular de perl definido en el campo "
"de nombre del símbolo. Una expresión regular se empareja tal cual, por ello "
"no olvide insertar I<^> al inicio de la misma o puede que coincida con "
"cualquier parte de la cadena real del símbolo I<nombre@versión>. Por ejemplo:"

#. type: Plain text
#: dpkg-gensymbols.1:270
#, no-wrap
msgid ""
"libdummy.so.1 libdummy1 #MINVER#\n"
" (regex)\"^mystack_.*@Base$\" 1.0\n"
" (regex|optional)\"private\" 1.0\n"
msgstr ""
"libdummy.so.1 libdummy1 #MINVER#\n"
" (regex)\"^mystack_.*@Base$\" 1.0\n"
" (regex|optional)\"private\" 1.0\n"

#. type: Plain text
#: dpkg-gensymbols.1:275
msgid ""
"Symbols like \"mystack_new@Base\", \"mystack_push@Base\", \"mystack_pop@Base"
"\" etc.  will be matched by the first pattern while e.g. "
"\"ng_mystack_new@Base\" won't.  The second pattern will match all symbols "
"having the string \"private\" in their names and matches will inherit "
"I<optional> tag from the pattern."
msgstr ""
"Los símbolos como «mystack_new@Base», «mystack_push@Base», "
"«mystack_pop@Base» y similares encajarían con el primer patrón, mientras que "
"otros como «ng_mystack_new@Base» no lo harían. El segundo patrón encaja con "
"todos los símbolos con «private» en su nombre, y las coincidencias heredarán "
"de este patrón la etiqueta I<optional>."

#. type: Plain text
#: dpkg-gensymbols.1:280
msgid ""
"Basic patterns listed above can be combined where it makes sense. In that "
"case, they are processed in the order in which the tags are specified. For "
"example, both"
msgstr ""
"Puede combinar los patrones listados anteriormente, cuando tenga sentido. En "
"tal caso, se procesan en el orden de las etiquetas definidas. Por ejemplo, "
"ambos"

#. type: Plain text
#: dpkg-gensymbols.1:283
#, no-wrap
msgid ""
" (c++|regex)\"^NSA::ClassA::Private::privmethod\\ed\\e(int\\e)@Base\" 1.0\n"
" (regex|c++)N3NSA6ClassA7Private11privmethod\\edEi@Base 1.0\n"
msgstr ""
" (c++|regex)\"^NSA::ClassA::Private::privmethod\\ed\\e(int\\e)@Base\" 1.0\n"
" (regex|c++)N3NSA6ClassA7Private11privmethod\\edEi@Base 1.0\n"

#. type: Plain text
#: dpkg-gensymbols.1:293
msgid ""
"will match symbols \"_ZN3NSA6ClassA7Private11privmethod1Ei@Base\" and "
"\"_ZN3NSA6ClassA7Private11privmethod2Ei@Base\". When matching the first "
"pattern, the raw symbol is first demangled as C++ symbol, then the demangled "
"name is matched against the regular expression. On the other hand, when "
"matching the second pattern, regular expression is matched against the raw "
"symbol name, then the symbol is tested if it is C++ one by attempting to "
"demangle it. A failure of any basic pattern will result in the failure of "
"the whole pattern.  Therefore, for example, "
"\"__N3NSA6ClassA7Private11privmethod\\edEi@Base\" will not match either of "
"the patterns because it is not a valid C++ symbol."
msgstr ""
"encaja con «_ZN3NSA6ClassA7Private11privmethod1Ei@Base» y "
"«_ZN3NSA6ClassA7Private11privmethod2Ei@Base». Al comparar el primer patrón "
"se «demangle» el símbolo sin procesar como símbolo C++, para después "
"comparar el nombre «demangled» con la expresión regular. Por otra parte, al "
"comparar el segundo patrón la expresión regular se compara con el nombre sin "
"procesar del símbolo, para después confirmar si es un símbolo de C++ "
"mediante «demangle». Un fallo de un patrón básico lleva a un fallo de todo "
"el patrón. Por ejemplo, «__N3NSA6ClassA7Private11privmethod\\edEi@Base» no "
"encajaría con ningún patrón porque no es un símbolo válido de C++."

#. type: Plain text
#: dpkg-gensymbols.1:299
msgid ""
"In general, all patterns are divided into two groups: aliases (basic I<c++> "
"and I<symver>) and generic patterns (I<regex>, all combinations of multiple "
"basic patterns). Matching of basic alias-based patterns is fast (O(1))  "
"while generic patterns are O(N) (N - generic pattern count) for each "
"symbol.  Therefore, it is recommended not to overuse generic patterns."
msgstr ""
"En general, todos los patrones se dividen en dos grupos: aliases (los "
"básicos I<c++> y I<symver>) y patrones genéricos (I<regex>, todas las "
"combinaciones de varios patrones básicos). Establecer coincidencias con "
"patrones basados en alias es rápido (0(1)) mientras que los patrones "
"genéricos son 0(N) (N - cuenta genérica del patrón) para cada símbolo. "
"Debido a ello, se recomienda no abusar de los patrones genéricos."

#. type: Plain text
#: dpkg-gensymbols.1:306
msgid ""
"When multiple patterns match the same real symbol, aliases (first I<c++>, "
"then I<symver>) are preferred over generic patterns. Generic patterns are "
"matched in the order they are found in the symbol file template until the "
"first success.  Please note, however, that manual reordering of template "
"file entries is not recommended because B<dpkg-gensymbols> generates diffs "
"based on the alphanumerical order of their names."
msgstr ""
"Los alias (primero I<c++>, después I<symver>) tienen prioridad sobre los "
"patrones genéricos. Éstos se emparejan por orden de aparición en la  "
"plantilla del fichero de símbolos hasta el primer resultado de éxito. Tenga "
"en cuenta, no obstante, que no se recomienda la reorganización manual de las "
"entradas en plantillas de fichero ya que B<dpkg-gensymbols> genera «diffs» "
"basados en el orden alfanumérico de sus nombres."

#. type: SS
#: dpkg-gensymbols.1:306
#, no-wrap
msgid "Using includes"
msgstr "Usar «include»"

#. type: Plain text
#: dpkg-gensymbols.1:311
msgid ""
"When the set of exported symbols differ between architectures, it may become "
"inefficient to use a single symbol file. In those cases, an include "
"directive may prove to be useful in a couple of ways:"
msgstr ""
"Hay casos en los que usar un sólo fichero de símbolos es contraproducente "
"cuando el conjunto de símbolos exportados difiere según la arquitectura. En "
"estos casos, una directiva «include» puede ser útil de un par de maneras:"

#. type: Plain text
#: dpkg-gensymbols.1:315
msgid ""
"You can factorize the common part in some external file and include that "
"file in your I<package>.symbols.I<arch> file by using an include directive "
"like this:"
msgstr ""
"Puede factorizar la parte común en algún fichero externo, e incluir ese "
"fichero en su fichero I<paquete>.symbols.I<arq> usando una directiva "
"«include» como esta:"

#. type: Plain text
#: dpkg-gensymbols.1:317
msgid "#include \"I<packages>.symbols.common\""
msgstr "#include \"I<packages>.symbols.common\""

#. type: Plain text
#: dpkg-gensymbols.1:319
msgid "The include directive may also be tagged like any symbol:"
msgstr ""
"Al igual que con cualquier símbolo, puede etiquetar la directiva «include»:"

#. type: Plain text
#: dpkg-gensymbols.1:321
#, fuzzy
#| msgid "(tag|..|tagN)#include \"file_to_include\""
msgid "(tag|..|tagN)#include \"file-to-include\""
msgstr "(etiqueta|..|etiquetaN)#include \"fichero-para-include\""

#. type: Plain text
#: dpkg-gensymbols.1:326
#, fuzzy
#| msgid ""
#| "As a result, all symbols included from I<file_to_include> will be "
#| "considered to be tagged with I<tag> .. I<tagN> by default. You can use "
#| "this feature to create a common I<package>.symbols file which includes "
#| "architecture specific symbol files:"
msgid ""
"As a result, all symbols included from I<file-to-include> will be considered "
"to be tagged with I<tag> .. I<tagN> by default. You can use this feature to "
"create a common I<package>.symbols file which includes architecture specific "
"symbol files:"
msgstr ""
"Como resultado, se considerará que todos los símbolos incluidos en I<fichero-"
"para-include> están etiquetados con I<etiqueta> .. I<etiquetaN> por omisión. "
"Puede usar esta característica para crear un fichero común I<package>."
"symbols, que incluye ficheros de símbolos específicos a la arquitectura."

#. type: Plain text
#: dpkg-gensymbols.1:331
#, no-wrap
msgid ""
"  common_symbol1@Base 1.0\n"
" (arch=amd64 ia64 alpha)#include \"package.symbols.64bit\"\n"
" (arch=!amd64 !ia64 !alpha)#include \"package.symbols.32bit\"\n"
"  common_symbol2@Base 1.0\n"
msgstr ""
"  common_symbol1@Base 1.0\n"
" (arch=amd64 ia64 alpha)#include \"package.symbols.64bit\"\n"
" (arch=!amd64 !ia64 !alpha)#include \"package.symbols.32bit\"\n"
"  common_symbol2@Base 1.0\n"

#. type: Plain text
#: dpkg-gensymbols.1:340
msgid ""
"The symbols files are read line by line, and include directives are "
"processed as soon as they are encountered. This means that the content of "
"the included file can override any content that appeared before the include "
"directive and that any content after the directive can override anything "
"contained in the included file. Any symbol (or even another #include "
"directive) in the included file can specify additional tags or override "
"values of the inherited tags in its tag specification. However, there is no "
"way for the symbol to remove any of the inherited tags."
msgstr ""
"Los ficheros de símbolos se leen línea a línea, y las directivas «include» "
"se procesan por orden de aparición. Esto significa que el contenido del "
"fichero incluido puede sustituir cualquier contenido aparecido antes de la "
"directiva «include», y que todo contenido a continuación de la directiva "
"puede sustituir cualquier contenido del fichero incluido. Todo símbolo (o "
"incluso otra directiva «#include») en el fichero incluido puede especificar "
"etiquetas adicionales, o sustituir valores de las etiquetas heredadas en la "
"especificación de etiqueta. Por otra parte, el símbolo no puede eliminar "
"ninguna de las etiquetas heredadas."

#. type: Plain text
#: dpkg-gensymbols.1:345
msgid ""
"An included file can repeat the header line containing the SONAME of the "
"library. In that case, it overrides any header line previously read.  "
"However, in general it's best to avoid duplicating header lines. One way to "
"do it is the following:"
msgstr ""
"Un fichero incluido puede repetir la línea de cabecera que contiene el "
"«SONAME» de la biblioteca. En tal caso, sustituye cualquier línea de "
"cabecera leída anteriormente. Por otra parte, generalmente es mejor evitar "
"duplicar las líneas de cabecera. A continuación puede ver una manera de "
"realizar esto:"

#. type: Plain text
#: dpkg-gensymbols.1:348
#, no-wrap
msgid ""
"#include \"libsomething1.symbols.common\"\n"
" arch_specific_symbol@Base 1.0\n"
msgstr ""
"#include \"libsomething1.symbols.common\"\n"
" arch_specific_symbol@Base 1.0\n"

#. type: SS
#: dpkg-gensymbols.1:348
#, no-wrap
msgid "Good library management"
msgstr "Buena gestión de bibliotecas"

#. type: Plain text
#: dpkg-gensymbols.1:351
msgid "A well-maintained library has the following features:"
msgstr ""
"Una biblioteca mantenida adecuadamente tiene las siguientes características:"

#. type: Plain text
#: dpkg-gensymbols.1:355
msgid ""
"its API is stable (public symbols are never dropped, only new public symbols "
"are added) and changes in incompatible ways only when the SONAME changes;"
msgstr ""
"su API es estable (los símbolos públicos nunca se eliminan, sino que sólo se "
"añaden símbolos nuevos), y los cambios pueden introducir una "
"incompatibilidad sólo cuando el «SONAME» cambia;"

#. type: Plain text
#: dpkg-gensymbols.1:358
msgid ""
"ideally, it uses symbol versioning to achieve ABI stability despite internal "
"changes and API extension;"
msgstr ""
"Idealmente, usa el versionado de símbolos para alcanzar la estabilidad de la "
"ABI, a pesar de cambios internos y la extensión de la API;"

#. type: Plain text
#: dpkg-gensymbols.1:361
msgid ""
"it doesn't export private symbols (such symbols can be tagged optional as "
"workaround)."
msgstr ""
"No exporta símbolos privados (tales como símbolos etiquetados como "
"opcionales para evitar un problema)."

#. type: Plain text
#: dpkg-gensymbols.1:369
msgid ""
"While maintaining the symbols file, it's easy to notice appearance and "
"disappearance of symbols. But it's more difficult to catch incompatible API "
"and ABI change. Thus the maintainer should read thoroughly the upstream "
"changelog looking for cases where the rules of good library management have "
"been broken. If potential problems are discovered, the upstream author "
"should be notified as an upstream fix is always better than a Debian "
"specific work-around."
msgstr ""
"Al mantener un fichero «symbols» es sencillo notar la aparición y "
"desaparición de símbolos. Pero es más difícil notar cambios incompatibles en "
"las API y ABI. Por ello, el responsable del paquete debería leer "
"cuidadosamente el registro de cambios de la fuente original en busca de "
"casos en los que se ha roto la correcta gestión de bibliotecas. Se debería "
"notificar al autor original en caso de encontrar problemas potenciales, ya "
"que un arreglo en la fuente original del software es siempre preferible a un "
"arreglo específico de Debian."

#. type: TP
#: dpkg-gensymbols.1:370
#, no-wrap
msgid "B<-P>I<package-build-dir>"
msgstr "B<-P>I<directorio-compilación-paquete>"

#. type: Plain text
#: dpkg-gensymbols.1:373
msgid "Scan I<package-build-dir> instead of debian/tmp."
msgstr "Analiza I<directorio-compilación-paquete> en lugar de «debian/tmp»."

#. type: Plain text
#: dpkg-gensymbols.1:377
msgid ""
"Define the package name. Required if more than one binary package is listed "
"in debian/control (or if there's no debian/control file)."
msgstr ""
"Define el nombre del paquete. Es necesario si aparece más de un paquete "
"binario en «debian/control» (o si no existe ningún fichero «debian/control»)."

#. type: Plain text
#: dpkg-gensymbols.1:381
msgid ""
"Define the package version. Defaults to the version extracted from debian/"
"changelog. Required if called outside of a source package tree."
msgstr ""
"Define la versión del paquete. El valor por omisión es la versión extraída "
"de «debian/changelog». Necesario en caso de una invocación externa al árbol "
"del paquete fuente."

#. type: TP
#: dpkg-gensymbols.1:381
#, no-wrap
msgid "B<-e>I<library-file>"
msgstr "B<-e>I<fichero-biblioteca>"

#. type: Plain text
#: dpkg-gensymbols.1:387
msgid ""
"Only analyze libraries explicitly listed instead of finding all public "
"libraries. You can use a regular expression in I<library-file> to match "
"multiple libraries with a single argument (otherwise you need multiple B<-"
"e>)."
msgstr ""
"Sólo analiza las bibliotecas listadas explícitamente, en lugar de buscar "
"todas las bibliotecas públicas. Puede usar una expresión regular en "
"I<fichero-biblioteca> para emparejar varias bibliotecas con un único "
"argumento (de otra forma, necesita varias B<-e>)."

#. type: TP
#: dpkg-gensymbols.1:387
#, no-wrap
msgid "B<-I>I<filename>"
msgstr "B<-I>I<nombre-fichero>"

#. type: Plain text
#: dpkg-gensymbols.1:391
msgid ""
"Use I<filename> as reference file to generate the symbols file that is "
"integrated in the package itself."
msgstr ""
"Usa I<nombre-fichero> como un fichero de referencia para generar el fichero "
"«symbols» integrado en el mismo paquete."

#. type: Plain text
#: dpkg-gensymbols.1:395
msgid ""
"Print the generated symbols file to standard output, rather than being "
"stored in the package build tree."
msgstr ""
"Muestra por la salida estándar el fichero «symbols» generado, en lugar de "
"almacenarlo en el árbol de construcción del paquete."

#. type: TP
#: dpkg-gensymbols.1:395
#, no-wrap
msgid "B<-O>I<filename>"
msgstr "B<-O>I<fichero>"

#. type: Plain text
#: dpkg-gensymbols.1:401
msgid ""
"Store the generated symbols file as I<filename>. If I<filename> is pre-"
"existing, its content is used as basis for the generated symbols file.  You "
"can use this feature to update a symbols file so that it matches a newer "
"upstream version of your library."
msgstr ""
"Guarda el fichero de símbolos generado como I<fichero>. Si el I<fichero> ya "
"existe su contenido se usará como base para el fichero «symbols» generado. "
"Puede usar esta característica para actualizar un fichero «symbols» para que "
"coincida con una versión más reciente de la biblioteca del autor original."

#. type: TP
#: dpkg-gensymbols.1:401
#, no-wrap
msgid "B<-t>"
msgstr "B<-t>"

#. type: Plain text
#: dpkg-gensymbols.1:410
msgid ""
"Write the symbol file in template mode rather than the format compatible "
"with I<deb-symbols(5)>. The main difference is that in the template mode "
"symbol names and tags are written in their original form contrary to the "
"post-processed symbol names with tags stripped in the compatibility mode.  "
"Moreover, some symbols might be omitted when writing a standard I<deb-symbols"
"(5)> file (according to the tag processing rules) while all symbols are "
"always written to the symbol file template."
msgstr ""
"Escribe el fichero «symbols» en modo plantilla en lugar del formato "
"compatible con I<deb-symbols(5)>. La diferencia más notable es que en modo "
"plantilla los nombres de símbolo y etiquetas se escriben en su forma "
"original, en lugar de los nombres de símbolo post-procesados con las "
"etiquetas eliminadas en modo compatible. Además, puede que se omitan algunos "
"símbolos al escribir un fichero estándar de I<deb-symbols(5)> (de acuerdo a "
"las reglas de procesamiento de etiquetas), mientras que siempre se insertan "
"todos los símbolos en el modo plantilla."

#. type: TP
#: dpkg-gensymbols.1:410
#, no-wrap
msgid "B<-c>I<[0-4]>"
msgstr "B<-c>I<[0-4]>"

#. type: Plain text
#: dpkg-gensymbols.1:418
msgid ""
"Define the checks to do when comparing the generated symbols file with the "
"template file used as starting point. By default the level is 1. Increasing "
"levels do more checks and include all checks of lower levels. Level 0 never "
"fails. Level 1 fails if some symbols have disappeared. Level 2 fails if some "
"new symbols have been introduced. Level 3 fails if some libraries have "
"disappeared. Level 4 fails if some libraries have been introduced."
msgstr ""
"Define las comprobaciones a realizar al comparar el fichero «symbols» "
"generado usando como base el fichero de plantilla. El nivel predefinido es "
"1. Aumentar los niveles conlleva más comprobaciones, así como la inclusión "
"de todos los niveles inferiores. El nivel 0 nunca falla. El nivel 1 falla si "
"algunos símbolos han desaparecido. El nivel 2 falla si se han introducido "
"símbolos nuevos. El nivel 3 falla si han desaparecido algunas bibliotecas. "
"El nivel 4 falla si se han introducido bibliotecas nuevas."

#. type: Plain text
#: dpkg-gensymbols.1:421
msgid ""
"This value can be overridden by the environment variable "
"DPKG_GENSYMBOLS_CHECK_LEVEL."
msgstr ""
"Puede sustituir este valor con la variable de entorno "
"«DPKG_GENSYMBOLS_CHECK_LEVEL»."

#. type: Plain text
#: dpkg-gensymbols.1:427
msgid ""
"Keep quiet and never generate a diff between generated symbols file and the "
"template file used as starting point or show any warnings about new/lost "
"libraries or new/lost symbols. This option only disables informational "
"output but not the checks themselves (see I<-c> option)."
msgstr ""
"No muestra informes y nunca genera un «diff» entre el fichero «symbols» "
"generado y el fichero de plantilla tomado como base, ni muestra ningún aviso "
"relativo a bibliotecas nuevas o ausentes, o símbolos nuevos o ausentes. Esta "
"opción solo desactiva la salida informativa, pero no las comprobaciones "
"(consulte la opción I<-c>)."

#. type: TP
#: dpkg-gensymbols.1:427
#, no-wrap
msgid "B<-a>I<arch>"
msgstr "B<-a>I<arquitectura>"

#. type: Plain text
#: dpkg-gensymbols.1:432
msgid ""
"Assume I<arch> as host architecture when processing symbol files. Use this "
"option to generate a symbol file or diff for any architecture provided its "
"binaries are already available."
msgstr ""
"Toma I<arquitectura> como la arquitectura anfitrión al procesar ficheros "
"«symbols». Use esta opción para generar un fichero «symbols» o un «diff» "
"para cualquier arquitectura, siempre y cuando sus binarios ya estén "
"disponibles."

#. type: Plain text
#: dpkg-gensymbols.1:437
msgid ""
"Enable debug mode. Numerous messages are displayed to explain what B<dpkg-"
"gensymbols> does."
msgstr ""
"Activa el modo de depuración. Se muestran numerosos mensajes que explican "
"las acciones de B<dpkg-gensymbols>."

#. type: TP
#: dpkg-gensymbols.1:437
#, no-wrap
msgid "B<-V>"
msgstr "B<-V>"

#. type: Plain text
#: dpkg-gensymbols.1:443
msgid ""
"Enable verbose mode. The generated symbols file contains deprecated symbols "
"as comments. Furthermore in template mode, pattern symbols are followed by "
"comments listing real symbols that have matched the pattern."
msgstr ""
"Activa el modo verboso. El fichero «symbols» generado contiene símbolos "
"obsoletos en la forma de comentarios. Además, en modo plantilla los patrones "
"de símbolo anteceden a los comentarios que listan los símbolos reales que "
"coinciden con el patrón."

#. type: Plain text
#: dpkg-gensymbols.1:452
msgid "B<http://people.redhat.com/drepper/symbol-versioning>"
msgstr "B<http://people.redhat.com/drepper/symbol-versioning>"

#. type: Plain text
#: dpkg-gensymbols.1:454
msgid "B<http://people.redhat.com/drepper/goodpractice.pdf>"
msgstr "B<http://people.redhat.com/drepper/goodpractice.pdf>"

#. type: Plain text
#: dpkg-gensymbols.1:456
msgid "B<http://people.redhat.com/drepper/dsohowto.pdf>"
msgstr "B<http://people.redhat.com/drepper/dsohowto.pdf>"

#. type: Plain text
#: dpkg-gensymbols.1:459
msgid "B<deb-symbols>(5), B<dpkg-shlibdeps>(1)."
msgstr "B<deb-symbols>(5), B<dpkg-shlibdeps>(1)."

#. type: Plain text
#: dpkg-gensymbols.1:462
msgid "Copyright \\(co 2007-2009 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2007-2009 Rapha\\[:e]l Hertzog"

#. type: TH
#: dpkg-maintscript-helper.1:1
#, no-wrap
msgid "dpkg-maintscript-helper"
msgstr "dpkg-maintscript-helper"

#. type: Plain text
#: dpkg-maintscript-helper.1:4
msgid ""
"dpkg-maintscript-helper - works around known dpkg limitations in maintainer "
"scripts"
msgstr ""
"dpkg-maintscript-helper - Solución alternativa a las limitaciones de dpkg en "
"scripts de mantenedor"

#. type: Plain text
#: dpkg-maintscript-helper.1:8
#, fuzzy
#| msgid ""
#| "B<dpkg-maintscript-helper> I<command> [I<parameters>...] -- I<maint-"
#| "script-parameters>"
msgid ""
"B<dpkg-maintscript-helper> I<command> [I<parameter>...] B<--> I<maint-script-"
"parameter>..."
msgstr ""
"B<dpkg-maintscript-helper> I<orden> [I<parámetros>...] -- I<parámetros-"
"script-mantenedor>"

#. type: SH
#: dpkg-maintscript-helper.1:9
#, no-wrap
msgid "COMMANDS AND PARAMETERS"
msgstr "ÓRDENES Y PARÁMETROS"

#. type: Plain text
#: dpkg-maintscript-helper.1:12
msgid "B<rm_conffile> I<conffile> [I<lastversion> [I<package>]]"
msgstr "B<rm_> I<conffile> [I<última-versión> [I<paquete>]]"

#. type: Plain text
#: dpkg-maintscript-helper.1:14
msgid ""
"B<mv_conffile> I<oldconffile> I<newconffile> [I<lastversion> [I<package>]]"
msgstr ""
"B<mv_conffile> I<conffile-antiguo> I<conffile-nuevo> [I<última-versión> "
"[I<paquete>]]"

#. type: Plain text
#: dpkg-maintscript-helper.1:20
msgid ""
"This program is designed to be run within maintainer scripts to achieve some "
"tasks that dpkg can't (yet) handle natively either because of design "
"decisions or due to current limitations."
msgstr ""
"Este programa está diseñado para su uso dentro de scripts de mantenedor para "
"realizar tareas que dpkg no puede (por ahora) gestionar de forma nativa, "
"bien por decisiones de diseño o limitaciones actuales."

#. type: Plain text
#: dpkg-maintscript-helper.1:27
#, fuzzy
#| msgid ""
#| "Many of those tasks require coordinated actions from several maintainer "
#| "scripts (B<preinst>, B<postinst>, B<prerm>, B<postrm>). To avoid mistakes "
#| "the same call simply needs to be put in all scripts and the program will "
#| "automatically adapt its behaviour based on the environment variable "
#| "DPKG_MAINTSCRIPT_NAME and on the maintainer scripts arguments that you "
#| "have to forward after a double dash."
msgid ""
"Many of those tasks require coordinated actions from several maintainer "
"scripts (B<preinst>, B<postinst>, B<prerm>, B<postrm>). To avoid mistakes "
"the same call simply needs to be put in all scripts and the program will "
"automatically adapt its behaviour based on the environment variable "
"B<DPKG_MAINTSCRIPT_NAME> and on the maintainer scripts arguments that you "
"have to forward after a double dash."
msgstr ""
"Muchas de estas tareas requieren la ejecución coordinada de varios scripts "
"de mantenedor (B<preinst>, B<postinst>, B<prerm>, B<postrm>). Para evitar "
"errores sólo tiene que insertar la misma invocación en todos los scripts, y "
"el programa adaptará automáticamente su comportamiento en base a la variable "
"de entorno «DPKG_MAINTSCRIPT_NAME» y a los argumentos de los scripts del "
"mantenedor, que debe introducir después de un guión doble."

#. type: SH
#: dpkg-maintscript-helper.1:28
#, no-wrap
msgid "CONFFILE RELATED TASKS"
msgstr "TAREAS CON FICHEROS DE CONFIGURACIÓN «CONFFILES»"

#. type: Plain text
#: dpkg-maintscript-helper.1:38
msgid ""
"When upgrading a package, dpkg will not automatically remove a conffile (a "
"configuration file for which dpkg should preserve user changes) if it is not "
"present in the newer version. There are two principal reasons for this; the "
"first is that the conffile could've been dropped by accident and the next "
"version could restore it, users wouldn't want their changes thrown away. The "
"second is to allow packages to transition files from a dpkg-maintained "
"conffile to a file maintained by the package's maintainer scripts, usually "
"with a tool like debconf or ucf."
msgstr ""
"Al actualizar un paquete, dpkg no eliminará automáticamente un fichero de "
"configuración (un fichero de configuración con cambios del usuario que dpkg "
"debería preservar) si no está presente en la versión más reciente. Existen "
"dos razones principales para esto: la primera es que puede que el fichero de "
"configuración «conffile» haya desaparecido accidentalmente, con lo que la "
"siguiente versión la restauraría. Los usuarios no querrían ver desparecer "
"los cambios hechos. La segunda es permitir a los paquetes una transición de "
"un fichero de configuración «conffile» mantenido por dpkg a un fichero "
"mantenido por los scripts de mantenedor del paquete, habitualmente con una "
"herramienta como debconf o ucf."

#. type: Plain text
#: dpkg-maintscript-helper.1:43
msgid ""
"This means that if a package is intended to rename or remove a conffile, it "
"must explicitly do so and B<dpkg-maintscript-helper> can be used to "
"implement graceful deletion and moving of conffiles within maintainer "
"scripts."
msgstr ""
"Esto significa que si un paquete pretende renombrar o eliminar un fichero de "
"configuración, debe hacerlo de forma explícita. B<dpkg-maintscript-helper> "
"se puede usar para implementar con sencillez dentro de los scripts del "
"mantenedor la eliminación y el desplazamiento de ficheros de configuración "
"«conffile»."

#. type: SS
#: dpkg-maintscript-helper.1:44
#, no-wrap
msgid "REMOVING A CONFFILE"
msgstr "ELIMINAR UN FICHERO DE CONFIGURACIÓN «CONFFILE»"

#. type: Plain text
#: dpkg-maintscript-helper.1:50
msgid ""
"If a conffile is completely removed, it should be removed from disk, unless "
"the user has modified it. If there are local modifications, they should be "
"preserved. If the package upgrades aborts, the newly obsolete conffile "
"should not disappear."
msgstr ""
"Si se elimina un fichero de configuración «conffile» por completo, se "
"debería eliminar del disco a menos que un usuario lo haya modificado. Se "
"deberían preservar modificaciones locales en caso de existir. Si se cancela "
"la actualización del paquete, el fichero de configuración «conffile» "
"declarado como obsoleto no debería desaparecer."

#. type: Plain text
#: dpkg-maintscript-helper.1:53
msgid ""
"All of this is implemented by putting the following shell snippet in the "
"B<preinst>, B<postinst> and B<postrm> maintainer scripts:"
msgstr ""
"Esto se puede integrar introduciendo el siguiente texto de consola en los "
"scripts de mantenedor B<preinst>, B<postinst> y B<postrm>:"

#. type: Plain text
#: dpkg-maintscript-helper.1:56
#, no-wrap
msgid ""
"    dpkg-maintscript-helper rm_conffile \\e\n"
"        I<conffile> I<lastversion> I<package> -- \"$@\"\n"
msgstr ""
"    dpkg-maintscript-helper rm_conffile \\e\n"
"        I<conffile> I<última-versión> I<paquete> -- \"$@\"\n"

#. type: Plain text
#: dpkg-maintscript-helper.1:66
msgid ""
"I<conffile> is the filename of the conffile to remove.  I<lastversion> is "
"the last version of the package that contained the conffile (or the last "
"version of the package that did not take care to remove the obsolete "
"conffile if this was not immediately implemented).  If I<lastversion> is "
"empty or omitted, then the operation is tried on every upgrade. I<package> "
"is the package name, it's optional as it will default to "
"$DPKG_MAINTSCRIPT_PACKAGE (this variable is set by dpkg to the name of the "
"package acted upon). All the parameters of the maintainer scripts have to be "
"forwarded to the program after \"--\"."
msgstr ""
"I<conffile> es el nombre del fichero de configuración «conffile» a eliminar. "
"I<última-versión> es la última versión del paquete que contenía el fichero "
"de configuración «conffile» (o la última versión del paquete que no se ocupó "
"de eliminar el fichero de configuración «conffile» obsoleto en el caso de "
"que este método no se implementó inmediatamente). Si I<última-versión> está "
"vacío o se omite, se intentará la operación en cada actualización. "
"I<paquete> es el nombre del paquete, su aparición es opcional ya que el "
"valor por omisión es «$DPKG_MAINTSCRIPT_PACKAGE» (dpkg define esta variable "
"con el nombre del paquete sobre el que actúa). Todos los parámetros de los "
"scripts de mantenedor se deben introducir al programa después de «--»."

#. type: Plain text
#: dpkg-maintscript-helper.1:75
msgid ""
"Current implementation: in the B<preinst>, it checks if the conffile was "
"modified and renames it either to I<conffile>B<.dpkg-remove> (if not "
"modified) or to I<conffile>B<.dpkg-backup> (if modified). In the "
"B<postinst>, the latter file is renamed to I<conffile>B<.dpkg-bak> and kept "
"for reference as it contains user modifications but the former will be "
"removed. If the package upgrade aborts, the B<postrm> reinstalls the "
"original conffile. During purge, the B<postrm> will also delete the B<.dpkg-"
"bak> file kept up to now."
msgstr ""
"Implementación actual: en el script B<preinst>, comprueba si se ha "
"modificado el fichero de configuración y lo renombra bien como I<conffile>B<."
"dpkg-remove> (si no se ha modificado), o como I<conffile>B<.dpkg-backup> (si "
"se ha modificado). En el script B<postinst>, el segundo fichero se renombra "
"a I<conffile>B<.dpkg-bak> y se guarda como referencia ya que contiene "
"modificaciones del usuario, mientras que el primer script se elimina. Si se "
"interrumpe la actualización del paquete, el script B<postrm> reinstalará el "
"fichero de configuración «conffile» original. Durante el purgado, el script "
"B<postrm> borrará también el fichero B<.dpkg-bak> mantenido hasta ahora."

#. type: SS
#: dpkg-maintscript-helper.1:76
#, no-wrap
msgid "RENAMING A CONFFILE"
msgstr "RENOMBRAR UN FICHERO DE CONFIGURACIÓN «CONFFILE»"

#. type: Plain text
#: dpkg-maintscript-helper.1:83
msgid ""
"If a conffile is moved from one location to another, you need to make sure "
"you move across any changes the user has made. This may seem a simple change "
"to the B<preinst> script at first, however that will result in the user "
"being prompted by dpkg to approve the conffile edits even though they are "
"not responsible of them."
msgstr ""
"Si se ha cambiado la ubicación de un fichero de configuración «conffile» "
"debe asegurarse de que también migra los cambios hechos por el usuario. Esto "
"puede parecer en principio como un sencillo cambio en el script B<preinst>, "
"aunque resultará en un diálogo de dpkg para confirmar la edición del fichero "
"«conffile» incluso si no son responsables de ellos."

#. type: Plain text
#: dpkg-maintscript-helper.1:87
msgid ""
"Graceful renaming can be implemented by putting the following shell snippet "
"in the B<preinst>, B<postinst> and B<postrm> maintainer scripts:"
msgstr ""
"Puede integrar renombrar con sencillez insertando el siguiente texto de "
"consola en los scripts de mantenedor B<preinst>, B<postinst> y B<postrm>."

#. type: Plain text
#: dpkg-maintscript-helper.1:90
#, no-wrap
msgid ""
"    dpkg-maintscript-helper mv_conffile \\e\n"
"        I<oldconffile> I<newconffile> I<lastversion> I<package> -- \"$@\"\n"
msgstr ""
"    dpkg-maintscript-helper mv_conffile \\e\n"
"        I<conffile-antiguo> I<conffile-nuevo> I<última-versión>\n"
"        I<paquete> -- \"$@\"\n"

#. type: Plain text
#: dpkg-maintscript-helper.1:100
msgid ""
"I<oldconffile> and I<newconffile> are the old and new name of the conffile "
"to rename. I<lastversion> is the last version of the package that contained "
"the conffile with the old name. If I<lastversion> is empty or omitted, then "
"the operation is tried on every upgrade (note: it's safer to give the "
"version and have the operation tried only once). I<package> is the package "
"name, it's optional as it will default to $DPKG_MAINTSCRIPT_PACKAGE (this "
"variable is set by dpkg to the name of the package acted upon). All the "
"parameters of the maintainer scripts have to be forwarded to the program "
"after \"--\"."
msgstr ""
"I<conffile-antiguo> y I<conffile-nuevo> son el nombre antiguo y nuevo del "
"fichero de configuración «conffile» a renombrar. I<última-versión> es la "
"última versión del paquete que contenía el fichero de configuración "
"«conffile» con el nombre antiguo. Si I<ultima-versión> está vacío o se "
"omite, se ejecutará la operación en cada actualización (nota: es más seguro "
"dar la versión y ejecutar la operación una sola vez). I<paquete> es el "
"nombre del paquete, opcional ya que su valor por omisión es "
"«$DPKG_MAINTSCRIPT_PACKAGE» (dpkg define esta variable con el nombre del "
"paquete sobre el que actúa). Todos los parámetros de scripts de mantenedor "
"se deben introducir después de «--»."

#. type: Plain text
#: dpkg-maintscript-helper.1:108
msgid ""
"Current implementation: the B<preinst> checks if the conffile has been "
"modified, if yes it's left on place otherwise it's renamed to "
"I<oldconffile>B<.dpkg-remove>. On configuration, the B<postinst> removes "
"I<oldconffile>B<.dpkg-remove> and renames I<oldconffile> to I<newconffile> "
"if I<oldconffile> is still available. On abort-upgrade/abort-install, the "
"B<postrm> renames I<oldconffile>B<.dpkg-remove> back to I<oldconffile> if "
"required."
msgstr ""
"Implementación actual: el script B<preinst> comprueba si se ha modificado el "
"fichero de configuración «conffile», preservándolo en su lugar si es así, o "
"renombrándolo como I<conffile-antiguo>B<.dpkg-remove> en caso contrario. "
"Durante la configuración, el script B<postinst> elimina I<conffile-"
"antiguo>B<.dpkg-remove> y renombra I<conffile-antiguo> como I<conffile-"
"nuevo> si el primero aún está disponible. Durante la cancelación de una "
"instalación o actualización el script I<postrm> renombra I<conffile-"
"antiguo>B<.dpkg-remove> nuevamente como I<conffile-antiguo> de ser necesario."

#. type: SH
#: dpkg-maintscript-helper.1:109
#, no-wrap
msgid "INTEGRATION IN PACKAGES"
msgstr "INTEGRACIÓN EN PAQUETES"

#. type: Plain text
#: dpkg-maintscript-helper.1:116
#, fuzzy
#| msgid ""
#| "Given that B<dpkg-maintscript-helper> is used in the B<preinst>, using it "
#| "unconditionally requires a pre-dependency to ensure that the required "
#| "version of dpkg has been configured before. The required version depends "
#| "on the command used, for B<rm_conffile> and B<mv_conffile> it is 1.15.7.2:"
msgid ""
"Given that B<dpkg-maintscript-helper> is used in the B<preinst>, using it "
"unconditionally requires a pre-dependency to ensure that the required "
"version of dpkg has been unpacked before. The required version depends on "
"the command used, for B<rm_conffile> and B<mv_conffile> it is 1.15.7.2:"
msgstr ""
"Debido a que B<dpkg-maintscript-helper> se usa en el script B<preinst>, "
"usarlo incondicionalmente precisa una pre-dependencia para asegurar que la "
"versión requerida de dpkg se ha configurado en el pasado. La versión "
"requerida depende de la orden usada, 1.15.7.2 para B<rm_conffile> y "
"B<mv_conffile>."

#. type: Plain text
#: dpkg-maintscript-helper.1:118
#, fuzzy, no-wrap
#| msgid "    Pre-Depends: dpkg (E<gt>= 1.15.7.2)\n"
msgid "    B<Pre-Depends:> dpkg (E<gt>= 1.15.7.2)\n"
msgstr "    Pre-Depends: dpkg (E<gt>= 1.15.7.2)\n"

#. type: Plain text
#: dpkg-maintscript-helper.1:123
msgid ""
"But in many cases the operation done by the program is not critical for the "
"package, and instead of using a pre-dependency we can call the program only "
"if we know that the required command is supported by the currently installed "
"dpkg:"
msgstr ""
"Aún así, en muchos casos la operación efectuada por el programa no es "
"crítica para el paquete, y en lugar de usar un pre-dependencia puede invocar "
"el programa sólo si sabemos que la orden requerida es compatible con la "
"versión de dpkg actualmente instalada:"

#. type: Plain text
#: dpkg-maintscript-helper.1:127
#, fuzzy, no-wrap
#| msgid ""
#| "    if dpkg-maintscript-helper supports E<lt>commandE<gt>; then\n"
#| "        dpkg-maintscript-helper E<lt>commandE<gt> ...\n"
#| "    fi\n"
msgid ""
"    if dpkg-maintscript-helper supports I<command>; then\n"
"        dpkg-maintscript-helper I<command> ...\n"
"    fi\n"
msgstr ""
"    if dpkg-maintscript-helper supports E<lt>commandE<gt>; then\n"
"        dpkg-maintscript-helper E<lt>commandE<gt> ...\n"
"    fi\n"

#. type: Plain text
#: dpkg-maintscript-helper.1:130
msgid "Copyright \\(co 2010 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2010 Rapha\\[:e]l Hertzog"

#. type: Plain text
#: dpkg-maintscript-helper.1:132
msgid "Copyright \\(co 2008 Joey Hess"
msgstr "Copyright \\(co 2008 Joey Hess"

#. type: Plain text
#: dpkg-maintscript-helper.1:134
msgid "Copyright \\(co 2007 Guillem Jover"
msgstr "Copyright \\(co 2007 Guillem Jover"

#. type: Plain text
#: dpkg-maintscript-helper.1:136
msgid "Copyright \\(co 2005 Scott James Remnant"
msgstr "Copyright \\(co 2005 Scott James Remnant"

#. type: TH
#: dpkg-mergechangelogs.1:1
#, no-wrap
msgid "dpkg-mergechangelogs"
msgstr "dpkg-mergechangelogs"

#. type: Plain text
#: dpkg-mergechangelogs.1:4
msgid "dpkg-mergechangelogs - 3-way merge of debian/changelog files"
msgstr ""
"dpkg-mergechangelogs - Fusión a partir de tres versiones («3-way merge») de "
"ficheros «debian/changelog»"

#. type: Plain text
#: dpkg-mergechangelogs.1:8
msgid ""
"B<dpkg-mergechangelogs> [I<option>...] I<old> I<new-a> I<new-b> [I<out>]"
msgstr ""
"B<dpkg-mergechangelogs> [I<opción>...] I<antiguo> I<nuevo-a> I<nuevo-b> "
"[I<salida>]"

#. type: Plain text
#: dpkg-mergechangelogs.1:15
msgid ""
"This program will use the 3 provided versions of the Debian changelog to "
"generate a merged changelog file. The resulting changelog is stored in the "
"file I<out> or output to the standard output if that parameter is not given."
msgstr ""
"Este programa usa las tres versiones proporcionadas del registro de cambios "
"de Debian para generar un fichero de registro de cambios («changelog») "
"fusionado. El registro de cambios resultante se guarda en el fichero "
"I<salida>, o se mostrará por la salida estándar en caso de no introducir tal "
"parámetro."

#. type: Plain text
#: dpkg-mergechangelogs.1:26
msgid ""
"Each entry is identified by its version number and they are assumed to be "
"not conflicting, they are simply merged in the right order (by decreasing "
"version number). When B<--merge-prereleases> is used, the part of the "
"version number after the last tilde is dropped so that 1.0-1~exp1 and "
"1.0-1~exp5 are considered to be the same entry. When the same version is "
"available in both I<new-a> and I<new-b>, a standard line-based 3-way merge "
"is attempted (provided that the module Algorithm::Merge is available \\[em] "
"it's part of the package libalgorithm-merge-perl \\[em] otherwise you get a "
"global conflict on the content of the entry)."
msgstr ""
"Cada entrada se identifica por su número de versión y, asumiendo que no "
"entran en conflicto, se fusionarán en el orden correcto (por orden "
"decreciente del número de versión). Cuando se usa B<--merge-prereleases>, se "
"omitirá el número de versión tras la última tilde, de forma que «1.0-1~exp1» "
"y «1.0-1~exp5» se tomarán como la misma entrada. Cuando la misma versión "
"está disponible en I<nuevo-a> y I<nuevo-b>, se intentará una fusión estándar "
"de las líneas de las tres versiones (sólo si esta disponible el módulo "
"«Algorithm::Merge» \\[em] parte del paquete «libalgorithm-merge-perl» "
"\\[em], de no ser así, obtendrá un conflicto global en el contenido de la "
"entrada)."

#. type: TP
#: dpkg-mergechangelogs.1:28
#, no-wrap
msgid "B<--merge-prereleases>, B<-m>"
msgstr "B<--merge-prereleases>, B<-m>"

#. type: Plain text
#: dpkg-mergechangelogs.1:33
msgid ""
"Drop the part after the last tilde in the version number when doing version "
"comparison to identify if two entries are supposed to be the same or not."
msgstr ""
"Elimina la parte tras la última virgulilla en el número de versión al "
"realizar una comparación para identificar si dos entradas son la misma o no."

#. type: Plain text
#: dpkg-mergechangelogs.1:38
msgid ""
"This is useful when you keep using the same changelog entry but you increase "
"its version number regularly. For instance, you might have 2.3-1~exp1, "
"2.3-1~exp2, ... until the official release 2.3-1 and they are all the same "
"changelog entry that has evolved over time."
msgstr ""
"Es útil cuando siempre se usa la misma entrada en el registro de cambios, "
"pero aumenta el número de versión regularmente. Por ejemplo, puede tener "
"«2.3-1~exp1», «2.3-1~exp2»... hasta la publicación oficial «2.3-1», teniendo "
"todas la misma entrada en el registro de cambios, pero que ha evolucionado "
"con el tiempo."

#. type: SH
#: dpkg-mergechangelogs.1:45
#, no-wrap
msgid "LIMITATIONS"
msgstr "LIMITACIONES"

#. type: Plain text
#: dpkg-mergechangelogs.1:50
msgid ""
"Anything that is not parsed by Dpkg::Changelog is lost during the merge.  "
"This might include stuff like vim modelines, comments which were not "
"supposed to be there, etc."
msgstr ""
"Se perderá durante la fusión todo lo que «Dpkg::Changelog» no analice. Esto "
"puede incluir cosas como «modelines» de vim, comentarios donde no deberían "
"estar, etc."

#. type: SH
#: dpkg-mergechangelogs.1:51
#, no-wrap
msgid "INTEGRATION WITH GIT"
msgstr "INTEGRACIÓN CON GIT"

#. type: Plain text
#: dpkg-mergechangelogs.1:56
msgid ""
"If you want to use this program to merge Debian changelog files in a git "
"repository, you have first to register a new merge driver in B<.git/config> "
"or B<~/.gitconfig>:"
msgstr ""
"Si desea usar este programa para fusionar ficheros de registro de cambios de "
"Debian en un repositorio git primero tendrá que registrar un nuevo «merge "
"driver» en B<.git/config> o B<~/.gitconfig>:"

#. type: Plain text
#: dpkg-mergechangelogs.1:60
#, no-wrap
msgid ""
" [merge \"dpkg-mergechangelogs\"]\n"
"     name = debian/changelog merge driver\n"
"     driver = dpkg-mergechangelogs -m %O %A %B %A\n"
msgstr ""
" [merge \"dpkg-mergechangelogs\"]\n"
"     name = debian/changelog merge driver\n"
"     driver = dpkg-mergechangelogs -m %O %A %B %A\n"

#. type: Plain text
#: dpkg-mergechangelogs.1:64
msgid ""
"Then you have to setup the merge attribute for the debian/changelog file "
"either in B<.gitattributes> in the repository itself, or in B<.git/info/"
"attributes>:"
msgstr ""
"Después tendrá que definir el «merge attribute» para el fichero «debian/"
"changelog» bien en B<.gitattributes> en el mismo repositorio, o en B<.git/"
"info/attributes>:"

#. type: Plain text
#: dpkg-mergechangelogs.1:66
#, no-wrap
msgid " debian/changelog merge=dpkg-mergechangelogs\n"
msgstr " debian/changelog merge=dpkg-mergechangelogs\n"

#. type: Plain text
#: dpkg-mergechangelogs.1:68
msgid "Copyright \\(co 2009-2010 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2009-2010 Rapha\\[:e]l Hertzog"

#. type: TH
#: dpkg-name.1:6
#, no-wrap
msgid "dpkg-name"
msgstr "dpkg-name"

#. type: Plain text
#: dpkg-name.1:9
msgid "dpkg-name - rename Debian packages to full package names"
msgstr "dpkg-name - Renombra paquetes de Debian a nombres completos de paquete"

#. type: Plain text
#: dpkg-name.1:15
#, fuzzy
#| msgid "B<dpkg-name> [I<options>] [B<-->] I<files>"
msgid "B<dpkg-name> [I<option>...] [B<-->] I<file>..."
msgstr "B<dpkg-name> [I<opciones>] [B<-->] I<ficheros>"

#. type: Plain text
#: dpkg-name.1:29
#, fuzzy
#| msgid ""
#| "This manual page documents the B<dpkg-name> program which provides an "
#| "easy way to rename B<Debian> packages into their full package names. A "
#| "full package name consists of "
#| "I<E<lt>packageE<gt>_E<lt>versionE<gt>_E<lt>architectureE<gt>."
#| "E<lt>package_typeE<gt>> as specified in the control file of the package. "
#| "The I<E<lt>versionE<gt>> part of the filename consists of the upstream "
#| "version information optionally followed by a hyphen and the revision "
#| "information. The I<E<lt>package_typeE<gt>> part comes from that field if "
#| "present or fallbacks to B<deb>."
msgid ""
"This manual page documents the B<dpkg-name> program which provides an easy "
"way to rename B<Debian> packages into their full package names. A full "
"package name consists of I<package>B<_>I<version>B<_>I<architecture>B<."
">I<package-type> as specified in the control file of the package. The "
"I<version> part of the filename consists of the upstream version information "
"optionally followed by a hyphen and the revision information. The I<package-"
"type> part comes from that field if present or fallbacks to B<deb>."
msgstr ""
"Esta pagina de manual documenta el uso de B<dpkg-name>, que ofrece una forma "
"sencilla de renombrar paquetes de B<Debian> a sus nombres completos de "
"paquete. Un nombre completo de paquete consiste de "
"I<E<lt>paqueteE<gt>_E<lt>versiónE<gt>_E<lt>arquitecturaE<gt>.E<lt>tipo-"
"paqueteE<gt>> tal y como se define en el fichero de control del paquete. La "
"parte de E<lt>versiónE<gt> del fichero consiste de la información de la "
"versión de la fuente original, opcionalmente seguido de un guión, y la "
"información de la revisión. La parte de I<E<lt>tipo-paqueteE<gt>> se extrae "
"de ese campo, de existir. De no ser así, se usará B<deb> por omisión."

#. type: TP
#: dpkg-name.1:31
#, no-wrap
msgid "B<-a>, B<--no-architecture>"
msgstr "B<-a>, B<--no-architecture>"

#. type: Plain text
#: dpkg-name.1:34
msgid "The destination filename will not have the architecture information."
msgstr ""
"El nombre del fichero de destino no incluirá información sobre la "
"arquitectura."

#. type: TP
#: dpkg-name.1:34
#, no-wrap
msgid "B<-k>, B<--symlink>"
msgstr "B<-k>, B<--symlink>"

#. type: Plain text
#: dpkg-name.1:37
msgid "Create a symlink, instead of moving."
msgstr "Crea un enlace simbólico en vez de mover el fichero."

#. type: TP
#: dpkg-name.1:37
#, no-wrap
msgid "B<-o>, B<--overwrite>"
msgstr "B<-o>, B<--overwrite>"

#. type: Plain text
#: dpkg-name.1:41
msgid ""
"Existing files will be overwritten if they have the same name as the "
"destination filename."
msgstr ""
"Los ficheros existentes se sobreescribirán si poseen el mismo nombre que el "
"fichero de destino."

#. type: TP
#: dpkg-name.1:41
#, no-wrap
msgid "B<-s>, B<--subdir> [I<dir>]"
msgstr "B<-s>, B<--subdir> [I<directorio>]"

#. type: Plain text
#: dpkg-name.1:53
#, fuzzy
#| msgid ""
#| "Files will be moved into a subdirectory. If the directory given as "
#| "argument exists the files will be moved into that directory otherwise the "
#| "name of the target directory is extracted from the section field in the "
#| "control part of the package. The target directory will be `unstable/"
#| "binary-E<lt>architectureE<gt>/E<lt>sectionE<gt>'. If the section is not "
#| "found in the control, then `no-section' is assumed, and in this case, as "
#| "well as for sections `non-free' and `contrib' the target directory is "
#| "`E<lt>sectionE<gt>/binary-E<lt>architectureE<gt>'. The section field "
#| "isn't required so a lot of packages will find their way to the `no-"
#| "section' area. Use this option with care, it's messy."
msgid ""
"Files will be moved into a subdirectory. If the directory given as argument "
"exists the files will be moved into that directory otherwise the name of the "
"target directory is extracted from the section field in the control part of "
"the package. The target directory will be `unstable/binary-I<architecture>/"
"I<section>'. If the section is not found in the control, then `no-section' "
"is assumed, and in this case, as well as for sections `non-free' and "
"`contrib' the target directory is `I<section>/binary-I<architecture>'. The "
"section field isn't required so a lot of packages will find their way to the "
"`no-section' area. Use this option with care, it's messy."
msgstr ""
"Los ficheros se moverán al subdirectorio definido. Si existe el directorio "
"dado como argumento, los ficheros se moverán al directorio definido. De otra "
"forma, el nombre del directorio de destino se extraerá del campo de sección, "
"en el fichero de control del paquete. El directorio de destino será "
"«unstable/binary-E<lt>arquitecturaE<gt>/E<lt>secciónE<gt>». Si no se "
"encuentra ninguna sección en el fichero de control, se asumirá «no-section». "
"En este caso, y también si la sección es «non-free» o «contrib», el "
"directorio de destino será «E<lt>secciónE<gt>/binary-"
"E<lt>arquitecturaE<gt>». El campo de sección no es necesario, por lo que "
"muchos paquetes aparecerán como parte de «no-section» (sin sección). Use "
"esta opción con cuidado, es algo delicada."

#. type: TP
#: dpkg-name.1:53
#, no-wrap
msgid "B<-c>, B<--create-dir>"
msgstr "B<-c>, B<--create-dir>"

#. type: Plain text
#: dpkg-name.1:58
msgid ""
"This option can used together with the -s option. If a target directory "
"isn't found it will be created automatically.  B<Use this option with care.>"
msgstr ""
"Esta opción se puede usar junto con la opción «-s». Si no se encuentra "
"ningún directorio de destino, se creará automáticamente. B<Use esta opción "
"con cuidado.>"

#. type: TP
#: dpkg-name.1:61
#, no-wrap
msgid "B<-v>, B<--version>"
msgstr "B<-v>, B<--version>"

#. type: TP
#: dpkg-name.1:66
#, no-wrap
msgid "B<dpkg-name bar-foo.deb>"
msgstr "B<dpkg-name bar-foo.deb>"

#. type: Plain text
#: dpkg-name.1:71
msgid ""
"The file `bar-foo.deb' will be renamed to bar-foo_1.0-2_i386.deb or "
"something similar (depending on whatever information is in the control part "
"of `bar-foo.deb')."
msgstr ""
"El fichero «bar-foo.deb» se renombrará a «bar-foo_1.0-2_i386.deb» o similar "
"(dependiendo de cual sea la información en la sección de control de «bar-foo."
"deb»)."

#. type: TP
#: dpkg-name.1:71
#, no-wrap
msgid "B<find /root/debian/ -name \\(aq*.deb\\(aq | xargs -n 1 dpkg-name -a>"
msgstr "B<find /root/debian/ -name \\(aq*.deb\\(aq | xargs -n 1 dpkg-name -a>ç"

#. type: Plain text
#: dpkg-name.1:76
msgid ""
"All files with the extension `deb' in the directory /root/debian and its "
"subdirectory's will be renamed by dpkg-name if required into names with no "
"architecture information."
msgstr ""
"dpkg-name renombrará todos los ficheros con la extensión «.deb» dentro del "
"directorio «/root/debian» y sus subdirectorios, en caso de ser necesario, a "
"nombres sin información de arquitectura."

#. type: TP
#: dpkg-name.1:76
#, no-wrap
msgid "B<find -name \\(aq*.deb\\(aq | xargs -n 1 dpkg-name -a -o -s -c>"
msgstr "B<find -name \\(aq*.deb\\(aq | xargs -n 1 dpkg-name -a -o -s -c>"

#. type: Plain text
#: dpkg-name.1:82
msgid ""
"B<Don't do this.> Your archive will be messed up completely because a lot of "
"packages don't come with section information.  B<Don't do this.>"
msgstr ""
"B<No haga esto.> Su archivo se corromperá completamente debido a que una "
"gran cantidad de paquetes no incluyen una sección de información. B<No haga "
"esto.>"

#. type: TP
#: dpkg-name.1:82
#, no-wrap
msgid "B<dpkg --build debian-tmp && dpkg-name -o -s .. debian-tmp.deb>"
msgstr "B<dpkg --build debian-tmp && dpkg-name -o -s .. debian-tmp.deb>"

#. type: Plain text
#: dpkg-name.1:85
msgid "This can be used when building new packages."
msgstr "Puede utilizar esto al construir paquetes nuevos."

#. type: Plain text
#: dpkg-name.1:95
#, fuzzy
#| msgid ""
#| "Some packages don't follow the name structure "
#| "E<lt>packageE<gt>_E<lt>versionE<gt>_E<lt>architectureE<gt>.deb. Packages "
#| "renamed by dpkg-name will follow this structure. Generally this will have "
#| "no impact on how packages are installed by B<dselect>(1)/ B<dpkg>(1), but "
#| "other installation tools might depend on this naming structure."
msgid ""
"Some packages don't follow the name structure "
"I<package>B<_>I<version>B<_>I<architecture>B<.deb>.  Packages renamed by "
"dpkg-name will follow this structure. Generally this will have no impact on "
"how packages are installed by B<dselect>(1)/B<dpkg>(1), but other "
"installation tools might depend on this naming structure."
msgstr ""
"Algunos paquetes no siguen la misma estructura de "
"E<lt>paqueteE<gt>_E<lt>versiónE<gt>_E<lt>arquitecturaE<gt>.deb. Los paquetes "
"que dpkg-name renombre seguirán esta estructura. Generalmente esto no tendrá "
"ningún efecto en la instalación de paquetes por B<dselect>(1)/ B<dpkg>(1), "
"aunque otras herramientas de instalación podrían depender de esta estructura."

#. type: Plain text
#: dpkg-name.1:103
msgid ""
"B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dpkg-deb>(1), B<find>(1), "
"B<xargs>(1)."
msgstr ""
"B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dpkg-deb>(1), B<find>(1), "
"B<xargs>(1)."

#. type: Plain text
#: dpkg-name.1:106
msgid "Copyright \\(co 1995,1996 Erick Branderhorst"
msgstr "Copyright \\(co 1995,1996 Erick Branderhorst"

#. type: TH
#: dpkg-parsechangelog.1:1
#, no-wrap
msgid "dpkg-parsechangelog"
msgstr "dpkg-parsechangelog"

#. type: Plain text
#: dpkg-parsechangelog.1:4
msgid "dpkg-parsechangelog - parse Debian changelog files"
msgstr ""
"dpkg-parsechangelog - Análisis de ficheros de registro de cambios de Debian"

#. type: Plain text
#: dpkg-parsechangelog.1:8
#, fuzzy
#| msgid "B<dpkg-parsechangelog> [I<options>]"
msgid "B<dpkg-parsechangelog> [I<option>...]"
msgstr "B<dpkg-parsechangelog> [I<opciones>]"

#. type: Plain text
#: dpkg-parsechangelog.1:14
msgid ""
"B<dpkg-parsechangelog> reads and parses the changelog of an unpacked Debian "
"source tree and outputs the information in it to standard output in a "
"machine-readable form."
msgstr ""
"B<dpkg-parsechangelog> lee y analiza el registro de cambios de un árbol de "
"fuentes de Debian desempaquetado, mostrando la información contenida a "
"través de la salida estándar en un formato legible por el sistema."

#. type: TP
#: dpkg-parsechangelog.1:26
#, no-wrap
msgid "B<-L>I<libdir>"
msgstr "B<-L>I<directorio-bibliotecas>"

#. type: Plain text
#: dpkg-parsechangelog.1:33
msgid ""
"Specify an additional directory to search for parser scripts.  This "
"directory is searched before the default directories which are currently B</"
"usr/local/lib/dpkg/parsechangelog> and B</usr/lib/dpkg/parsechangelog>."
msgstr ""
"Define un directorio adicional en el que buscar scripts de análisis. Este "
"directorio se analiza antes que los directorios predefinidos, B</usr/local/"
"lib/dpkg/parsechangelog> y B</usr/lib/dpkg/parsechangelog>."

#. type: SS
#: dpkg-parsechangelog.1:39
#, no-wrap
msgid "Parser Options"
msgstr "Opciones de análisis"

#. type: Plain text
#: dpkg-parsechangelog.1:44
msgid ""
"The following options can be used to influence the output of the changelog "
"parser, e.g. the range of entries or the format of the output. They need to "
"be supported by the parser script in question. See also B<CAVEATS>."
msgstr ""
"Las siguientes opciones permiten modificar la salida del analizador de "
"registros de cambio, por ejemplo, el rango de las entradas o el formato de "
"la salida. Deben ser compatibles con el script analizador en cuestión. Véase "
"también B<ADVERTENCIAS>."

#. type: TP
#: dpkg-parsechangelog.1:44
#, no-wrap
msgid "B<--format>I< outputformat>"
msgstr "B<--format>I< formato-salida>"

#. type: Plain text
#: dpkg-parsechangelog.1:53
msgid ""
"Set the output format. Currently supported values are I<dpkg> and "
"I<rfc822>.  I<dpkg> is the classic output format (from before this option "
"existed) and the default. It consists of one paragraph in Debian control "
"format (see B<deb-control>(5)). If more than one entry is requested, then "
"most fields are taken from the latest entry, except otherwise stated:"
msgstr ""
"Define el formato de la salido. Los valores compatibles son I<dpkg> y "
"I<rfc822>. I<dpkg> es el formato de salida clásico (anterior a la existencia "
"de esta opción) y el valor predefinido. Consiste de un párrafo con el "
"formato de control de Debian (consulte B<deb-control>(5)). En caso de "
"requerir más de una entrada, la mayoría de campos se toman de la última "
"entrada, a menos que se especifique lo contrario:"

#. type: TP
#: dpkg-parsechangelog.1:54
#, fuzzy, no-wrap
#| msgid "B<Source:> E<lt>pkg nameE<gt>"
msgid "B<Source:>I< pkg-name>"
msgstr "B<Source:> E<lt>nombre-paqueteE<gt>"

#. type: TP
#: dpkg-parsechangelog.1:56
#, fuzzy, no-wrap
#| msgid "B<Version:> E<lt>versionE<gt>"
msgid "B<Version:>I< version>"
msgstr "B<Version:> E<lt>versiónE<gt>"

#. type: TP
#: dpkg-parsechangelog.1:58
#, fuzzy, no-wrap
#| msgid "B<Distribution:> E<lt>target distributionE<gt>"
msgid "B<Distribution:>I< target-distribution>"
msgstr "B<Distribution:> E<lt>distribución-destinoE<gt>"

#. type: TP
#: dpkg-parsechangelog.1:60
#, fuzzy, no-wrap
#| msgid "B<Urgency:> E<lt>urgencyE<gt>"
msgid "B<Urgency:>I< urgency>"
msgstr "B<Urgency:> E<lt>urgenciaE<gt>"

#. type: Plain text
#: dpkg-parsechangelog.1:63
msgid "The highest urgency of all included entries is used."
msgstr ""
"Se usa la urgencia más elevada presente entre todas las entradas incluidas."

#. type: TP
#: dpkg-parsechangelog.1:63
#, fuzzy, no-wrap
#| msgid "B<Maintainer:> E<lt>authorE<gt>"
msgid "B<Maintainer:>I< author>"
msgstr "B<Maintainer:> E<lt>autorE<gt>"

#. type: TP
#: dpkg-parsechangelog.1:65
#, fuzzy, no-wrap
#| msgid "B<Date:> E<lt>dateE<gt>"
msgid "B<Date:>I< date>"
msgstr "B<Date:> E<lt>fechaE<gt>"

#. type: TP
#: dpkg-parsechangelog.1:67
#, fuzzy, no-wrap
#| msgid "B<Closes:> E<lt>bug numberE<gt>"
msgid "B<Closes:>I< bug-number>"
msgstr "B<Closes:> E<lt>número-fallo-BTSE<gt>"

#. type: Plain text
#: dpkg-parsechangelog.1:70
msgid "The Closes fields of all included entries are merged."
msgstr "Los campos «Closes» de todas las entradas incluidas se fusionan."

#. type: TP
#: dpkg-parsechangelog.1:70
#, fuzzy, no-wrap
#| msgid "B<Changes:> E<lt>changelog entriesE<gt>"
msgid "B<Changes:>I< changelog-entries>"
msgstr "B<Changes:> E<lt>entradas-registro-cambiosE<gt>"

#. type: Plain text
#: dpkg-parsechangelog.1:77
msgid ""
"The text of all changelog entries is concatenated. To make this field a "
"valid Debian control format multiline field empty lines are replaced with a "
"single full stop and all lines is intended by one space character. The exact "
"content depends on the changelog format."
msgstr ""
"El texto de todas las entradas del registro de cambios se encadena. Para que "
"ésto tenga un formato de control multi-línea de Debian válido, las líneas "
"vacías se reemplazan por un retorno de línea, y se inserta un sangrado de un "
"carácter de espacio en todas las líneas. El contenido exacto depende del "
"formato del registro de cambios."

#. type: Plain text
#: dpkg-parsechangelog.1:80
msgid "There might be additional user-defined fields present."
msgstr "Pueden que aparezcan campos adicionales definidos por el usuario."

#. type: Plain text
#: dpkg-parsechangelog.1:84
msgid ""
"The B<rfc822> format uses the same fields but outputs a separate paragraph "
"for each changelog entry so that all metadata for each entry is preserved."
msgstr ""
"El formato B<rfc822> emplea los mismos campos, pero devuelve por la salida "
"un párrafo por cada entrada en el registro de cambios, de forma que se "
"preservan los metadatos de cada entrada."

#. type: TP
#: dpkg-parsechangelog.1:84
#, no-wrap
msgid "B<--since> I<version>, B<-s>I<version>,B< -v>I<version>"
msgstr "B<--since> I<versión>, B<-s>I<versión>,B< -v>I<versión>"

#. type: Plain text
#: dpkg-parsechangelog.1:87
msgid "include all changes later than I<version>."
msgstr "Incluye todos los cambios posteriores a la I<versión>."

#. type: TP
#: dpkg-parsechangelog.1:87
#, no-wrap
msgid "B<--until> I<version>, B<-u>I<version>"
msgstr "B<--until> I<versión>, B<-u>I<versión>"

#. type: Plain text
#: dpkg-parsechangelog.1:90
msgid "include all changes earlier than I<version>."
msgstr "Incluye todos los cambios anteriores a la I<versión>."

#. type: TP
#: dpkg-parsechangelog.1:90
#, no-wrap
msgid "B<--from> I<version>, B<-f>I<version>"
msgstr "B<--from> I<versión>, B<-f>I<versión>"

#. type: Plain text
#: dpkg-parsechangelog.1:93
msgid "include all changes equal or later than I<version>."
msgstr "Incluye todos los cambios posteriores o de la misma I<versión>."

#. type: TP
#: dpkg-parsechangelog.1:93
#, no-wrap
msgid "B<--to> I<version>, B<-t>I<version>"
msgstr "B<--to> I<versión>, B<-t>I<versión>"

#. type: Plain text
#: dpkg-parsechangelog.1:96
msgid "include all changes up to or equal than I<version>."
msgstr "Incluye todos los cambios anteriores o de la misma I<versión>."

#. type: TP
#: dpkg-parsechangelog.1:96
#, no-wrap
msgid "B<--count> I<number>, B<-c>I<number>, B<-n>I<number>"
msgstr "B<--count> I<número>, B<-c>I<número>, B<-n>I<número>"

#. type: Plain text
#: dpkg-parsechangelog.1:100
msgid ""
"include I<number> entries from the top (or the tail if I<number> is lower "
"than 0)."
msgstr ""
"Incluye un I<número> de entradas desde el inicio (o el final en caso de que "
"el I<número> sea menor que 0). "

#. type: TP
#: dpkg-parsechangelog.1:100
#, no-wrap
msgid "B<--offset> I<number>, B<-o>I<number>"
msgstr "B<--offset> I<número>, B<-o>I<número>"

#. type: Plain text
#: dpkg-parsechangelog.1:104
msgid ""
"change the starting point for --count, counted from the top (or the tail if "
"I<number> is lower than 0)."
msgstr ""
"Modifica el punto de inicio para «--count» (cuenta), empezando por el "
"principio (o el final si el I<número> es menor que 0)."

#. type: TP
#: dpkg-parsechangelog.1:104 update-alternatives.8:268
#, no-wrap
msgid "B<--all>"
msgstr "B<--all>"

#. type: Plain text
#: dpkg-parsechangelog.1:108
msgid ""
"include all changes. Note: other options have no effect when this is in use."
msgstr ""
"Incluye todos los cambios. Nota: otras opciones no tendrán efecto cuando "
"esta esté en uso."

#. type: Plain text
#: dpkg-parsechangelog.1:114
msgid ""
"All B<Parser Options> except for -v are only supported in B<dpkg>, version "
"1.14.16 and later. Third party parsers for changelog formats other than "
"I<debian> might not support all options."
msgstr ""
"Todas las B<Opciones de análisis>, a excepción de «-v», son compatibles a "
"partir de la versión 1.14.16 y posteriores de B<dpkg>. Puede que los "
"analizadores de formatos de registro de cambios además de I<debian> y "
"procedentes de otras fuentes no acepten todas las opciones."

#. type: TP
#: dpkg-parsechangelog.1:116
#, no-wrap
msgid "B<debian/changelog>"
msgstr "B<debian/changelog>"

#. type: Plain text
#: dpkg-parsechangelog.1:122
msgid ""
"The changelog file, used to obtain version-dependent information about the "
"source package, such as the urgency and distribution of an upload, the "
"changes made since a particular release, and the source version number "
"itself."
msgstr ""
"El fichero de registro de cambios se usa para obtener información "
"dependiente de la versión acerca del paquete fuente, así como la urgencia y "
"la distribución de una subida, los cambios realizados desde una versión en "
"concreto y el propio número de versión de la fuente."

#. type: Plain text
#: dpkg-parsechangelog.1:129
msgid "Copyright \\(co 2007, 2008 Frank Lichtenheld"
msgstr "Copyright \\(co 2007, 2008 Frank Lichtenheld"

#. type: TH
#: dpkg-query.1:1
#, no-wrap
msgid "dpkg-query"
msgstr "dpkg-query"

#. type: Plain text
#: dpkg-query.1:4
msgid "dpkg-query - a tool to query the dpkg database"
msgstr "dpkg-query - Una herramienta para consultar la base de datos de dpkg"

#. type: Plain text
#: dpkg-query.1:8
msgid "B<dpkg-query> [I<option>...] I<command>"
msgstr "B<dpkg-query> [I<opción>...] I<orden>"

#. type: Plain text
#: dpkg-query.1:12
msgid ""
"B<dpkg-query> is a tool to show information about packages listed in the "
"B<dpkg> database."
msgstr ""
"B<dpkg-query> es una herramienta que muestra información sobre paquetes "
"listados en la base de datos de B<dpkg>."

#. type: TP
#: dpkg-query.1:14
#, fuzzy, no-wrap
#| msgid "B<-l>, B<--list> I<package-name-pattern>..."
msgid "B<-l>, B<--list> [I<package-name-pattern>...]"
msgstr "B<-l>, B<--list> I<patrón-nombre-paquete>..."

#. type: Plain text
#: dpkg-query.1:24
msgid ""
"List packages matching given pattern. If no I<package-name-pattern> is "
"given, list all packages in I</var/lib/dpkg/status>, excluding the ones "
"marked as not-installed (i.e. those which have been previously purged). "
"Normal shell wildchars are allowed in I<package-name-pattern>. Please note "
"you will probably have to quote I<package-name-pattern> to prevent the shell "
"from performing filename expansion. For example this will list all package "
"names starting with ``libc6'':"
msgstr ""
"Lista los paquetes que encajan con el patrón dado. Si no se entrega un "
"I<patrón-nombre-paquete>, lista los paquetes en I</var/lib/dpkg/status>, "
"excluyendo aquellos marcados como no instalados (esto es, aquellos "
"previamente purgados). Puede usar los comodines habituales del intérprete de "
"órdenes en el I<patrón-nombre-paquete>. Tenga en cuenta que posiblemente "
"tenga que entrecomillar I<patrón-nombre-paquete> para evitar que el "
"intérprete realice una expansión del nombre del fichero. Por ejemplo, lo "
"siguiente lista todos los paquetes que empiezan con «libc6»."

#. type: Plain text
#: dpkg-query.1:27
#, no-wrap
msgid "  B<dpkg-query -l \\(aqlibc6*\\(aq>\n"
msgstr "  B<dpkg-query -l \\(aqlibc6*\\(aq>\n"

#. type: Plain text
#: dpkg-query.1:31
msgid ""
"The first three columns of the output show the desired action, the package "
"status, and errors, in that order."
msgstr ""
"Las tres primeras columnas de la salida muestran la acción deseada, el "
"estado del paquete así como errores, en este orden."

#. type: Plain text
#: dpkg-query.1:33
msgid "Desired action:"
msgstr "Acción deseada:"

#. type: Plain text
#: dpkg-query.1:39
#, no-wrap
msgid ""
"  u = Unknown\n"
"  i = Install\n"
"  h = Hold\n"
"  r = Remove\n"
"  p = Purge\n"
msgstr ""
"  u = Desconocida\n"
"  i = Instalar\n"
"  h = Retener\n"
"  r = Eliminar\n"
"  p = Purgar\n"

#. type: Plain text
#: dpkg-query.1:42
msgid "Package status:"
msgstr "Estado del paquete"

#. type: Plain text
#: dpkg-query.1:51
#, no-wrap
msgid ""
"  n = Not-installed\n"
"  c = Config-files\n"
"  H = Half-installed\n"
"  U = Unpacked\n"
"  F = Half-configured\n"
"  W = Triggers-awaiting\n"
"  t = Triggers-pending\n"
"  i = Installed\n"
msgstr ""
"  n = No instalado\n"
"  c = Ficheros de configuración\n"
"  H = Parcialmente instalado\n"
"  U = Desempaquetado\n"
"  F = Parcialmente configurado\n"
"  W = Disparadores esperando\n"
"  t = Disparadores pendientes\n"
"  i = Instalado\n"

#. type: Plain text
#: dpkg-query.1:54
msgid "Error flags:"
msgstr "Marcas de error:"

#. type: Plain text
#: dpkg-query.1:57
#, no-wrap
msgid ""
"  E<lt>emptyE<gt> = (none)\n"
"  R = Reinst-required\n"
msgstr ""
"  E<lt>emptyE<gt> = (none)\n"
"  R = Reinst-required\n"

#. type: Plain text
#: dpkg-query.1:62
msgid ""
"An uppercase status or error letter indicates the package is likely to cause "
"severe problems. Please refer to B<dpkg>(1) for information about the above "
"states and flags."
msgstr ""
"Un estado con mayúscula o una letra de error indica que es posible que el "
"cause problemas serios. Para más información acerca de los estados y marcas "
"consulte B<dpkg>(1)."

#. type: Plain text
#: dpkg-query.1:67
msgid ""
"The output format of this option is not configurable, but varies "
"automatically to fit the terminal width. It is intended for human readers, "
"and is not easily machine-readable. See B<-W> (B<--show>)  and B<--"
"showformat> for a way to configure the output format."
msgstr ""
"El formato de la salida de esta opción no se puede modificar, pero varía "
"automáticamente para encajar el ancho de la terminal. Esto se hace para "
"lectores humanos, pero no facilita su lectura por el sistema. Consulte B<-W> "
"(B<--show>) y B<--showformat>  para ver una manera de configurar el formato "
"de la salida."

#. type: TP
#: dpkg-query.1:67
#, fuzzy, no-wrap
#| msgid "B<-W>, B<--show> I<package-name-pattern>..."
msgid "B<-W>, B<--show> [I<package-name-pattern>...]"
msgstr "B<-W>, B<--show> I<patrón-nombre-paquete>..."

#. type: Plain text
#: dpkg-query.1:74
msgid ""
"Just like the B<--list> option this will list all packages matching the "
"given pattern. However the output can be customized using the B<--"
"showformat> option.  The default output format gives one line per matching "
"package, each line having the name and installed version of the package, "
"separated by a tab."
msgstr ""
"Al igual que la opción B<--list>, esto lista todos los paquetes que encajan "
"con el patrón dado. Por otra parte, puede configurar la salida usando la "
"opción B<--showformat>. El formato predefinido de la salida da una línea por "
"cada paquete que encaje, mostrando el nombre y la versión instalada, y "
"separados por una tabulación."

#. type: TP
#: dpkg-query.1:74
#, no-wrap
msgid "B<-s>, B<--status> I<package-name>..."
msgstr "B<-s>, B<--status> I<nombre-paquete>..."

#. type: Plain text
#: dpkg-query.1:79
#, fuzzy
#| msgid ""
#| "Report status of specified package. This just displays the entry in the "
#| "installed package status database."
msgid ""
"Report status of specified package. This just displays the entry in the "
"installed package status database. When multiple I<package-name> are listed, "
"the requested status entries are separated by an empty line."
msgstr ""
"Informa del estado del paquete definido. Esto sólo muestra la entrada de los "
"paquetes con el estado de instalado en la base de datos."

#. type: TP
#: dpkg-query.1:79
#, no-wrap
msgid "B<-L>, B<--listfiles> I<package-name>..."
msgstr "B<-L>, B<--listfiles> I<nombre-paquete>..."

#. type: Plain text
#: dpkg-query.1:85
#, fuzzy
#| msgid ""
#| "List files installed to your system from I<package-name>.  However, note "
#| "that files created by package-specific installation-scripts are not "
#| "listed."
msgid ""
"List files installed to your system from I<package-name>. When multiple "
"I<package-name> are listed, the requested lists of files are separated by an "
"empty line. However, note that files created by package-specific "
"installation-scripts are not listed."
msgstr ""
"Lista los ficheros que I<nombre-paquete> creó en el sistema. Por otra parte, "
"tenga en cuenta que los ficheros creados por los scripts de instalación "
"específicos del paquete no aparecerán."

#. type: TP
#: dpkg-query.1:85
#, no-wrap
msgid "B<-c>, B<--control-path> I<package-name> [I<control-file>]"
msgstr "B<-c>, B<--control-path> I<nombre-paquete> [I<fichero-control>]"

#. type: Plain text
#: dpkg-query.1:93
msgid ""
"List paths for control files installed to your system from I<package-name>.  "
"If I<control-file> is specified then only list the path for that control "
"file if it is present. B<Warning>: this command is semi-public, it should be "
"used only as a last resort solution, and if no other interface is available. "
"It might get deprecated later on if better interfaces or the current "
"architectural deficiencies have been solved."
msgstr ""
"Lista las rutas de los ficheros de control de I<nombre-paquete> instalados "
"en el sistema. Si se define I<fichero-control>, sólo se mostrará la ruta de "
"ese fichero de control. B<Advertencia>: esta orden es semi-pública, y sólo "
"se debería usar como la última solución y en caso de no disponer de ninguna "
"otra interfaz. Puede que quede obsoleto en el futuro en caso de aparecer "
"mejores interfaces, o si se solucionan las deficiencias actuales de su "
"arquitectura."

#. type: TP
#: dpkg-query.1:93
#, no-wrap
msgid "B<-S>, B<--search> I<filename-search-pattern>..."
msgstr "B<-S>, B<--search> I<patrón-búsqueda-fichero>..."

#. type: Plain text
#: dpkg-query.1:99
#, fuzzy
#| msgid ""
#| "Search for a filename from installed packages. All standard shell "
#| "wildchars can be used in the pattern. This command will not list extra "
#| "files created by maintainer scripts, nor will it list alternatives."
msgid ""
"Search for packages that own files corresponding to the given pattern.  "
"Standard shell wildchars can be used in the pattern.  This command will not "
"list extra files created by maintainer scripts, nor will it list "
"alternatives."
msgstr ""
"Busca un fichero entre los paquetes instalados. Puede usar todos los "
"comodines estándar de intérprete de órdenes en el patrón. Esta orden no "
"lista los ficheros adicionales creados por el script del responsable del "
"paquete, ni tampoco alternativas."

#. type: TP
#: dpkg-query.1:99
#, no-wrap
msgid "B<-p>, B<--print-avail> I<package-name>..."
msgstr "B<-p>, B<--print-avail> I<nombre-paquete>..."

#. type: Plain text
#: dpkg-query.1:105
#, fuzzy
#| msgid ""
#| "Display details about I<package-name>, as found in I</var/lib/dpkg/"
#| "available>. Users of APT-based frontends should use B<apt-cache show> "
#| "I<package-name> instead as the I<available> file is only kept up-to-date "
#| "when using B<dselect>."
msgid ""
"Display details about I<package-name>, as found in I</var/lib/dpkg/"
"available>. When multiple I<package-name> are listed, the requested "
"I<available> entries are separated by an empty line."
msgstr ""
"Muestra detalles de I<nombre-paquete>, tal y como aparece en I</var/lib/dpkg/"
"available>. Los usuarios de interfaces de usuario basados en APT deberían "
"usar B<apt-cache show> I<nombre-paquete>, ya que el fichero I<available> "
"sólo se encuentra al día si usa dselect."

#. type: Plain text
#: dpkg-query.1:110
#, fuzzy
#| msgid ""
#| "Display details about I<package-name>, as found in I</var/lib/dpkg/"
#| "available>. Users of APT-based frontends should use B<apt-cache show> "
#| "I<package-name> instead as the I<available> file is only kept up-to-date "
#| "when using B<dselect>."
msgid ""
"Users of APT-based frontends should use B<apt-cache show> I<package-name> "
"instead as the I<available> file is only kept up-to-date when using "
"B<dselect>."
msgstr ""
"Muestra detalles de I<nombre-paquete>, tal y como aparece en I</var/lib/dpkg/"
"available>. Los usuarios de interfaces de usuario basados en APT deberían "
"usar B<apt-cache show> I<nombre-paquete>, ya que el fichero I<available> "
"sólo se encuentra al día si usa dselect."

#. type: TP
#: dpkg-query.1:122
#, no-wrap
msgid "B<-f>, B<--showformat=>I<format>"
msgstr "B<-f>, B<--showformat=>I<formato>"

#. type: Plain text
#: dpkg-query.1:129
msgid "In the format string, \\(lqB<\\e>\\(rq introduces escapes:"
msgstr "En la cadena de formato, \\(lqB<\\e>\\(rq introduce escapes:"

#. type: Plain text
#: dpkg-query.1:134
#, no-wrap
msgid ""
"    B<\\en>  newline\n"
"    B<\\er>  carriage return\n"
"    B<\\et>  tab\n"
msgstr ""
"    B<\\en>  nueva línea\n"
"    B<\\er>  retorno de línea\n"
"    B<\\et>  tabulación\n"

#. type: Plain text
#: dpkg-query.1:139
msgid ""
"\\(lqB<\\e>\\(rq before any other character suppresses any special meaning "
"of the following character, which is useful for \\(lqB<\\e>\\(rq and \\(lqB<"
"$>\\(rq."
msgstr ""
"\\(lqB<\\e>\\(rq posicionado antes de cualquier otro carácter suprime "
"cualquier significado especial que puede tener el siguiente carácter, útil "
"para \\(lqB<\\e>\\(rq and \\(lqB<$>\\(rq."

#. type: Plain text
#: dpkg-query.1:147
msgid ""
"Package information can be included by inserting variable references to "
"package fields using the syntax \\(lqB<${>I<field>[B<;>I<width>]B<}>\\(rq. "
"Fields are printed right-aligned unless the width is negative in which case "
"left alignment will be used. The following I<field>s are recognised but they "
"are not necessarily available in the status file (only internal fields or "
"fields stored in the binary package end up in it):"
msgstr ""
"Puede incluir información del paquete insertando variables de referencia a "
"los campos del paquete usando la sintaxis \\(lqB<${>I<field>[B<;>I<width>]B<}"
">\\(rq. Los campos se alinean a la derecha a menos que el ancho sea "
"negativo, en cuyo caso se alinean a la izquierda. Los siguientes I<campos> "
"se reconocen pero no están siempre disponibles en el fichero de estado (sólo "
"se guardan los campos internos o campos contenidos en el paquete binario):"

#. type: Plain text
#: dpkg-query.1:182
#, fuzzy, no-wrap
#| msgid ""
#| "    B<Architecture>\n"
#| "    B<Bugs>\n"
#| "    B<Conffiles> (internal)\n"
#| "    B<Config-Version> (internal)\n"
#| "    B<Conflicts>\n"
#| "    B<Breaks>\n"
#| "    B<Depends>\n"
#| "    B<Description>\n"
#| "    B<Enhances>\n"
#| "    B<Essential>\n"
#| "    B<Filename> (internal, dselect related)\n"
#| "    B<Homepage>\n"
#| "    B<Installed-Size>\n"
#| "    B<MD5sum> (internal, dselect related)\n"
#| "    B<MSDOS-Filename> (internal, dselect related)\n"
#| "    B<Maintainer>\n"
#| "    B<Origin>\n"
#| "    B<Package>\n"
#| "    B<Pre-Depends>\n"
#| "    B<Priority>\n"
#| "    B<Provides>\n"
#| "    B<Recommends>\n"
#| "    B<Replaces>\n"
#| "    B<Revision> (obsolete)\n"
#| "    B<Section>\n"
#| "    B<Size> (internal, dselect related)\n"
#| "    B<Source>\n"
#| "    B<Status> (internal)\n"
#| "    B<Suggests>\n"
#| "    B<Tag> (usually not in the .deb but in APT's Packages files)\n"
#| "    B<Triggers-Awaited> (internal)\n"
#| "    B<Triggers-Pending> (internal)\n"
#| "    B<Version>\n"
msgid ""
"    B<Architecture>\n"
"    B<Bugs>\n"
"    B<Conffiles> (internal)\n"
"    B<Config-Version> (internal)\n"
"    B<Conflicts>\n"
"    B<Breaks>\n"
"    B<Depends>\n"
"    B<Description>\n"
"    B<Enhances>\n"
"    B<Essential>\n"
"    B<Filename> (internal, front-end related)\n"
"    B<Homepage>\n"
"    B<Installed-Size>\n"
"    B<MD5sum> (internal, front-end related)\n"
"    B<MSDOS-Filename> (internal, front-end related)\n"
"    B<Maintainer>\n"
"    B<Origin>\n"
"    B<Package>\n"
"    B<Pre-Depends>\n"
"    B<Priority>\n"
"    B<Provides>\n"
"    B<Recommends>\n"
"    B<Replaces>\n"
"    B<Revision> (obsolete)\n"
"    B<Section>\n"
"    B<Size> (internal, front-end related)\n"
"    B<Source>\n"
"    B<Status> (internal)\n"
"    B<Suggests>\n"
"    B<Tag> (usually not in the .deb but in the repository Packages files)\n"
"    B<Triggers-Awaited> (internal)\n"
"    B<Triggers-Pending> (internal)\n"
"    B<Version>\n"
msgstr ""
"    B<Architecture>\n"
"    B<Bugs>\n"
"    B<Conffiles> (interno)\n"
"    B<Config-Version> (interno)\n"
"    B<Conflicts>\n"
"    B<Breaks>\n"
"    B<Depends>\n"
"    B<Description>\n"
"    B<Enhances>\n"
"    B<Essential>\n"
"    B<Filename> (interno, dselect)\n"
"    B<Homepage>\n"
"    B<Installed-Size>\n"
"    B<MD5sum> (interno, dselect)\n"
"    B<MSDOS-Filename> (interno, dselect)\n"
"    B<Maintainer>\n"
"    B<Origin>\n"
"    B<Package>\n"
"    B<Pre-Depends>\n"
"    B<Priority>\n"
"    B<Provides>\n"
"    B<Recommends>\n"
"    B<Replaces>\n"
"    B<Revision> (obsoleto)\n"
"    B<Section>\n"
"    B<Size> (interno, dselect)\n"
"    B<Source>\n"
"    B<Status> (interno)\n"
"    B<Suggests>\n"
"    B<Tag> (generalmente no en el «.deb» pero en los ficheros\n"
"    «Packages» de APT)\n"
"    B<Triggers-Awaited> (interno)\n"
"    B<Triggers-Pending> (interno)\n"
"    B<Version>\n"

#. type: Plain text
#: dpkg-query.1:190
msgid ""
"The default format string is \\(lqB<${Package}\\et${Version}\\en>\\(rq.  "
"Actually, all other fields found in the status file (i.e. user defined "
"fields) can be requested, too. They will be printed as-is, though, no "
"conversion nor error checking is done on them.  To get the name of the dpkg "
"maintainer and the installed version, you could run:"
msgstr ""
"La cadena de formato por omisión es \\(lqB<${Package}\\et${Version}\\en>"
"\\(rq. En realidad, puede consultar todos los campos contenidos en el "
"fichero de estado (por ejemplo, etiquetas de usuario). Aparecerán «tal "
"cual», sin conversión o revisión de fallos. Para obtener el nombre del "
"responsable de dpkg y la versión instalada ejecute lo siguiente:"

#. type: Plain text
#: dpkg-query.1:193
#, no-wrap
msgid "  B<dpkg-query -W -f=\\(aq${Package} ${Version}\\et${Maintainer}\\en\\(aq dpkg>\n"
msgstr "  B<dpkg-query -W -f=\\(aq${Package} ${Version}\\et${Maintainer}\\en\\(aq dpkg>\n"

#. type: SH
#: dpkg-query.1:195 dpkg-split.1:179 start-stop-daemon.8:259
#: update-alternatives.8:374
#, no-wrap
msgid "EXIT STATUS"
msgstr "ESTADOS DE SALIDA"

#. type: TP
#: dpkg-query.1:196 dpkg-split.1:180 start-stop-daemon.8:260
#: start-stop-daemon.8:289 update-alternatives.8:375
#, no-wrap
msgid "B<0>"
msgstr ""

#. type: Plain text
#: dpkg-query.1:199
msgid "The requested query was successfully performed."
msgstr "La consulta requerida se ejecutó con éxito."

#. type: TP
#: dpkg-query.1:199 dpkg-split.1:186 start-stop-daemon.8:270
#: start-stop-daemon.8:292
#, no-wrap
msgid "B<1>"
msgstr ""

#. type: Plain text
#: dpkg-query.1:203
msgid ""
"Problems were encountered while parsing the command line or performing the "
"query, including no file or package being found (except for --control-path)."
msgstr ""
"Se han detectado problemas analizando la línea de órdenes o realizando la "
"consulta requerida, además de que no se han encontrado ningún fichero o "
"paquete (a excepción de «--control-path»)."

#. type: Plain text
#: dpkg-query.1:213
msgid ""
"This setting influences the output of the B<--list> option by changing the "
"width of its output."
msgstr ""
"Esta opción influencia la salida de B<--list> al modificar el ancho de la "
"salida."

#. type: Plain text
#: dpkg-query.1:216
msgid "Copyright \\(co 2001 Wichert Akkerman"
msgstr "Copyright \\(co 2001 Wichert Akkerman"

#. type: TH
#: dpkg-scanpackages.1:15
#, no-wrap
msgid "dpkg-scanpackages"
msgstr "dpkg-scanpackages"

#. type: Plain text
#: dpkg-scanpackages.1:18
msgid "dpkg-scanpackages - create Packages index files"
msgstr "dpkg-scanpackages - Creación de ficheros de índice «Packages»"

#. type: Plain text
#: dpkg-scanpackages.1:26
#, fuzzy
#| msgid ""
#| "B<dpkg-scanpackages> [I<options>] I<binary-dir> [I<override-file> [I<path-"
#| "prefix>]] B<E<gt>> I<Packages>"
msgid ""
"B<dpkg-scanpackages> [I<option>...] I<binary-dir> [I<override-file> [I<path-"
"prefix>]] B<E<gt>> I<Packages>"
msgstr ""
"B<dpkg-scanpackages> [I<opciones>] I<directorio-binario> [I<fichero-"
"anulación> [I<prefijo-ruta>]] B<E<gt>> I<Packages>"

#. type: Plain text
#: dpkg-scanpackages.1:39
msgid ""
"B<dpkg-scanpackages> sorts through a tree of Debian binary packages and "
"creates a Packages file, used by B<apt>(8), B<dselect>(1), etc, to tell the "
"user what packages are available for installation. These Packages files are "
"the same as those found on Debian archive sites and CD-ROMs. You might use "
"B<dpkg-scanpackages> yourself if making a directory of local packages to "
"install on a cluster of machines."
msgstr ""
"B<dpkg-scanpackages> busca paquetes binarios de Debian en un árbol de "
"directorios, creando un fichero «Packages» usado por B<dselect>(8) y otros "
"para mostrar al usuario los paquetes disponibles para su instalación. Estos "
"ficheros «Packages» son idénticos a los presentes en los archivos de Debian "
"en Internet o en los discos ópticos. B<dpkg-scanpackages> se puede usar para "
"crear un directorio local con paquetes a instalar en una o varias máquinas."

#. type: Plain text
#: dpkg-scanpackages.1:51
msgid ""
"B<Note:> If you want to access the generated Packages file with B<apt> you "
"will probably need to compress the file with B<bzip2>(1)  (generating a "
"Packages.bz2 file) or B<gzip>(1)  (generating a Packages.gz file). apt "
"ignores uncompressed Packages files except on local access (i.e.  B<file://> "
"sources)."
msgstr ""
"B<Nota:> Si desea acceder al fichero «Packages» generado mediante B<apt>, "
"posiblemente necesite comprimir el fichero con B<bzip>(1), generando un "
"fichero «Packages.bz2», o B<gzip>(1), que generaría un fichero «Packages."
"gz». apt ignora los ficheros «Packages» descomprimidos, a excepción de los "
"ficheros locales (por ejemplo, B<file://> sources)."

#. type: Plain text
#: dpkg-scanpackages.1:58
msgid ""
"I<binarydir> is the name of the tree of the binary packages to process (for "
"example, B<contrib/binary-i386>).  It is best to make this relative to the "
"root of the Debian archive, because every Filename field in the new Packages "
"file will start with this string."
msgstr ""
"I<directorio-binario> es el nombre del árbol de directorios que contiene los "
"paquetes binarios  a procesar (por ejemplo, B<contrib/binary-i386>). Se "
"recomienda que este directorio sea relativo al directorio principal del "
"archivo de Debian, ya que todo fichero listado en el nuevo fichero "
"«Packages» empezará por esta cadena de caracteres."

#. type: Plain text
#: dpkg-scanpackages.1:63
msgid ""
"I<overridefile> is the name of a file to read which contains information "
"about how the package fits into the distribution (it can be a compressed "
"file); see B<deb-override>(5)."
msgstr ""
"I<fichero-override> es el nombre del fichero que contiene información acerca "
"de cómo se instalan los paquetes en la distribución (puede ser un fichero "
"comprimido); consulte B<deb-override>(5)."

#. type: Plain text
#: dpkg-scanpackages.1:66
msgid ""
"I<pathprefix> is an optional string to be prepended to the Filename fields."
msgstr ""
"I<prefijo-ruta> es una cadena opcional que se antepondrá a los campos "
"«Filename»."

#. type: Plain text
#: dpkg-scanpackages.1:70
msgid ""
"If more than one version of a package is found only the newest one is "
"included in the output. If they have the same version and only differ in "
"architecture only the first one found is used."
msgstr ""
"En caso de existir más de una versión de un paquete, sólo se mostrará la "
"última por la salida. Si comparten la misma versión pero difieren en la "
"arquitectura, sólo se usará el primero."

#. type: TP
#: dpkg-scanpackages.1:72
#, no-wrap
msgid "B<-t>, B<--type> I<type>"
msgstr "B<-t>, B<--type> I<tipo>"

#. type: Plain text
#: dpkg-scanpackages.1:75
msgid "Scan for *.I<type> packages, instead of *.deb."
msgstr "Busca paquetes «*.I<tipo>» en vez de «*.deb»."

#. type: TP
#: dpkg-scanpackages.1:75
#, no-wrap
msgid "B<-u>, B<--udeb>"
msgstr "B<-u>, B<--udeb>"

#. type: Plain text
#: dpkg-scanpackages.1:78
msgid "B<Obsolete> alias for B<-tudeb>."
msgstr "Alias B<obsoleto> para B<-tudeb>."

#. type: IP
#: dpkg-scanpackages.1:78 dpkg-scansources.1:49
#, no-wrap
msgid "B<-e>, B<--extra-override> I<file>"
msgstr "B<-e>, B<--extra-override> I<fichero>"

#. type: Plain text
#: dpkg-scanpackages.1:84 dpkg-scansources.1:54
msgid ""
"Scan I<file> to find supplementary overrides (the file can be compressed). "
"See B<deb-extra-override>(5)  for more information on its format."
msgstr ""
"Analiza el I<fichero> para encontrar alternativas adicionales (el fichero "
"puede estar descomprimido). Consulte B<deb-extra-override>(5) para más "
"información acerca del formato."

#. type: TP
#: dpkg-scanpackages.1:84
#, no-wrap
msgid "B<-a>, B<--arch> I<arch>"
msgstr "B<-a>, B<--arch> I<arquitectura>"

#. type: Plain text
#: dpkg-scanpackages.1:88
msgid ""
"Use a pattern consisting of I<*_all.deb> and I<*_arch.deb> instead of "
"scanning for all debs."
msgstr ""
"Usa un patrón que consiste de I<*_all.deb> y I<*_arch.deb>, en lugar de "
"buscar todos los «.deb»."

#. type: TP
#: dpkg-scanpackages.1:88
#, no-wrap
msgid "B<-m>, B<--multiversion>"
msgstr "B<-m>, B<--multiversion>"

#. type: Plain text
#: dpkg-scanpackages.1:91
msgid "Include all found packages in the output."
msgstr "Incluye en la salida todos los paquetes encontrados."

#. type: TP
#: dpkg-scanpackages.1:91
#, no-wrap
msgid "B<-M>, B<--medium> I<id-string>"
msgstr "B<-M>, B<--medium> I<cadena-identificación>"

#. type: Plain text
#: dpkg-scanpackages.1:96
msgid ""
"Add an X-Medium field containing the value I<id-string>. This field is "
"required if you want to generate B<Packages.cd> files for use by the multicd "
"access method of dselect."
msgstr ""
"Añade un campo «X-Medium», que consiste del valor de la I<cadena-"
"identificación>. Este campo es necesario si desea generar ficheros "
"B<Packages.cd> para su uso a través del método «multicd» de dselect."

#. type: SH
#: dpkg-scanpackages.1:103 update-alternatives.8:448
#, no-wrap
msgid "DIAGNOSTICS"
msgstr "DIAGNÓSTICOS"

#. type: Plain text
#: dpkg-scanpackages.1:109
msgid ""
"B<dpkg-scanpackages> outputs the usual self-explanatory errors. It also "
"warns about packages that are in the wrong subdirectory, are duplicated, "
"have a Filename field in their control file, are missing from the override "
"file, or have maintainer substitutions which do not take effect."
msgstr ""
"B<dpkg-scanpackages> devuelve los errores auto-explicativos habituales. "
"Además, genera avisos sobre paquetes presentes en un subdirectorio "
"equivocado, duplicados, que tienen un campo «Filename» en su fichero de "
"control, no aparecen en el fichero de anulación, o que contienen alguna "
"sustitución del responsable del paquete que no tiene efecto."

#. type: Plain text
#: dpkg-scanpackages.1:115
msgid ""
"B<dpkg>(1), B<dselect>(1), B<deb-override>(5), B<deb-extra-override>(5), "
"B<dpkg-scansources>(1)."
msgstr ""
"B<dpkg>(1), B<dselect>(1), B<deb-override>(5), B<deb-extra-override>(5), "
"B<dpkg-scansources>(1)."

#. type: TH
#: dpkg-scansources.1:1
#, no-wrap
msgid "dpkg-scansources"
msgstr "dpkg-scansources"

#. type: Plain text
#: dpkg-scansources.1:4
msgid "dpkg-scansources - create Sources index files"
msgstr "dpkg-scansources - Creación de ficheros de índice «Sources»"

#. type: Plain text
#: dpkg-scansources.1:12
#, fuzzy
#| msgid ""
#| "B<dpkg-scansources> [I<options>] I<binary-dir> [I<override-file> [I<path-"
#| "prefix>]] B<E<gt>> I<Sources>"
msgid ""
"B<dpkg-scansources> [I<option>...] I<binary-dir> [I<override-file> [I<path-"
"prefix>]] B<E<gt>> I<Sources>"
msgstr ""
"B<dpkg-scansources> [I<opciones>] I<directorio-binario> [I<fichero-override> "
"[I<prefijo-ruta>]] B<E<gt>> I<Sources>"

#. type: Plain text
#: dpkg-scansources.1:17
msgid ""
"B<dpkg-scansources> scans the given I<binary-dir> for I<.dsc> files.  These "
"are used to create a Debian source index, which is output to stdout."
msgstr ""
"B<dpkg-scansources> busca ficheros I<.dsc> en el I<directorio-binario> dado. "
"Estos sirven para crear un índice de fuentes de Debian, que se muestra por "
"la salida estándar."

#. type: Plain text
#: dpkg-scansources.1:28
msgid ""
"The I<override-file>, if given, is used to set priorities in the resulting "
"index records and to override the maintainer field given in the I<.dsc> "
"files. The file can be compressed. See B<deb-override>(5)  for the format of "
"this file. \\s-1NB:\\s0 Since the override file is indexed by binary, not "
"source, packages, there's a bit of a problem here. The current "
"implementation uses the highest priority of all the binary packages produced "
"by a I<.dsc> file for the priority of the source package, and the override "
"entry for the first binary package listed in the I<.dsc> file to modify "
"maintainer information. This might change."
msgstr ""
"Si se proporciona un I<fichero-override>, se usará para fijar prioridades en "
"el índice resultante y sobreescribir el campo del mantenedor dado en los "
"ficheros I<.dsc>. El fichero se puede comprimir. Consulte B<deb-override>(5) "
"para conocer más acerca del formato de este fichero. \\s-1NB:\\s0 Debido a "
"que el fichero «override» se indexa con el paquetes binario, y no con las "
"fuentes, encontramos un pequeño problema. La implementación actual usa la "
"prioridad más alta entre los paquetes binarios producidos por un fichero I<."
"dsc>, para así obtener la prioridad del paquete fuente, así como la entrada "
"«override» del primer paquete binario listado en el fichero I<.dsc> que "
"modifica la información sobre el mantenedor. Esto puede cambiar en un futuro."

#. type: Plain text
#: dpkg-scansources.1:32
msgid ""
"The I<path-prefix>, if given, is prepended to the directory field in the "
"generated source index. You generally use this to make the directory fields "
"contain the path from the top of the Debian archive hierarchy."
msgstr ""
"Si se proporciona I<prefijo-ruta>, se antepondrá al campo del directorio en "
"el índice de fuentes generado. Habitualmente, se usa para hacer que el campo "
"de directorio contenga la ruta desde el directorio superior del archivo de "
"Debian."

#. type: Plain text
#: dpkg-scansources.1:43
msgid ""
"B<Note:> If you want to access the generated Sources file with B<apt>(8)  "
"you will probably need to compress the file with B<gzip>(1)  (generating a "
"Sources.gz file). apt ignores uncompressed Sources files except on local "
"access (i.e.  B<file://> sources)."
msgstr ""
"B<Nota:> Si desea acceder al fichero generado «Sources» mediante B<apt>(8), "
"es posible que necesite comprimir el fichero con B<gzip>(1), generando así "
"un fichero «Sources.gz». apt ignora ficheros «Sources» descomprimidos, a "
"excepción de ficheros locales (por ejemplo, B<file://> sources)."

#. type: IP
#: dpkg-scansources.1:45
#, no-wrap
msgid "B<-n>, B<--no-sort>"
msgstr "B<-n>, B<--no-sort>"

#. type: Plain text
#: dpkg-scansources.1:48
msgid ""
"Don't sort the index records. Normally they are sorted by source package "
"name."
msgstr ""
"Evita ordenar los registros del índice de fuentes. Habitualmente, se ordena "
"por el nombre de los paquetes fuente."

#. type: IP
#: dpkg-scansources.1:54
#, no-wrap
msgid "B<-s>, B<--source-override> I<file>"
msgstr "B<-s>, B<--source-override> I<fichero>"

#. type: Plain text
#: dpkg-scansources.1:58
msgid ""
"Use I<file> as the source override file (the file can be compressed).  The "
"default is the name of the override file you specified with I<.src> appended."
msgstr ""
"Usa el I<fichero> como el fichero «override» de las fuentes. Por omisión es "
"el nombre del fichero «override» con la extensión I<.src> que definió "
"anteriormente."

#. type: Plain text
#: dpkg-scansources.1:64
msgid ""
"The source override file is in a different format from the binary override "
"file. It contains only two whitespace separated fields, the first is the "
"source package name and the second is the section. Blank lines and comment "
"lines are ignored in the normal manner. If a package appears in both files "
"the source override takes precedence for setting the section."
msgstr ""
"El fichero «override» de las fuentes está en un formato distinto del fichero "
"«override» de los paquetes binarios. Contiene solamente dos campos separados "
"por espacios en blanco, siendo el primer campo el nombre del paquete fuente "
"y el segundo el de sección. Se omiten las líneas en blanco y de comentarios. "
"Si un paquete aparece en ambos ficheros, el fichero «override» de las "
"fuentes tiene preferencia."

#. type: IP
#: dpkg-scansources.1:64
#, no-wrap
msgid "B<--debug>"
msgstr "B<--debug>"

#. type: Plain text
#: dpkg-scansources.1:66
msgid "Turn debugging on."
msgstr "Activa la depuración."

#. type: Plain text
#: dpkg-scansources.1:75
msgid "B<deb-override>(5), B<deb-extra-override>(5), B<dpkg-scanpackages>(1)."
msgstr "B<deb-override>(5), B<deb-extra-override>(5), B<dpkg-scanpackages>(1)."

#. type: Plain text
#: dpkg-scansources.1:77
msgid "Roderick Schertler E<lt>roderick@argon.orgE<gt>"
msgstr "Roderick Schertler E<lt>roderick@argon.orgE<gt>"

#. type: TH
#: dpkg-shlibdeps.1:1
#, no-wrap
msgid "dpkg-shlibdeps"
msgstr "dpkg-shlibdeps"

#. type: Plain text
#: dpkg-shlibdeps.1:4
msgid "dpkg-shlibdeps - generate shared library substvar dependencies"
msgstr ""
"dpkg-shlibdeps - Genera dependencias de bibliotecas compartidas de "
"sustitución de variables"

#. type: Plain text
#: dpkg-shlibdeps.1:8
#, fuzzy
#| msgid ""
#| "B<dpkg-shlibdeps> [I<options>] I<executable>|B<-e>I<executable> "
#| "[I<options>]"
msgid "B<dpkg-shlibdeps> [I<option>...] [B<-e>]I<executable> [I<option>...]"
msgstr ""
"B<dpkg-shlibdeps> [I<opciones>] I<ejecutable>|B<-e>I<ejecutable> "
"[I<opciones>]"

#. type: Plain text
#: dpkg-shlibdeps.1:22
#, fuzzy
#| msgid ""
#| "B<dpkg-shlibdeps> calculates shared library dependencies for executables "
#| "named in its arguments. The dependencies are added to the substitution "
#| "variables file B<debian/substvars> as variable names B<shlibs:"
#| ">I<dependencyfield> where I<dependencyfield> is a dependency field name. "
#| "Any other variables starting I<shlibs:> are removed from the file."
msgid ""
"B<dpkg-shlibdeps> calculates shared library dependencies for executables "
"named in its arguments. The dependencies are added to the substitution "
"variables file B<debian/substvars> as variable names B<shlibs:"
">I<dependencyfield> where I<dependencyfield> is a dependency field name. Any "
"other variables starting with B<shlibs:> are removed from the file."
msgstr ""
"B<dpkg-shlibdeps> calcula las dependencias de bibliotecas compartidas de los "
"ejecutables suministrados en sus argumentos. Las dependencias se añaden al "
"fichero de sustitución de variables B<debian/substvars> como nombres de "
"variable B<shlibs:>I<campo-dependencia>, donde I<campo-dependencia> es un "
"nombre de campo de dependencia. Cualquier otra variable que empiece con "
"I<shlibs:> se elimina del fichero."

#. type: Plain text
#: dpkg-shlibdeps.1:45
msgid ""
"B<dpkg-shlibdeps> has two possible sources of information to generate "
"dependency information. Either I<symbols> files or I<shlibs> files. For each "
"binary that B<dpkg-shlibdeps> analyzes, it finds out the list of libraries "
"that it's linked with.  Then, for each library, it looks up either the "
"I<symbols> file, or the I<shlibs> file (if the former doesn't exist or if "
"debian/shlibs.local contains the relevant dependency). Both files are "
"supposed to be provided by the library package and should thus be available "
"as /var/lib/dpkg/info/I<package>.I<symbols> or /var/lib/dpkg/info/I<package>."
"I<shlibs>. The package name is identified in two steps: find the library "
"file on the system (looking in the same directories that B<ld.so> would "
"use), then use B<dpkg -S >I<library-file> to lookup the package providing "
"the library."
msgstr ""
"B<dpkg-shlibdeps> tiene dos posibles fuentes de información para generar la "
"información de dependencias. Estos son los ficheros I<symbols> y I<shlibs>. "
"Por cada binario que B<dpkg-shlibdeps> analiza, busca la lista de "
"bibliotecas enlazadas con éste. Entonces, por cada biblioteca, busca el "
"fichero I<symbols> o el fichero I<shlibs> (en caso de que el primero no "
"exista, o si «debian/shlibs.local» contiene la dependencia relevante). Se "
"asume que el paquete de la biblioteca proporciona ambos ficheros, y por ello "
"debería estar disponible como «/var/lib/dpkg/info/I<paquete>.I<symbols>» o «/"
"var/lib/dpkg/info/I<package>.I<shlibs>». El nombre del paquete se identifica "
"en dos pasos: búsqueda en el sistema del fichero de la biblioteca (buscando "
"en los mismos directorios que usaría B<ld.so>), y ejecución de B<dpkg -S "
">I<library-file> para conocer el paquete que proporciona la biblioteca."

#. type: SS
#: dpkg-shlibdeps.1:45
#, no-wrap
msgid "Symbols files"
msgstr "Ficheros de símbolos"

#. type: Plain text
#: dpkg-shlibdeps.1:50
msgid ""
"Symbols files contain finer-grained dependency information by providing the "
"minimum dependency for each symbol that the library exports. The script "
"tries to find a symbols file associated to a library package in the "
"following places (first match is used):"
msgstr ""
"Los ficheros de símbolos contienen una información más precisa de las "
"dependencias, proporcionando la dependencia mínima de cada símbolo que la "
"biblioteca exporta. El script intenta encontrar un fichero de símbolos "
"asociado al paquete de la biblioteca en las siguientes ubicaciones (se usa "
"la primera coincidencia):"

#. type: IP
#: dpkg-shlibdeps.1:50
#, no-wrap
msgid "debian/*/DEBIAN/symbols"
msgstr "debian/*/DEBIAN/symbols"

#. type: Plain text
#: dpkg-shlibdeps.1:58
msgid ""
"Shared library information generated by the current build process that also "
"invoked B<dpkg-shlibdeps>.  They are generated by B<dpkg-gensymbols>(1).  "
"They are only used if the library is found in a package's build tree. The "
"symbols file in that build tree takes precedence over symbols files from "
"other binary packages."
msgstr ""
"La información de biblioteca compartida generada por el proceso de "
"construcción actual, que también invoca B<dpkg-shlibdeps>. Se generan "
"mediante B<dpkg-gensymbols>(1). Sólo se usan en caso de encontrar la "
"biblioteca en la árbol de construcción del paquete. El fichero de símbolos "
"de ese árbol de construcción tiene prioridad sobre los ficheros de símbolos "
"de otros paquetes binarios."

#. type: IP
#: dpkg-shlibdeps.1:58
#, no-wrap
msgid "/etc/dpkg/symbols/I<package>.symbols.I<arch>"
msgstr "/etc/dpkg/symbols/I<paquete>.symbols.I<arquitectura>"

#. type: IP
#: dpkg-shlibdeps.1:59
#, no-wrap
msgid "/etc/dpkg/symbols/I<package>.symbols"
msgstr "/etc/dpkg/symbols/I<paquete>.symbols"

#. type: Plain text
#: dpkg-shlibdeps.1:63
msgid ""
"Per-system overriding shared library dependency information.  I<arch> is the "
"architecture of the current system (obtained by B<dpkg-architecture -"
"qDEB_HOST_ARCH>)."
msgstr ""
"Información de redefinición de bibliotecas compartidas por cada sistema. "
"I<arquitectura> es la arquitectura del sistema actual (obtenido mediante "
"B<dpkg-architecture - qDEB_HOST_ARCH>)."

#. type: IP
#: dpkg-shlibdeps.1:63
#, no-wrap
msgid "Output from \\(lqB<dpkg-query --control-path> I<package> symbols\\(rq"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:66 dpkg-shlibdeps.1:100
#, fuzzy
#| msgid ""
#| "Package-provided shared library dependency information.  Unless "
#| "overridden, I<admindir> is /var/lib/dpkg."
msgid ""
"Package-provided shared library dependency information.  Unless overridden "
"by --admindir, those files are located in /var/lib/dpkg."
msgstr ""
"Información de dependencias de bibliotecas compartidas proporcionadas por el "
"paquete. A menos que se redefina, I<directorio-administración> es «/var/lib/"
"dpkg»."

#. type: Plain text
#: dpkg-shlibdeps.1:73
msgid ""
"While scanning the symbols used by all binaries, B<dpkg-shlibdeps> remembers "
"the (biggest) minimal version needed for each library. At the end of the "
"process, it is able to write out the minimal dependency for every library "
"used (provided that the information of the I<symbols> files are accurate)."
msgstr ""
"B<dpkg-shlibdeps> recuerda la versión mínima (más grande) necesaria para "
"cada biblioteca al analizar los símbolos usados por todos los binarios. Al "
"finalizar el proceso, puede escribir la dependencia mínima para cada "
"biblioteca usada (siempre que la información de los ficheros I<symbols> sea "
"precisa)."

#. type: Plain text
#: dpkg-shlibdeps.1:80
msgid ""
"As a safe-guard measure, a symbols file can provide a I<Build-Depends-"
"Package> meta-information field and B<dpkg-shlibdeps> will extract the "
"minimal version required by the corresponding package in the Build-Depends "
"field and use this version if it's higher than the minimal version computed "
"by scanning symbols."
msgstr ""
"Como medida de precaución, un fichero de símbolos puede proporcionar un "
"campo de meta información I<Build-Depends-Package> para que B<dpkg-"
"shlibdeps> extraiga la versión mínima requerida por el paquete "
"correspondiente en el campo «Build-Depends», y usar tal versión si es mayor "
"que la versión mínima calculada en el análisis de símbolos."

#. type: SS
#: dpkg-shlibdeps.1:80
#, no-wrap
msgid "Shlibs files"
msgstr "Ficheros «shlibs»"

#. type: Plain text
#: dpkg-shlibdeps.1:84
msgid ""
"Shlibs files associate directly a library to a dependency (without looking "
"at the symbols). It's thus often stronger than really needed but very safe "
"and easy to handle."
msgstr ""
"Los ficheros «shlibs» asocian de forma directa una librería con una "
"dependencia (sin analizar «symbols»). Por ello, es más sólido que necesario, "
"pero sencillo y seguro de manipular."

#. type: Plain text
#: dpkg-shlibdeps.1:87
msgid ""
"The dependencies for a library are looked up in several places. The first "
"file providing information for the library of interest is used:"
msgstr ""
"Las dependencias de una biblioteca se buscan en varias ubicaciones. Se usará "
"el primer fichero que proporcione información de la biblioteca relevante."

#. type: IP
#: dpkg-shlibdeps.1:87
#, no-wrap
msgid "debian/shlibs.local"
msgstr "debian/shlibs.local"

#. type: Plain text
#: dpkg-shlibdeps.1:89
msgid "Package-local overriding shared library dependency information."
msgstr ""
"Información acerca de redefinición de dependencias de bibliotecas "
"compartidas específicas al paquete local."

#. type: IP
#: dpkg-shlibdeps.1:89
#, no-wrap
msgid "/etc/dpkg/shlibs.override"
msgstr "/etc/dpkg/shlibs.override"

#. type: Plain text
#: dpkg-shlibdeps.1:91
msgid "Per-system overriding shared library dependency information."
msgstr ""
"Información acerca de redefinición de dependencias de bibliotecas "
"compartidas para cada sistema."

#. type: IP
#: dpkg-shlibdeps.1:91
#, no-wrap
msgid "debian/*/DEBIAN/shlibs"
msgstr "debian/*/DEBIAN/shlibs"

#. type: Plain text
#: dpkg-shlibdeps.1:97
msgid ""
"Shared library information generated by the current build process that also "
"invoked B<dpkg-shlibdeps>.  They are only used if the library is found in a "
"package's build tree. The shlibs file in that build tree takes precedence "
"over shlibs files from other binary packages."
msgstr ""
"La información de bibliotecas compartidas generada por el proceso de "
"construcción actual, que B<dpkg-shlibdeps> también invoca. Sólo se usa si la "
"biblioteca se encuentra en el árbol de construcción del paquete. El fichero "
"«shlibs» en el árbol de construcción tiene prioridad sobre otros ficheros "
"«shlibs» de otros paquetes binarios."

#. type: IP
#: dpkg-shlibdeps.1:97
#, no-wrap
msgid "Output from \\(lqB<dpkg-query --control-path> I<package> shlibs\\(rq"
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:100
#, no-wrap
msgid "/etc/dpkg/shlibs.default"
msgstr "/etc/dpkg/shlibs.default"

#. type: Plain text
#: dpkg-shlibdeps.1:102
msgid "Per-system default shared library dependency information."
msgstr ""
"Información del sistema acerca de las dependencias predefinidas de "
"bibliotecas compartidas."

#. type: Plain text
#: dpkg-shlibdeps.1:106
msgid ""
"The extracted dependencies are then directly used (except if they are "
"filtered out because they have been identified as duplicate, or as weaker "
"than another dependency)."
msgstr ""
"Tras ello, se usan las dependencias extraídas directamente (a menos que se "
"hayan omitido debido que se les identifique como duplicados, o como más "
"débiles que otra dependencia)."

#. type: Plain text
#: dpkg-shlibdeps.1:111
msgid ""
"B<dpkg-shlibdeps> interprets non-option arguments as executable names, just "
"as if they'd been supplied as B<-e>I<executable>."
msgstr ""
"B<dpkg-shlibdeps> interpreta cualquier argumento que no sea una opción como "
"el nombre de un fichero ejecutable, igual que si se hubiesen proporcionado "
"con B<-e>I<ejecutable>."

#. type: TP
#: dpkg-shlibdeps.1:111
#, no-wrap
msgid "B<-e>I<executable>"
msgstr "B<-e>I<ejecutable>"

#. type: Plain text
#: dpkg-shlibdeps.1:115
msgid ""
"Include dependencies appropriate for the shared libraries required by "
"I<executable>."
msgstr ""
"Incluye dependencias apropiadas para las bibliotecas compartidas requeridas "
"por el I<ejecutable>."

#. type: TP
#: dpkg-shlibdeps.1:115
#, no-wrap
msgid "B<-d>I<dependencyfield>"
msgstr "B<-d>I<campo-dependencias>"

#. type: Plain text
#: dpkg-shlibdeps.1:121
msgid ""
"Add dependencies to be added to the control file dependency field "
"I<dependencyfield>.  (The dependencies for this field are placed in the "
"variable B<shlibs:>I<dependencyfield>.)"
msgstr ""
"Añade dependencias al campo I<campo-dependencias> del fichero de control. "
"(Las dependencias para este campo se ubican en la variable B<shlibs:>I<campo-"
"dependencias>)."

#. type: Plain text
#: dpkg-shlibdeps.1:131
msgid ""
"The B<-d>I<dependencyfield> option takes effect for all executables after "
"the option, until the next B<-d>I<dependencyfield>.  The default "
"I<dependencyfield> is B<Depends>."
msgstr ""
"La opción B<-d>I<campo-dependencias> tiene efecto para todos los ejecutables "
"después de dicha opción, hasta el siguiente B<-d>I<campo-dependencias>. Por "
"omisión el I<campo-dependencias> es B<Depends>."

#. type: Plain text
#: dpkg-shlibdeps.1:139
msgid ""
"If the same dependency entry (or set of alternatives) appears in more than "
"one of the recognised dependency field names B<Pre-Depends>, B<Depends>, "
"B<Recommends>, B<Enhances> or B<Suggests> then B<dpkg-shlibdeps> will "
"automatically remove the dependency from all fields except the one "
"representing the most important dependencies."
msgstr ""
"Si la misma dependencia (o un conjunto de alternativas) aparece en más de "
"uno de los nombres de campo de dependencias reconocidos: B<Pre-Depends>, "
"B<Depends>, B<Recommends>, B<Enhances> o B<Suggests>, B<dpkg-shlibdeps> "
"eliminará automáticamente la dependencia de todos los campos, exceptuando "
"aquél que contenga las dependencias más importantes."

#. type: TP
#: dpkg-shlibdeps.1:139
#, no-wrap
msgid "B<-p>I<varnameprefix>"
msgstr "B<-p>I<prefijo-de-variable>"

#. type: Plain text
#: dpkg-shlibdeps.1:150
msgid ""
"Start substitution variables with I<varnameprefix>B<:> instead of B<shlibs:"
">.  Likewise, any existing substitution variables starting with "
"I<varnameprefix>B<:> (rather than B<shlibs:>)  are removed from the the "
"substitution variables file."
msgstr ""
"Provoca que las variables de sustitución empiecen por I<prefijo-de-"
"variable>B<:> en vez de B<shlibs:>. Asimismo, cualquier variable de "
"sustitución ya existente que empiece por I<prefijo-de-variable>B<:> (en vez "
"de B<shlibs:>) se eliminará del fichero de sustitución de variables."

#. type: Plain text
#: dpkg-shlibdeps.1:156
msgid ""
"Print substitution variable settings to standard output, rather than being "
"added to the substitution variables file (B<debian/substvars> by default)."
msgstr ""
"Muestra las propiedades de las variables de sustitución por la salida "
"estándar, en lugar de añadirse al fichero de sustitución de variables (por "
"omisión B<debian/substvars>)."

#. type: TP
#: dpkg-shlibdeps.1:156
#, no-wrap
msgid "B<-t>I<type>"
msgstr "B<-t>I<tipo>"

#. type: Plain text
#: dpkg-shlibdeps.1:163
msgid ""
"Prefer shared library dependency information tagged for the given package "
"type. If no tagged information is available, falls back to untagged "
"information. The default package type is \"deb\". Shared library dependency "
"information is tagged for a given type by prefixing it with the name of the "
"type, a colon, and whitespace."
msgstr ""
"Da prioridad a la información de dependencia de bibliotecas compartidas "
"etiquetada para el tipo de paquete dado. En caso de no existir ninguna "
"información etiquetada, usa información sin etiquetar por omisión. El tipo "
"de paquete predefinido es «deb». La información de dependencia de "
"bibliotecas compartidas se etiqueta para un tipo dado prefijando éste con el "
"nombre del tipo, dos puntos, y un espacio."

#. type: TP
#: dpkg-shlibdeps.1:163
#, no-wrap
msgid "B<-L>I<localshlibsfile>"
msgstr "B<-L>I<fichero-shlibs-local>"

#. type: Plain text
#: dpkg-shlibdeps.1:169
msgid ""
"Read overriding shared library dependency information from "
"I<localshlibsfile> instead of B<debian/shlibs.local>."
msgstr ""
"Provoca que B<dpkg-shlibs> lea la información sobre dependencias con "
"bibliotecas compartidas desde I<fichero-shlibs-local> en vez de B<debian/"
"shlibs.local>."

#. type: Plain text
#: dpkg-shlibdeps.1:175
msgid ""
"Write substitution variables in I<substvarsfile>; the default is B<debian/"
"substvars>."
msgstr ""
"Escribe las variables de sustitución en I<fichero-sustitución-variables>; "
"por omisión B<debian/substvars>."

#. type: TP
#: dpkg-shlibdeps.1:175
#, no-wrap
msgid "B<-v>"
msgstr "B<-v>"

#. type: Plain text
#: dpkg-shlibdeps.1:180
msgid ""
"Enable verbose mode. Numerous messages are displayed to explain what B<dpkg-"
"shlibdeps> does."
msgstr ""
"Activa el modo informativo. Se muestran numerosos mensajes que explican las "
"acciones de B<dpkg-shlindeps>."

#. type: TP
#: dpkg-shlibdeps.1:180
#, no-wrap
msgid "B<-x>I<package>"
msgstr "B<-x>I<paquete>"

#. type: Plain text
#: dpkg-shlibdeps.1:187
msgid ""
"Exclude the package from the generated dependencies. This is useful to avoid "
"self-dependencies for packages which provide ELF binaries (executables or "
"library plugins) using a library contained in the same package. This option "
"can be used multiple times to exclude several packages."
msgstr ""
"Excluye el paquete de las dependencias generadas. Es útil para evitar auto-"
"dependencias de paquetes que proporcionan binarios ELF (ejecutables o "
"extensiones de bibliotecas) y que usan una biblioteca contenida en el mismo "
"paquete. Esta opción se puede usar varias veces para excluir varios paquetes."

#. type: TP
#: dpkg-shlibdeps.1:187
#, no-wrap
msgid "B<-S>I<pkgbuilddir>"
msgstr "B<-S>I<directorio-compilación-paquete>"

#. type: Plain text
#: dpkg-shlibdeps.1:194
msgid ""
"Look into I<pkgbuilddir> first when trying to find a library. This is useful "
"when the source package builds multiple flavors of the same library and you "
"want to ensure that you get the dependency from a given binary package. You "
"can use this option multiple times: directories will be tried in the same "
"order before directories of other binary packages."
msgstr ""
"Analiza el I<directorio-compilación-paquete> primero al buscar una "
"biblioteca. Es útil cuando el paquete fuente genera distintas variantes de "
"la misma biblioteca, y quiere asegurar que obtiene la dependencia de un "
"paquete binario dado. Puede usar esta opción varias veces: los directorios "
"se analizan en el mismo orden antes de analizar los directorios de otros "
"paquetes binarios."

#. type: TP
#: dpkg-shlibdeps.1:194
#, no-wrap
msgid "B<--ignore-missing-info>"
msgstr "B<--ignore-missing-info>"

#. type: Plain text
#: dpkg-shlibdeps.1:200
msgid ""
"Do not fail if dependency information can't be found for a shared library.  "
"Usage of this option is discouraged, all libraries should provide dependency "
"information (either with shlibs files, or with symbols files)  even if they "
"are not yet used by other packages."
msgstr ""
"No devuelve un fallo en caso de no encontrar la información de dependencia "
"de una biblioteca compartida. No se recomienda usar esta opción ya que todas "
"las bibliotecas deberían proporcionar información de dependencia (mediante "
"los ficheros «shlibs», o ficheros de símbolos), incluso cuando otros "
"paquetes no los usan actualmente."

#. type: TP
#: dpkg-shlibdeps.1:200
#, no-wrap
msgid "B<--warnings=>I<value>"
msgstr "B<--warnings=>I<valor>"

#. type: Plain text
#: dpkg-shlibdeps.1:211
msgid ""
"I<value> is a bit field defining the set of warnings that can be emitted by "
"B<dpkg-shlibdeps>.  Bit 0 (value=1) enables the warning \"symbol I<sym> used "
"by I<binary> found in none of the libraries\", bit 1 (value=2) enables the "
"warning \"dependency on I<library> could be avoided\" and bit 2 (value=4)  "
"enables the warning \"I<binary> shouldn't be linked with I<library>\".  The "
"default I<value> is 3: the first two warnings are active by default, the "
"last one is not. Set I<value> to 7 if you want all warnings to be active."
msgstr ""
"I<valor> es un campo de bit que define el conjunto de avisos que B<dpkg-"
"shlibdeps> puede emitir. Bit 0 (valor=1) activa el aviso «symbol I<sym> used "
"by I<binary> found in none of the libraries», el bit 1 (valor=2) activa el "
"aviso «dependency on I<library> could be avoided», y bit 2 (valor=4) activa "
"el aviso «I<binary> shouldn't be linked with I<library>». El I<valor> "
"predefinido es 3: los dos primeros avisos están activados por omisión, no el "
"último. Defina el I<valor> con 7 si desea que todos los avisos estén activos."

#. type: SH
#: dpkg-shlibdeps.1:222
#, no-wrap
msgid "WARNINGS"
msgstr "ADVERTENCIAS"

#. type: Plain text
#: dpkg-shlibdeps.1:230
msgid ""
"Since B<dpkg-shlibdeps> analyzes the set of symbols used by each binary of "
"the generated package, it is able to emit warnings in several cases. They "
"inform you of things that can be improved in the package. In most cases, "
"those improvements concern the upstream sources directly. By order of "
"decreasing importance, here are the various warnings that you can encounter:"
msgstr ""
"Debido a que B<dpkg-shlibdeps> analiza el conjunto de símbolos usado por "
"cada binario del paquete generado, puede mostrar avisos en varias "
"situaciones. Éstos informan de aspectos mejorables del paquete. En la "
"mayoría de los casos, conciernen directamente a las fuentes original. A "
"continuación se muestran los varios mensajes de advertencia que pueden "
"aparecer, por orden de importancia decreciente."

#. type: TP
#: dpkg-shlibdeps.1:230
#, no-wrap
msgid "B<symbol>I< sym>B< used by >I<binary>B< found in none of the libraries.>"
msgstr "B<symbol>I< sym>B< used by >I<binary>B< found in none of the libraries.>"

#. type: Plain text
#: dpkg-shlibdeps.1:236
msgid ""
"The indicated symbol has not been found in the libraries linked with the "
"binary. The I<binary> is most likely a library and it needs to be linked "
"with an additional library during the build process (option B<-l>I<library> "
"of the linker)."
msgstr ""
"El símbolo indicado no se encontró en las bibliotecas enlazadas con el "
"binario. Posiblemente, I<binario> es una biblioteca, y necesita estar "
"enlazado con una biblioteca adicional durante el proceso de construcción "
"(opción B<-l>I<biblioteca> del enlazador)."

#. type: TP
#: dpkg-shlibdeps.1:236
#, no-wrap
msgid "I<binary>B< contains an unresolvable reference to symbol >I<sym>B<: it's probably a plugin>"
msgstr "I<binary>B< contains an unresolvable reference to symbol >I<sym>B<: it's probably a plugin>"

#. type: Plain text
#: dpkg-shlibdeps.1:249
msgid ""
"The indicated symbol has not been found in the libraries linked with the "
"binary. The I<binary> is most likely a plugin and the symbol is probably "
"provided by the program that loads this plugin. In theory a plugin doesn't "
"have any SONAME but this binary does have one and as such it could not be "
"clearly identified as such. However the fact that the binary is stored in a "
"non-public directory is a strong indication that's it's not a normal shared "
"library. If the binary is really a plugin, then disregard this warning. But "
"there's always the possibility that it's a real library and that programs "
"linking to it are using an RPATH so that the dynamic loader finds it. In "
"that case, the library is broken and needs to be fixed."
msgstr ""
"El símbolo indicado no se ha encontrado en las bibliotecas enlazadas con el "
"binario. Probablemente, el I<binario> es una extensión, y cabe que el "
"programa que carga tal extensión proporciona el símbolo. Teóricamente, una "
"extensión no tiene ningún «SONAME», pero sí este binario, y por ello no se "
"le puede identificar claramente como tal. Aún así, el hecho de que el "
"binario se guarda en un directorio no público es una indicación de que no es "
"una biblioteca compartida normal. Si el binario es realmente una extensión, "
"no haga caso de este aviso. Siempre cabe la posibilidad de que es una "
"biblioteca real, y que los programas que enlazan con el usan un «RPATH» para "
"que el cargador dinámico lo encuentre. En tal caso, la biblioteca está rota "
"y precisa un arreglo."

#. type: TP
#: dpkg-shlibdeps.1:249
#, no-wrap
msgid "B<dependency on >I<library>B< could be avoided if >I<binaries>B< were not uselessly linked against it (they use none of its symbols).>"
msgstr "B<dependency on >I<library>B< could be avoided if >I<binaries>B< were not uselessly linked against it (they use none of its symbols).>"

#. type: Plain text
#: dpkg-shlibdeps.1:255
msgid ""
"None of the I<binaries> that are linked with I<library> use any of the "
"symbols provided by the library. By fixing all the binaries, you would avoid "
"the dependency associated to this library (unless the same dependency is "
"also generated by another library that is really used)."
msgstr ""
"Ninguno de los I<binarios> enlazados con la I<biblioteca> usan símbolos que "
"proporciona la biblioteca. Al arreglar todos los binarios, evitaría la "
"dependencia asociada a esta biblioteca (a menos que la dependencia se genere "
"también para otra biblioteca que sí la usa)."

#. type: TP
#: dpkg-shlibdeps.1:255
#, no-wrap
msgid "I<binary>B< shouldn't be linked with >I<library>B< (it uses none of its symbols).>"
msgstr "I<binary>B< shouldn't be linked with >I<library>B< (it uses none of its symbols).>"

#. type: Plain text
#: dpkg-shlibdeps.1:262
msgid ""
"The I<binary> is linked to a library that it doesn't need. It's not a "
"problem but some small performance improvements in binary load time can be "
"obtained by not linking this library to this binary. This warning checks the "
"same information than the previous one but does it for each binary instead "
"of doing the check globally on all binaries analyzed."
msgstr ""
"El I<binario> está enlazado con una biblioteca que no necesita. No es un "
"problema, pero puede optimizar levemente el tiempo de carga del binario si "
"no enlaza tal binario a la biblioteca. Este aviso revisa la misma "
"información que el anterior, pero lo hace para cada binario, en lugar de una "
"revisión global de todos los binarios."

#. type: SH
#: dpkg-shlibdeps.1:262
#, no-wrap
msgid "ERRORS"
msgstr "FALLOS"

#. type: Plain text
#: dpkg-shlibdeps.1:269
msgid ""
"B<dpkg-shlibdeps> will fail if it can't find a public library used by a "
"binary or if this library has no associated dependency information (either "
"shlibs file or symbols file). A public library has a SONAME and is versioned "
"(libsomething.so.I<X>). A private library (like a plugin) should not have a "
"SONAME and doesn't need to be versioned."
msgstr ""
"B<dpkg-shlibdeps> fallará si no puede encontrar ninguna biblioteca pública "
"usada por un binario, o si no existe ninguna información de dependencia "
"asociada a esta biblioteca (el fichero «shlibs», o el fichero «symbols»). "
"Una biblioteca pública tiene un «SONAME», el cual tiene información de "
"versión (biblioteca.so.I<x>). Una biblioteca privada (como una extensión) no "
"debería tener un «SONAME», y por ello no necesita información de versión."

#. type: TP
#: dpkg-shlibdeps.1:269
#, no-wrap
msgid "B<couldn't find library >I<library-soname>B< needed by >I<binary>B< (its RPATH is '>I<rpath>B<')>"
msgstr "B<couldn't find library >I<library-soname>B< needed by >I<binary>B< (its RPATH is '>I<rpath>B<')>"

#. type: Plain text
#: dpkg-shlibdeps.1:285
#, fuzzy
#| msgid ""
#| "The I<binary> uses a library called I<library-soname> but B<dpkg-"
#| "shlibdeps> has been unable to find the library.  B<dpkg-shlibdeps> "
#| "creates a list of directories to check as following: directories listed "
#| "in the RPATH of the binary, directories listed in /etc/ld.so.conf, "
#| "directories listed in the LD_LIBRARY_PATH environment variable, and "
#| "standard public directories (/lib, /usr/lib, /lib32, /usr/lib32, /lib64, /"
#| "usr/lib64). Then it checks those directories in the package's build tree "
#| "of the binary being analyzed, in the packages's build trees indicated "
#| "with the -S command-line option, in other packages's build trees that "
#| "contains a DEBIAN/shlibs or DEBIAN/symbols file and finally in the root "
#| "directory.  If the library is not found in any of those directories, then "
#| "you get this error."
msgid ""
"The I<binary> uses a library called I<library-soname> but B<dpkg-shlibdeps> "
"has been unable to find the library.  B<dpkg-shlibdeps> creates a list of "
"directories to check as following: directories listed in the RPATH of the "
"binary, directories listed in /etc/ld.so.conf, directories listed in the "
"LD_LIBRARY_PATH environment variable, and standard public directories (/"
"lib, /usr/lib, /lib32, /usr/lib32, /lib64, /usr/lib64). Then it checks those "
"directories in the package's build tree of the binary being analyzed, in the "
"packages' build trees indicated with the -S command-line option, in other "
"packages' build trees that contains a DEBIAN/shlibs or DEBIAN/symbols file "
"and finally in the root directory.  If the library is not found in any of "
"those directories, then you get this error."
msgstr ""
"El I<binario> usa una biblioteca llamada I<soname-biblioteca>, pero B<dpkg-"
"shlibdeps> ha sido incapaz de encontrar la biblioteca. B<dpkg-shlibdeps> "
"crea una lista de directorios a revisar en el siguiente orden: los "
"directorios listados en el «RPATH» del binario, los directorios listados en /"
"etc/ld.so.conf, los directorios listados en la variable de entorno "
"«LD_LIBRARY_PATH», y los directorios públicos estándar (/lib, /usr/lib, /"
"lib32, /usr/lib32, /lib64, /usr/lib64). Después revisa esos directorios en "
"el árbol de construcción del paquete del binario analizado, en los árboles "
"de construcción del paquete indicados con la opción de línea de órdenes «-"
"S», en otros árboles de construcción de paquete que contienen el fichero "
"«DEBIAN/shlibs» o «DEBIAN/symbols», y por último en el directorio raíz. Esto "
"error aparece cuando la biblioteca no se encuentra en ninguno de estos "
"directorios."

#. type: Plain text
#: dpkg-shlibdeps.1:291
msgid ""
"If the library not found is in a private directory of the same package, then "
"you want to add the directory to LD_LIBRARY_PATH. If it's in another binary "
"package being built, you want to make sure that the shlibs/symbols file of "
"this package is already created and that LD_LIBRARY_PATH contains the "
"appropriate directory if it also is in a private directory."
msgstr ""
"Si la biblioteca que no se encontró está dentro de un directorio privado del "
"mismo paquete, querrá añadir el directorio a «LD_LIBRARY_PATH». Si está en "
"otro paquete binario en construcción, querrá asegurar que el fichero "
"«shlibs» o «symbols» de este paquete ya existe, y que «LD_LIBRARY_PATH» "
"contiene el directorio adecuado, en caso de ser un directorio privado."

#. type: TP
#: dpkg-shlibdeps.1:291
#, no-wrap
msgid "B<no dependency information found for >I<library-file>B< (used by >I<binary>B<).>"
msgstr "B<no dependency information found for >I<library-file>B< (used by >I<binary>B<).>"

#. type: Plain text
#: dpkg-shlibdeps.1:304
msgid ""
"The library needed by I<binary> has been found by B<dpkg-shlibdeps> in "
"I<library-file> but B<dpkg-shlibdeps> has been unable to find any dependency "
"information for that library. To find out the dependency, it has tried to "
"map the library to a Debian package with the help of B<dpkg -S >I<library-"
"file>.  Then it checked the corresponding shlibs and symbols files in /var/"
"lib/dpkg/info/, and in the various package's build trees (debian/*/DEBIAN/)."
msgstr ""
"B<dpkg-shlibdeps> encontró la biblioteca que I<binario> necesita en "
"I<fichero-biblioteca>, pero no ha sido capaz de encontrar ninguna "
"información de dependencia para esta biblioteca. Para encontrar la "
"dependencia, intentó establecer una correlación de la biblioteca con el "
"paquete Debian con la ayuda de B<dpkg -S >I<fichero-biblioteca>. Después "
"revisó los correspondientes ficheros «shlibs» y «symbols» en «/var/lib/dpkg/"
"info/», y en los distintos árboles de construcción del paquete («debian/*/"
"DEBIAN/»)."

#. type: Plain text
#: dpkg-shlibdeps.1:318
msgid ""
"This failure can be caused by a bad or missing shlibs or symbols file in the "
"package of the library. It might also happen if the library is built within "
"the same source package and if the shlibs files has not yet been created (in "
"which case you must fix debian/rules to create the shlibs before calling "
"B<dpkg-shlibdeps>). Bad RPATH can also lead to the library being found under "
"a non-canonical name (example: /usr/lib/openoffice.org/../lib/libssl."
"so.0.9.8 instead of /usr/lib/libssl.so.0.9.8) that's not associated to any "
"package, B<dpkg-shlibdeps> tries to work around this by trying to fallback "
"on a canonical name (using B<realpath>(3))  but it might not always work. "
"It's always best to clean up the RPATH of the binary to avoid problems."
msgstr ""
"Este fallo puede estar causado por un fichero «shlibs» o «symbols» "
"incorrecto o ausente en el paquete de la biblioteca. También cabe que la "
"biblioteca se construya dentro del mismo paquete fuente, y que aún no se "
"haya creado el fichero «shlibs» (en cuyo caso debería arreglar «debian/"
"rules» para crear «shlibs» antes de invocar B<dpkg-shlibdeps>). Un "
"incorrecto «RPATH» también puede llevar a encontrar la biblioteca bajo un "
"nombre no canónico (por ejemplo, «/usr/lib/openoffice.org/../lib/libssl."
"so.0.9.8» en lugar de «/usr/lib/libssl.so.0.9.8») que no esté asociado a "
"ningún paquete. B<dpkg-shlibdeps> intenta evitar esto usando un nombre "
"canónico (con B<realpath>(3)), pero no siempre funciona. Siempre es mejor "
"limpiar el «RPATH» del binario para evitar problemas."

#. type: Plain text
#: dpkg-shlibdeps.1:324
msgid ""
"Calling B<dpkg-shlibdeps> in verbose mode (-v) will provide much more "
"information about where it tried to find the dependency information. This "
"might be useful if you don't understand why it's giving you this error."
msgstr ""
"Invocar B<dpkg-shlibdeps> en modo informativo (-v) ofrece mucha más "
"información acerca de dónde buscó la información de dependencia. Puede ser "
"útil si no entiende porque muestra este fallo."

#. type: Plain text
#: dpkg-shlibdeps.1:328
msgid "B<deb-shlibs>(5), B<deb-symbols>(5), B<dpkg-gensymbols>(1)."
msgstr "B<deb-shlibs>(5), B<deb-symbols>(5), B<dpkg-gensymbols>(1)."

#. type: Plain text
#: dpkg-shlibdeps.1:335
msgid "Copyright \\(co 2006 Frank Lichtenheld"
msgstr "Copyright \\(co 2006 Frank Lichtenheld"

#. type: TH
#: dpkg-source.1:2
#, no-wrap
msgid "dpkg-source"
msgstr "dpkg-source"

#. type: Plain text
#: dpkg-source.1:5
msgid "dpkg-source - Debian source package (.dsc) manipulation tool"
msgstr ""
"dpkg-source - Herramienta de manipulación de paquetes fuente de Debian «.dsc»"

#. type: Plain text
#: dpkg-source.1:9
#, fuzzy
#| msgid "B<dpkg-source> [I<options>] I<command>"
msgid "B<dpkg-source> [I<option>...] I<command>"
msgstr "B<dpkg-source> [I<opciones>] I<orden>"

#. type: Plain text
#: dpkg-source.1:13
msgid "B<dpkg-source> packs and unpacks Debian source archives."
msgstr "B<dpkg-source> empaqueta y desempaqueta archivos de fuentes de Debian."

#. type: Plain text
#: dpkg-source.1:17
msgid ""
"None of these commands allow multiple options to be combined into one, and "
"they do not allow the value for an option to be specified in a separate "
"argument."
msgstr ""
"Ninguna de estas órdenes permite combinar múltiples opciones en una sola. "
"Tampoco permiten que el valor de una opción se especifique en un argumento "
"separado."

#. type: TP
#: dpkg-source.1:19
#, no-wrap
msgid "B<-x >I<filename>B<.dsc >[I<output-directory>]"
msgstr "B<-x >I<fichero>B<.dsc >[I<directorio-salida>]"

#. type: Plain text
#: dpkg-source.1:29
msgid ""
"Extract a source package. One non-option argument must be supplied, the name "
"of the Debian source control file (B<.dsc>).  An optional second non-option "
"argument may be supplied to specify the directory to extract the source "
"package to, this must not exist. If no output directory is specified, the "
"source package is extracted into a directory named I<source>-I<version> "
"under the current working directory."
msgstr ""
"Extrae un paquete fuente. Se debe suministrar un argumento que no sea una "
"opción, el nombre del fichero de control de fuente de Debian (B<.dsc>). "
"Puede introducir un segundo argumento que no sea una opción para definir el "
"directorio en el que extraer el paquete fuente, el cual no debe existir. En "
"caso de no definir ningún directorio, el paquete fuente se extraerá en un "
"directorio llamado I<fuente>-I<versión> dentro del directorio actual."

#. type: Plain text
#: dpkg-source.1:35
msgid ""
"B<dpkg-source> will read the names of the other file(s) making up the source "
"package from the control file; they are assumed to be in the same directory "
"as the B<.dsc>."
msgstr ""
"B<dpkg-source> lee los nombres de los demás ficheros que componen el paquete "
"fuente desde el fichero de control; se asume que están en el mismo "
"directorio que el fichero B<.dsc>."

#. type: Plain text
#: dpkg-source.1:43
msgid ""
"The files in the extracted package will have their permissions and "
"ownerships set to those which would have been expected if the files and "
"directories had simply been created - directories and executable files will "
"be 0777 and plain files will be 0666, both modified by the extractors' "
"umask; if the parent directory is setgid then the extracted directories will "
"be too, and all the files and directories will inherit its group ownership."
msgstr ""
"Los permisos y propietarios de los ficheros del paquete extraído serán los "
"mismos que se esperarían si los ficheros se hubiesen simplemente creado - "
"0777 para directorios y ejecutables y 0666 para el resto de ficheros, ambos "
"modificados según el umask del extractor. Si el directorio superior tiene "
"activado el bit setgid, los directorios extraídos lo tendrán también, y "
"todos los ficheros y directorios heredarán el grupo al que pertenece."

#. type: Plain text
#: dpkg-source.1:48
msgid ""
"If the source package uses a non-standard format (currently this means all "
"formats except \"1.0\"), its name will be stored in B<debian/source/format> "
"so that the following builds of the source package use the same format by "
"default."
msgstr ""
"Si el paquete fuente usa un formato no estándar (a día de hoy, todos los "
"formatos menos «1.0»), su nombre se guardará en B<debian/source/format> para "
"que las siguientes construcciones del paquete fuente usen el mismo formato "
"por omisión."

#. type: TP
#: dpkg-source.1:49
#, no-wrap
msgid "B<-b> I<directory> [I<format-specific-parameters>]"
msgstr "B<-b> I<directorio> [I<parámetros-específicos-formato>]"

#. type: Plain text
#: dpkg-source.1:56
msgid ""
"Build a source package. The first non-option argument is taken as the name "
"of the directory containing the debianized source tree (i.e. with a debian "
"sub-directory and maybe changes to the original files).  Depending on the "
"source package format used to build the package, additional parameters might "
"be accepted."
msgstr ""
"Construye un paquete fuente. El primer argumento, que no opción, se toma "
"como el nombre del directorio que contiene el árbol de fuentes "
"«debianizado» (por ejemplo, con un subdirectorio «debian/», y puede que "
"cambios en los ficheros originales). Puede especificar parámetros "
"adicionales, dependiendo del formato de paquete fuente usado en la "
"construcción del paquete."

#. type: Plain text
#: dpkg-source.1:65
#, fuzzy
#| msgid ""
#| "B<dpkg-source> will build the source package with the first format found "
#| "in this ordered list: the format indicated with the I<--format> command-"
#| "line option, the format indicated in B<debian/source/format>, \"1.0\". "
#| "The fallback to \"1.0\" is deprecated and will be removed at some point "
#| "in the future, you should always document the desired source format in "
#| "B<debian/source/format>. See section B<SOURCE PACKAGE FORMATS> for an "
#| "extensive description of the various source package formats."
msgid ""
"B<dpkg-source> will build the source package with the first format found in "
"this ordered list: the format indicated with the I<--format> command line "
"option, the format indicated in B<debian/source/format>, \"1.0\". The "
"fallback to \"1.0\" is deprecated and will be removed at some point in the "
"future, you should always document the desired source format in B<debian/"
"source/format>. See section B<SOURCE PACKAGE FORMATS> for an extensive "
"description of the various source package formats."
msgstr ""
"B<dpkg-source> construirá el paquete fuente con el primer formato posible de "
"esta lista, y en este orden: el formato indicados con la opción de línea de "
"órdenes I<--format>, el formato indicado en B<debian/source/format>, «1.0». "
"El uso predefinido de «1.0» en ausencia de otro valor está obsoleto y se "
"eliminará en el futuro. Siempre debería documentar el formato fuente deseado "
"en B<debian/source/format>. Consulte la sección B<FORMATOS DE PAQUETE "
"FUENTE> para una extensa descripción de los diferentes formatos de paquete "
"fuente."

#. type: TP
#: dpkg-source.1:66
#, no-wrap
msgid "B<--print-format> I<directory>"
msgstr "B<--print-format> I<directorio>"

# type: Plain text
#. type: Plain text
#: dpkg-source.1:71
msgid ""
"Print the source format that would be used to build the source package if "
"B<dpkg-source -b >I<directory> was called (in the same conditions and with "
"the same parameters)."
msgstr ""
"Muestra el formato de fuentes a usar en la construcción del paquete fuente "
"si se invocó B<dpkg-source -b >I<directorio> (con las mismas condiciones y "
"los mismos parámetros)."

#. type: TP
#: dpkg-source.1:72
#, no-wrap
msgid "B<--before-build> I<directory>"
msgstr "B<--before-build> I<directorio>"

#. type: Plain text
#: dpkg-source.1:81
#, fuzzy
#| msgid ""
#| "This command should be called before any build of the package (B<dpkg-"
#| "buildpackage> calls it very early even before B<debian/rules clean>). "
#| "This command should be idempotent and can be called multiple times. Not "
#| "all source formats implement something in this hook, and those that do "
#| "usually prepare the source tree for the build for example by ensuring "
#| "that the Debian patches are applied."
msgid ""
"Run the corresponding hook of the source package format. This hook is called "
"before any build of the package (B<dpkg-buildpackage> calls it very early "
"even before B<debian/rules clean>). This command is idempotent and can be "
"called multiple times. Not all source formats implement something in this "
"hook, and those that do usually prepare the source tree for the build for "
"example by ensuring that the Debian patches are applied."
msgstr ""
"Se debería invocar esta orden antes de construir un paquete (B<dpkg-"
"buildpackage> lo invoca muy temprano en el proceso, incluso antes que "
"B<debian/rules clean>). Esta orden debería ser idempotente, y se puede "
"invocar varias veces. No todos los formatos de fuentes implementan algo en "
"este «hook», y aquellos que lo hacen habitualmente preparan el árbol de las "
"fuentes para la construcción, por ejemplo, comprobando que se aplican los "
"parches de Debian."

#. type: TP
#: dpkg-source.1:82
#, no-wrap
msgid "B<--after-build> I<directory>"
msgstr "B<--after-build> I<directorio>"

#. type: Plain text
#: dpkg-source.1:89
#, fuzzy
#| msgid ""
#| "This command should be called after any build of the package (B<dpkg-"
#| "buildpackage> calls it last). This command should be idempotent and can "
#| "be called multiple times. Not all source formats implement something in "
#| "this hook, and those that do usually use it to undo what B<--before-"
#| "build> has done."
msgid ""
"Run the corresponding hook of the source package format. This hook is called "
"after any build of the package (B<dpkg-buildpackage> calls it last). This "
"command is idempotent and can be called multiple times. Not all source "
"formats implement something in this hook, and those that do usually use it "
"to undo what B<--before-build> has done."
msgstr ""
"Se debería invocar esta orden después de construir un paquete (B<dpkg-"
"buildpackage> lo invoca en último lugar). Esta orden debería ser "
"idempotente, y se puede invocar varias veces. No todos los formatos de "
"fuentes implementan algo en este «hook», y aquellos que lo hacen lo usan "
"habitualmente para deshacer lo que B<--before-build> ha hecho."

#. type: TP
#: dpkg-source.1:90
#, fuzzy, no-wrap
#| msgid "B<--print-format> I<directory>"
msgid "B<--commit> [I<directory>] ..."
msgstr "B<--print-format> I<directorio>"

#. type: Plain text
#: dpkg-source.1:95
msgid ""
"Record changes in the source tree unpacked in I<directory>. This command can "
"take supplementary parameters depending on the source format.  It will error "
"out for formats where this operation doesn't mean anything."
msgstr ""

#. type: SH
#: dpkg-source.1:103
#, no-wrap
msgid "GENERIC BUILD OPTIONS"
msgstr "OPCIONES GENÉRICAS DE CONSTRUCCIÓN"

#. type: Plain text
#: dpkg-source.1:111
msgid ""
"Specifies the main source control file to read information from. The default "
"is B<debian/control>.  If given with relative pathname this is interpreted "
"starting at the source tree's top level directory."
msgstr ""
"Define el fichero de control principal de las fuentes del que leer la "
"información, B<debian/control> por omisión. Si se introducen rutas "
"relativas, éstas se interpretan empezando en el directorio superior del "
"árbol de fuentes."

#. type: Plain text
#: dpkg-source.1:118
msgid ""
"Specifies the change log file to read information from. The default is "
"B<debian/changelog>.  If given with relative pathname this is interpreted "
"starting at the source tree's top level directory."
msgstr ""
"Define el fichero de registro de cambios del que leer la información, "
"B<debian/changelog> por omisión. Si se introducen rutas relativas, éstas se "
"interpretan empezando en el directorio superior del árbol de fuentes."

#. type: TP
#: dpkg-source.1:123
#, no-wrap
msgid "B<--format=>I<value>"
msgstr "B<--format=>I<valor>"

#. type: Plain text
#: dpkg-source.1:127
msgid ""
"Use the given format for building the source package. It does override any "
"format given in B<debian/source/format>."
msgstr ""
"Usa el formato dado para la construcción del paquete fuente. Esto "
"sobreescribe cualquier formato presente enB<debian/source/format>."

#. type: Plain text
#: dpkg-source.1:137
msgid ""
"Read substitution variables in I<substvarsfile>; the default is to not read "
"any file. This option can be used multiple times to read substitution "
"variables from multiple files."
msgstr ""
"Lee las variables de sustitución desde I<fichero-variables-sust>; el valor "
"por omisión es no leer ninguno. Puede usar esta opción varias veces para "
"leer variables de sustitución de varios ficheros."

#. type: TP
#: dpkg-source.1:143
#, no-wrap
msgid "B<-Z>I<compression>, B<--compression>=I<compression>"
msgstr "B<-Z>I<compression>, B<--compression>=I<compresión>"

#. type: Plain text
#: dpkg-source.1:151
msgid ""
"Specify the compression to use for created files (tarballs and diffs).  Note "
"that this option will not cause existing tarballs to be recompressed, it "
"only affects new files. Supported values are: I<gzip>, I<bzip2>, I<lzma> and "
"I<xz>.  I<gzip> is the default. I<xz> is only supported since dpkg-dev "
"1.15.5."
msgstr ""
"Define qué compresión usar con los ficheros creados (archivos tar y ficheros "
"«diff»). Tenga en cuenta que esta opción no provoca que los archivos tar "
"existentes se compriman nuevamente, sólo afecta a los ficheros nuevos. Los "
"valores permitidos son: I<gzip>, I<bzip2>, I<lzma> y I<xz>. I<gzip> se usa "
"por omisión. La compatibilidad con I<xz> es posible desde dpkg-dev 1.15.5."

#. type: TP
#: dpkg-source.1:151
#, no-wrap
msgid "B<-z>I<level>, B<--compression-level>=I<level>"
msgstr "B<-z>I<level>, B<--compression-level>=I<nivel>"

#. type: Plain text
#: dpkg-source.1:157
#, fuzzy
#| msgid ""
#| "Compression level to use. As with B<-Z> it only affects newly created "
#| "files. Supported values are: I<1> to I<9>, I<best>, and I<fast>.  I<9> is "
#| "the default."
msgid ""
"Compression level to use. As with B<-Z> it only affects newly created files. "
"Supported values are: I<1> to I<9>, I<best>, and I<fast>.  The default is "
"I<9> for gzip and bzip2, I<6> for xz and lzma."
msgstr ""
"El nivel de compresión a usar. Al igual que B<-Z>, sólo afecta a los "
"ficheros nuevos. Los valores permitidos son de I<1> a I<9>, I<best>, y "
"I<fast>. I<9> se usa por omisión."

#. type: TP
#: dpkg-source.1:157
#, no-wrap
msgid "B<-i>[I<regexp>], B<--diff-ignore>[=I<regexp>]"
msgstr "B<-i>[I<expresión-regular>], B<--diff-ignore>[=I<expresión-regular>]"

#. type: Plain text
#: dpkg-source.1:169
msgid ""
"You may specify a perl regular expression to match files you want filtered "
"out of the list of files for the diff. (This list is generated by a find "
"command.) (If the source package is being built as a version 3 source "
"package using a VCS, this can be used to ignore uncommited changes on "
"specific files. Using -i.* will ignore all of them.)  B<-i> by itself "
"enables the option, with a default regexp that will filter out control files "
"and directories of the most common revision control systems, backup and swap "
"files and Libtool build output directories. There can only be one active "
"regexp, of multiple B<-i> options only the last one will take effect."
msgstr ""
"Puede especificar una expresión regular de Perl para indicar aquellos "
"ficheros que desee excluir de la lista de ficheros para el «diff» (esta "
"lista se genera con una orden find). Puede usar esto para ignorar cambios no "
"introducidos en ficheros específicos, en caso de construir un paquete fuente "
"como un paquete fuente versión 3 usando VCS. Por sí mismo, B<-i> activa la "
"opción con una expresión regular predefinida que elimina los ficheros y "
"directorios de control de los sistemas de control de versiones más comunes, "
"los ficheros de respaldo, los ficheros de intercambio y los directorios que "
"se generan como resultado de las operaciones de Libtool. Sólo puede haber "
"una expresión regular activa, y en caso de existir varias opciones B<-i> "
"sólo se tendrá en cuenta la última."

#. type: Plain text
#: dpkg-source.1:179
msgid ""
"This is very helpful in cutting out extraneous files that get included in "
"the diff, e.g. if you maintain your source in a revision control system and "
"want to use a checkout to build a source package without including the "
"additional files and directories that it will usually contain (e.g. CVS/, ."
"cvsignore, .svn/). The default regexp is already very exhaustive, but if you "
"need to replace it, please note that by default it can match any part of a "
"path, so if you want to match the begin of a filename or only full "
"filenames, you will need to provide the necessary anchors (e.g. '(^|/)', "
"'($|/)') yourself."
msgstr ""
"Esto es útil para eliminar ficheros externos que se incluyen en el «diff». "
"Por ejemplo, si desarrolla su software en sistema de control de versiones y "
"desea realizar un «checkout» para construir un paquete fuente, sin incluir "
"los ficheros y directorios adicionales que habitualmente contiene (por "
"ejemplo, «CVS/», «.cvsignore», «.svn»). La expresión regular predefinida es "
"bastante completa, pero si necesita reemplazarla, tenga en cuenta que por "
"omisión, puede coincidir con cualquier parte de la ruta. Por ello, si desea "
"emparejar el principio de un nombre de fichero, o sólo nombres de fichero "
"completos, tendrá que introducir directamente el anclaje necesario (por "
"ejemplo, '(^|/)', '($|/)')."

#. type: TP
#: dpkg-source.1:179
#, no-wrap
msgid "B<--extend-diff-ignore>=I<regexp>"
msgstr "B<--extend-diff-ignore>=I<expresión-regular>"

#. type: Plain text
#: dpkg-source.1:186
#, fuzzy
#| msgid ""
#| "The perl regular expression specified will extend the default regular "
#| "expression associated to B<-i> by concatenating \"B<|>I<regexp>\" to the "
#| "default regexp.  This option is convenient to use in B<debian/source/"
#| "options> to exclude some auto-generated files from the automatic patch "
#| "generation."
msgid ""
"The perl regular expression specified will extend the default value of B<--"
"diff-ignore> and its current value (if set). It does this by concatenating "
"\"B<|>I<regexp>\" to the existing value.  This option is convenient to use "
"in B<debian/source/options> to exclude some auto-generated files from the "
"automatic patch generation."
msgstr ""
"La expresión regular de perl definida extenderá la expresión regular "
"predefinida asociada a B<-i>, concatenando «B<|>I<regexp>» a la expresión "
"regular predefinida. Es conveniente usar esta opción en B<debian/source/"
"options> para excluir algunos ficheros generados automáticamente a partir de "
"la generación automática de parches."

#. type: TP
#: dpkg-source.1:186
#, no-wrap
msgid "B<-I>[I<file-pattern>], B<--tar-ignore>[=I<file-pattern>]"
msgstr "B<-I>[I<patrón-fichero>], B<--tar-ignore>[=I<patrón-fichero>]"

#. type: Plain text
#: dpkg-source.1:195
msgid ""
"If this option is specified, the pattern will be passed to B<tar>(1)'s --"
"exclude option when it is called to generate a .orig.tar or .tar file. For "
"example, -ICVS will make tar skip over CVS directories when generating a ."
"tar.gz file. The option may be repeated multiple times to list multiple "
"patterns to exclude."
msgstr ""
"Si se especifica esta opción, el nombre de fichero se pasará como parámetro "
"a la opción «--exclude» de B<tar>(1) al generar el fichero «.orig.tar» o «."
"tar». Por ejemplo, «-ICVS» hará que tar omita los directorios CVS cuando "
"genere el fichero «.tar.gz». La opción se puede repetir varias veces para "
"listar varios patrones a excluir."

#. type: Plain text
#: dpkg-source.1:200
msgid ""
"B<-I> by itself adds default --exclude options that will filter out control "
"files and directories of the most common revision control systems, backup "
"and swap files and Libtool build output directories."
msgstr ""
"Por si mismo, B<-I> añade las opciones predefinidas «--exclude», que "
"filtrarán los ficheros de control y los directorios de los sistemas de "
"control de versiones más comunes, ficheros de respaldo e intercambio, y los "
"directorios de salida de construcción de Libtool."

#. type: Plain text
#: dpkg-source.1:212
msgid ""
"B<Note:> While they have similar purposes, B<-i> and B<-I> have very "
"different syntax and semantics. B<-i> can only be specified once and takes a "
"perl compatible regular expression which is matched against the full "
"relative path of each file. B<-I> can specified multiple times and takes a "
"filename pattern with shell wildcards.  The pattern is applied to the full "
"relative path but also to each part of the path individually. The exact "
"semantic of tar's --exclude option is somewhat complicated, see http://www."
"gnu.org/software/tar/manual/tar.html#wildcards for a full documentation."
msgstr ""
"B<Nota:> A pesar de tener objetivos similares, B<i> y B<I> tienen una "
"sintaxis y semántica muy diferentes. Sólo puede especificar B<i> una vez, "
"que toma una expresión regular compatible con Perl, la cual se compara con "
"la ruta relativa de cada fichero. Puede especificar B<I> varias veces, y "
"toma un patrón de nombre de fichero con comodines de intérprete de órdenes. "
"El patrón se compara con la ruta relativa, y también con cada parte de la "
"ruta, de manera individual. La semántica exacta de la opción «--exclude» de "
"tar es algo complicada, consulte http://www.gnu.org/software/tar/manual/tar."
"html#wildcards para una completa documentación."

#. type: Plain text
#: dpkg-source.1:215
msgid ""
"The default regexp and patterns for both options can be seen in the output "
"of the B<--help> command."
msgstr ""
"Puede consultar los patrones y expresiones regulares predefinidas de ambas "
"opciones en la salida de la orden B<--help>."

#. type: SH
#: dpkg-source.1:215
#, no-wrap
msgid "GENERIC EXTRACT OPTIONS"
msgstr "OPCIONES DE EXTRACCIÓN GENÉRICAS"

#. type: TP
#: dpkg-source.1:216
#, no-wrap
msgid "B<--no-copy>"
msgstr "B<--no-copy>"

#. type: Plain text
#: dpkg-source.1:219
msgid "Do not copy original tarballs near the extracted source package."
msgstr ""
"No copia los ficheros tar originales cerca del paquete fuente extraído."

#. type: TP
#: dpkg-source.1:219
#, no-wrap
msgid "B<--no-check>"
msgstr "B<--no-check>"

#. type: Plain text
#: dpkg-source.1:222
msgid "Do not check signatures and checksums before unpacking."
msgstr "No revisa las firmas y sumas de control antes de desempaquetar."

#. type: TP
#: dpkg-source.1:222
#, no-wrap
msgid "B<--require-valid-signature>"
msgstr "B<--require-valid-signature>"

#. type: Plain text
#: dpkg-source.1:230
msgid ""
"Refuse to unpack the source package if it doesn't contain an OpenPGP "
"signature that can be verified either with the user's I<trustedkeys.gpg> "
"keyring, one of the vendor-specific keyrings, or one of the official Debian "
"keyrings (I</usr/share/keyrings/debian-keyring.gpg> and I</usr/share/"
"keyrings/debian-maintainers.gpg>)."
msgstr ""
"Rechaza desempaquetar el paquete fuente si no contiene una firma OpenPGP, "
"que se verifica o bien con el anillo de claves de usuario I<trustedkeys."
"gpg>, uno de los anillos de claves específicos del proveedor, o uno de los "
"anillos de claves oficiales de Debian, I</usr/share/keyrings/debian-keyring."
"gpg> y I</usr/share/keyrings/debian-maintainers.gpg>. "

#. type: SH
#: dpkg-source.1:231
#, no-wrap
msgid "SOURCE PACKAGE FORMATS"
msgstr "FORMATOS DE PAQUETE FUENTE"

#. type: Plain text
#: dpkg-source.1:236
msgid ""
"If you don't know what source format to use, you should probably pick either "
"\"3.0 (quilt)\" or \"3.0 (native)\". See http://wiki.debian.org/Projects/"
"DebSrc3.0 for information on the deployment of those formats within Debian."
msgstr ""
"Si no sabe qué formato de fuentes usar, debería seleccionar o bien «3.0 "
"(quilt)» o «3.0 (native)». Consulte «http://wiki.debian.org/Projects/"
"DebSrc3.0» para más información acerca del desarrollo de estos formatos "
"dentro del proyecto Debian."

#. type: SS
#: dpkg-source.1:237
#, no-wrap
msgid "Format: 1.0"
msgstr "Formato: 1.0"

#. type: Plain text
#: dpkg-source.1:241
msgid ""
"A source package in this format consists either of a B<.orig.tar.gz> "
"associated to a B<.diff.gz> or a single B<.tar.gz> (in that case the package "
"is said to be I<native>)."
msgstr ""
"Un paquete fuente en este formato consiste bien de un B<.orig.tar.gz> "
"asociado a un B<.diff.gz>, o bien de un único B<.tar.gz> (en tal caso, el "
"paquete se considera I<native>)."

#. type: Plain text
#: dpkg-source.1:243 dpkg-source.1:411 dpkg-source.1:586 dpkg-source.1:625
msgid "B<Extracting>"
msgstr "B<Extracción>"

#. type: Plain text
#: dpkg-source.1:253
msgid ""
"Extracting a native package is a simple extraction of the single tarball in "
"the target directory. Extracting a non-native package is done by first "
"unpacking the B<.orig.tar.gz> and then applying the patch contained in the "
"B<.diff.gz> file. The timestamp of all patched files is reset to the "
"extraction time of the source package (this avoids timestamp skews leading "
"to problems when autogenerated files are patched). The diff can create new "
"files (the whole debian directory is created that way) but can't remove "
"files (empty files will be left over)."
msgstr ""
"Extraer un paquete nativo es simplemente una extracción de un único archivo "
"tar en el directorio destino. Extraer un paquete no nativo se realiza, "
"primero, desempaquetando el B<.orig.tar.gz> para después aplicar el parche "
"contenido en el fichero B<.diff.gz>. La marca temporal de todos los ficheros "
"parcheados se modifica en el momento de extraer el paquete fuente (esto "
"evita bifurcaciones de las marcas temporales, que conducen a problemas "
"cuando se parchean los ficheros generados automáticamente). El «diff» puede "
"crear nuevos ficheros (todo el directorio «debian/» se crea de esta manera) "
"pero no puede eliminar ficheros (los ficheros vacíos permanecerán en el "
"sistema)."

#. type: Plain text
#: dpkg-source.1:255 dpkg-source.1:439 dpkg-source.1:597 dpkg-source.1:630
msgid "B<Building>"
msgstr "B<Construcción>"

#. type: Plain text
#: dpkg-source.1:261
msgid ""
"Building a native package is just creating a single tarball with the source "
"directory. Building a non-native package involves extracting the original "
"tarball in a separate \".orig\" directory and regenerating the B<.diff.gz> "
"by comparing the source package I<directory> with the .orig directory."
msgstr ""
"Construir un paquete nativo consiste de la creación de un único archivo tar "
"con el directorio fuente. Construir un paquete no nativo incluye extraer el "
"archivo tar original en otro directorio «.orig», regenerando el B<.diff.gz> "
"por comparación del I<directorio> del paquete fuente con el directorio «."
"orig»."

#. type: TP
#: dpkg-source.1:262
#, no-wrap
msgid "B<Build options (with -b):>"
msgstr "B<Opciones de construcción (con -b):>"

#. type: Plain text
#: dpkg-source.1:275
msgid ""
"If a second non-option argument is supplied it should be the name of the "
"original source directory or tarfile or the empty string if the package is a "
"Debian-specific one and so has no Debianisation diffs. If no second argument "
"is supplied then B<dpkg-source> will look for the original source tarfile "
"I<package>B<_>I<upstream-version>B<.orig.tar.gz> or the original source "
"directory I<directory>B<.orig> depending on the B<-sX> arguments."
msgstr ""
"Si hay un segundo argumento, debería ser el nombre del directorio de "
"fuentes, del fichero tar original o la cadena vacía, si el paquete es "
"específico de Debian y por tanto carece de diffs «debianizantes». Si no se "
"proporciona un segundo argumento, B<dpkg-source> buscará el archivo tar "
"original I<paquete>B<_>I<versión-autor-original>B<.orig.tar.gz> o el "
"directorio de fuentes original I<directorio>B<.orig> en función de los "
"argumentos B<-sX>."

#. type: Plain text
#: dpkg-source.1:281
msgid ""
"B<-sa>, B<-sp>, B<-sk>, B<-su> and B<-sr> will not overwrite existing "
"tarfiles or directories. If this is desired then B<-sA>, B<-sP>, B<-sK>, B<-"
"sU> and B<-sR> should be used instead."
msgstr ""
"B<-sa>, B<-sp>, B<-sk>, B<-su> y B<-sr> no sobreescribirán directorios o "
"ficheros tar existentes. Si esto es lo que desea, debería utilizar B<-sA>, "
"B<-sP>, B<-sK>, B<-sU> y B<-sR> en su lugar."

#. type: TP
#: dpkg-source.1:281
#, no-wrap
msgid "B<-sk>"
msgstr "B<-sk>"

#. type: Plain text
#: dpkg-source.1:290
msgid ""
"Specifies to expect the original source as a tarfile, by default "
"I<package>B<_>I<upstream-version>B<.orig.tar.>I<extension>.  It will leave "
"this original source in place as a tarfile, or copy it to the current "
"directory if it isn't already there. The tarball will be unpacked into "
"I<directory>B<.orig> for the generation of the diff."
msgstr ""
"Define que se espera la fuente original como un archivo tar, por omisión "
"I<paquete>B<_>I<versión-autor-original>B<.orig.tar.gz>. La fuente original "
"se dejará en el sitio como un fichero tar, o se copiará al directorio actual "
"en caso de no estar ya ahí presente. El archivo tar se desempaquetará en "
"I<directorio>B<.orig> para la generación del «diff»."

#. type: TP
#: dpkg-source.1:290 dpkg-source.1:359
#, no-wrap
msgid "B<-sp>"
msgstr "B<-sp>"

#. type: Plain text
#: dpkg-source.1:295
msgid "Like B<-sk> but will remove the directory again afterwards."
msgstr ""
"Idéntica a B<-sk>, a diferencia de que eliminará el directorio al finalizar."

#. type: TP
#: dpkg-source.1:295 dpkg-source.1:365
#, no-wrap
msgid "B<-su>"
msgstr "B<-su>"

#. type: Plain text
#: dpkg-source.1:303
msgid ""
"Specifies that the original source is expected as a directory, by default "
"I<package>B<->I<upstream-version>B<.orig> and B<dpkg-source> will create a "
"new original source archive from it."
msgstr ""
"Define que se espera que la fuente original sea un directorio, por omisión "
"I<paquete>B<->I<versión-autor-original>B<.orig>, y que B<dpkg-source> creará "
"un fichero de fuentes nuevo a partir de él."

#. type: TP
#: dpkg-source.1:303
#, no-wrap
msgid "B<-sr>"
msgstr "B<-sr>"

#. type: Plain text
#: dpkg-source.1:308
msgid "Like B<-su> but will remove that directory after it has been used."
msgstr ""
"Idéntica a B<-su>, a diferencia de que eliminará el directorio después de su "
"uso."

#. type: TP
#: dpkg-source.1:308
#, no-wrap
msgid "B<-ss>"
msgstr "B<-ss>"

#. type: Plain text
#: dpkg-source.1:316
msgid ""
"Specifies that the original source is available both as a directory and as a "
"tarfile. dpkg-source will use the directory to create the diff, but the "
"tarfile to create the B<.dsc>.  This option must be used with care - if the "
"directory and tarfile do not match a bad source archive will be generated."
msgstr ""
"Define que la fuente original está disponible tanto como directorio como un  "
"fichero tar. dpkg-source usará el directorio para crear el diff , pero el "
"fichero tar para crear el B<.dsc>. Debe usar esta opción con precaución, ya "
"que si el directorio y el archivo tar no coinciden se generará un archivo "
"fuente inválido."

#. type: TP
#: dpkg-source.1:316 dpkg-source.1:368
#, no-wrap
msgid "B<-sn>"
msgstr "B<-sn>"

#. type: Plain text
#: dpkg-source.1:322
msgid ""
"Specifies to not look for any original source, and to not generate a diff.  "
"The second argument, if supplied, must be the empty string. This is used for "
"Debian-specific packages which do not have a separate upstream source and "
"therefore have no debianisation diffs."
msgstr ""
"Omite la búsqueda de la fuente original y no generará un «diff». El segundo "
"argumento, en caso de existir, debe ser la cadena vacía. Esta opción se usa "
"en paquetes específicos de Debian que no tienen fuentes del autor original "
"por separado, y por tanto carecen de ficheros «diff» «debianizantes»."

#. type: TP
#: dpkg-source.1:322
#, no-wrap
msgid "B<-sa> or B<-sA>"
msgstr "B<-sa> or B<-sA>"

#. type: Plain text
#: dpkg-source.1:348
msgid ""
"Specifies to look for the original source archive as a tarfile or as a "
"directory - the second argument, if any, may be either, or the empty string "
"(this is equivalent to using B<-sn>).  If a tarfile is found it will unpack "
"it to create the diff and remove it afterwards (this is equivalent to B<-"
"sp>); if a directory is found it will pack it to create the original source "
"and remove it afterwards (this is equivalent to B<-sr>); if neither is found "
"it will assume that the package has no debianisation diffs, only a "
"straightforward source archive (this is equivalent to B<-sn>).  If both are "
"found then B<dpkg-source> will ignore the directory, overwriting it, if B<-"
"sA> was specified (this is equivalent to B<-sP>)  or raise an error if B<-"
"sa> was specified.  B<-sA> is the default."
msgstr ""
"Defina una búsqueda de la fuente original como directorio o como archivo tar "
"- el segundo argumento, de existir, puede ser cualquiera de las dos cosas o "
"la cadena vacía (equivale a usar B<-sn>). Si se encuentra un fichero tar, se "
"desempaquetará para crear el «diff» y eliminará posteriormente (equivale a "
"B<-sp>); si se encuentra un directorio, se empaquetará para crear la fuente "
"original y se eliminará posteriormente (equivale a B<-sr>); si no se "
"encuentra ninguno de los dos, se asume que el paquete no tiene ficheros "
"«diff» «debianizantes», únicamente un fichero de fuentes (equivale a B<-"
"sn>). Si se encuentran ambos, B<dpkg-source> ignorará el directorio, "
"sobreescribiéndolo, si se especificó B<-sA> (equivale a B<-sP>), o generará "
"un error si se definió B<-sa>. B<-sA> es la opción predefinida."

#. type: TP
#: dpkg-source.1:348 dpkg-source.1:541
#, no-wrap
msgid "B<--abort-on-upstream-changes>"
msgstr "B<--abort-on-upstream-changes>"

#. type: Plain text
#: dpkg-source.1:354
msgid ""
"The process fails if the generated diff contains changes to files outside of "
"the debian sub-directory. This option is not allowed in B<debian/source/"
"options> but can be used in B<debian/source/local-options>."
msgstr ""
"El procesa dará fallo si el «diff» generado contiene cambios realizados a "
"ficheros fuera del subdirectorio «debian». Esta opción no se puede usar en "
"B<debian/source/options> pero se puede usar en B<debian/source/local-"
"options>."

#. type: TP
#: dpkg-source.1:355
#, no-wrap
msgid "B<Extract options (with -x):>"
msgstr "B<Opciones de extracción (con -x):>"

#. type: Plain text
#: dpkg-source.1:359
msgid "In all cases any existing original source tree will be removed."
msgstr "En todos los casos cualquier árbol de fuentes original será eliminado."

#. type: Plain text
#: dpkg-source.1:365
msgid ""
"Used when extracting then the original source (if any) will be left as a "
"tarfile. If it is not already located in the current directory or if an "
"existing but different file is there it will be copied there.  (B<This is "
"the default>)."
msgstr ""
"Si se usa en la extracción, la fuente original (de existir) se dejará como "
"un fichero tar. Si no se encuentra en el directorio actual o si existe un "
"fichero pero es diferente, se copiará ahí. (B<Ésta es la acción por "
"omisión>)."

#. type: Plain text
#: dpkg-source.1:368
msgid "Unpacks the original source tree."
msgstr "Desempaqueta el árbol de fuentes original."

#. type: Plain text
#: dpkg-source.1:373
msgid ""
"Ensures that the original source is neither copied to the current directory "
"nor unpacked. Any original source tree that was in the current directory is "
"still removed."
msgstr ""
"Asegura que la fuente original ni se copia al directorio actual ni se "
"desempaqueta. Cualquier árbol de fuentes original existente en el directorio "
"actual es eliminado."

#. type: Plain text
#: dpkg-source.1:378
msgid ""
"All the B<-s>I<X> options are mutually exclusive. If you specify more than "
"one only the last one will be used."
msgstr ""
"Todas las opciones B<-s>I<X> son mutuamente excluyentes. Si define más de "
"una, sólo se usará la última."

#. type: TP
#: dpkg-source.1:378 dpkg-source.1:555
#, no-wrap
msgid "B<--skip-debianization>"
msgstr "B<--skip-debianization>"

#. type: Plain text
#: dpkg-source.1:381
msgid "Skips application of the debian diff on top of the upstream sources."
msgstr ""
"Omite la aplicación del «diff» de debian con las fuentes del autor original."

#. type: SS
#: dpkg-source.1:382
#, no-wrap
msgid "Format: 2.0"
msgstr "Formato: 2.0"

#. type: Plain text
#: dpkg-source.1:386
msgid ""
"Also known as wig&pen. This format is not recommended for wide-spread usage, "
"the format \"3.0 (quilt)\" replaces it. Wig&pen was the first specification "
"of a new-generation source package format."
msgstr ""
"También conocido como wig&pen. No se recomienda este formato para un uso "
"masivo, ya que el formato «3.0 (quilt)» lo reemplaza. Wig&pen fue la primera "
"especificación de un formato de paquete fuente de nueva generación."

#. type: Plain text
#: dpkg-source.1:391
msgid ""
"The behaviour of this format is the same as the \"3.0 (quilt)\" format "
"except that it doesn't use an explicit list of patches. All files in "
"B<debian/patches/> matching the perl regular expression B<[\\ew-]+> must be "
"valid patches: they are applied at extraction time."
msgstr ""
"El comportamiento de este formato es idéntico al del formato «3.0 (quilt)», "
"a excepción de que no usa una lista explícita de parches. Todos los ficheros "
"en B<debian/patches/> que coinciden con la expresión regular de perl B<"
"[\\ew-]+> deben ser parches válidos: se aplican durante el proceso de "
"extracción."

#. type: Plain text
#: dpkg-source.1:394
msgid ""
"When building a new source package, any change to the upstream source is "
"stored in a patch named B<zz_debian-diff-auto>."
msgstr ""
"Al construir un nuevo paquete fuente, todo cambio en las fuentes original se "
"guardan en un parche llamado B<zz_debian-diff-auto>."

#. type: SS
#: dpkg-source.1:395
#, no-wrap
msgid "Format: 3.0 (native)"
msgstr "Formato: 3.0 (nativo)"

#. type: Plain text
#: dpkg-source.1:401
msgid ""
"This format is an extension of the native package format as defined in the "
"1.0 format. It supports all compression methods and will ignore by default "
"any VCS specific files and directories as well as many temporary files (see "
"default value associated to B<-I> option in the B<--help> output)."
msgstr ""
"Este formato es una extensión del formato de paquete nativo como se define "
"en el formato 1.0. Es compatible con todos los métodos de compresión, e "
"ignorará cualquier fichero o directorio específico a sistemas de control de "
"versiones, así como muchos ficheros temporales (consulte el valor "
"predefinido asociado a la opción B<-I> en la salida de B<--help>)."

#. type: SS
#: dpkg-source.1:402
#, no-wrap
msgid "Format: 3.0 (quilt)"
msgstr "Format: 3.0 (quilt)"

#. type: Plain text
#: dpkg-source.1:409
msgid ""
"A source package in this format contains at least an original tarball (B<."
"orig.tar.>I<ext> where I<ext> can be B<gz>, B<bz2>, B<lzma> and B<xz>) and a "
"debian tarball (B<.debian.tar.>I<ext>). It can also contain additional "
"original tarballs (B<.orig->I<component>B<.tar.>I<ext>).  I<component> can "
"only contain alphanumeric characters and dashes (\"-\")."
msgstr ""
"Un paquete fuente con este formato contiene al menos un archivo tar original "
"(B<.orig.tar.>I<ext>, siendo I<ext> B<gz>, B<bz2>, B<lzma> o B<xz>) y un "
"archivo tar de Debian (B<.debian.tar.>I<ext>).  También contiene archivos "
"tar originales adicionales (B<.orig->I<componente>B<.tar.>I<ext>). "
"I<componente> sólo puede contener caracteres alfanuméricos y guiones («-»)."

#. type: Plain text
#: dpkg-source.1:420
msgid ""
"The main original tarball is extracted first, then all additional original "
"tarballs are extracted in subdirectories named after the I<component> part "
"of their filename (any pre-existing directory is replaced). The debian "
"tarball is extracted on top of the source directory after prior removal of "
"any pre-existing B<debian> directory. Note that the debian tarball must "
"contain a B<debian> sub-directory but it can also contain binary files "
"outside of that directory (see B<--include-binaries> option)."
msgstr ""
"Primero se extrae el archivo tar original, y después se extraen todos los "
"archivos tar originales en subdirectorios nombrados a partir de la parte de "
"I<componente> de su nombre de fichero (todo directorio preexistente se "
"reemplazará). El archivo tar de Debian se extrae en el directorio raíz del "
"árbol después de la eliminación de cualquier directorio B<debian> "
"preexistente. Tenga en cuenta que el archivo tar de Debian debe contener un "
"subdirectorio B<debian>, pero también puede contener ficheros binarios "
"externos a ese directorio (consulte la opción B<--include-binaries>)."

#. type: Plain text
#: dpkg-source.1:432
msgid ""
"All patches listed in B<debian/patches/debian.series> or B<debian/patches/"
"series> are then applied.  If the former file is used and the latter one "
"doesn't exist (or is a symlink), then the latter is replaced with a symlink "
"to the former. This is meant to simplify usage of quilt to manage the set of "
"patches. Note however that while B<dpkg-source> parses correctly series "
"files with explicit options used for patch application (stored on each line "
"after the patch filename and one or more spaces), it does ignore those "
"options and always expect patches that can be applied with the B<-p1> option "
"of B<patch>. It will thus emit a warning when it encounters such options, "
"and the build is likely to fail."
msgstr ""
"En este momento se aplican todos los parches listados en B<debian/patches/"
"debian.series> o B<debian/patches/series>. Si el primer fichero se usa, y el "
"segundo no existe (o es un enlace simbólico), éste se reemplazará con un "
"enlace simbólico al primero. El objetivo de esto es simplificar el uso de "
"quilt al gestionar el conjunto de parches. No obstante, tenga en cuenta que "
"mientras que B<dpkg-source> analiza correctamente los ficheros en «series» "
"con opciones explícitas para la aplicación del parche (guardados en cada "
"línea después del nombre de fichero del parche y uno o más espacios), ignora "
"aquellas opciones que siempre esperan parches que se puedan aplicar con la "
"opción B<-p1> de B<patch>. De no ser así, mostrará un aviso en caso de "
"encontrar tales opciones, y cabe que la construcción falle."

#. type: Plain text
#: dpkg-source.1:434
msgid ""
"Similarly to quilt's default behaviour, the patches can remove files too."
msgstr ""
"De forma similar al comportamiento predefinido de quilt, los parches también "
"pueden eliminar ficheros."

# type: Plain text
#. type: Plain text
#: dpkg-source.1:437
msgid ""
"The file B<.pc/applied-patches> is created if some patches have been applied "
"during the extraction."
msgstr ""
"El fichero B<.pc/applied-patches> se crea en caso de aplicar parches durante "
"la extracción."

# type: Plain text
#. type: Plain text
#: dpkg-source.1:451
#, fuzzy
#| msgid ""
#| "All original tarballs found in the current directory are extracted in a "
#| "temporary directory by following the same logic as for the unpack, the "
#| "debian directory is copied over in the temporary directory, and all "
#| "patches except the automatic patch (B<debian-changes->I<version> or "
#| "B<debian-changes>, depending on B<--single-debian-patch>) are applied. "
#| "The temporary directory is compared to the source package directory and "
#| "the diff (if non-empty) is stored in the automatic patch.  If the "
#| "automatic patch is created/deleted, it's added/removed from the series "
#| "file and from the quilt metadata."
msgid ""
"All original tarballs found in the current directory are extracted in a "
"temporary directory by following the same logic as for the unpack, the "
"debian directory is copied over in the temporary directory, and all patches "
"except the automatic patch (B<debian-changes->I<version> or B<debian-"
"changes>, depending on B<--single-debian-patch>) are applied. The temporary "
"directory is compared to the source package directory. When the diff is non-"
"empty, the build fails unless B<--single-debian-patch> or B<--auto-commit> "
"has been used, in which case the diff is stored in the automatic patch.  If "
"the automatic patch is created/deleted, it's added/removed from the series "
"file and from the quilt metadata."
msgstr ""
"Todos los archivos tar original encontrados en el directorio actual se "
"extraen a un directorio temporal siguiendo la misma lógica para "
"desempaquetar, copiando el directorio «debian» al directorio temporal y por "
"último aplicando todos los parches, a excepción del parche automático "
"(B<debian-changes->I<version> o B<debian-changes>, dependiendo de B<--single-"
"debian-patch>). El directorio temporal se compara con el directorio de "
"fuentes del paquete, guardando el «diff» (si no está vacío) en el parche "
"automático. En caso de crear o añadir el parche automática, este se añade o "
"elimina del fichero «series» y de los metadatos de quilt."

# type: Plain text
#. type: Plain text
#: dpkg-source.1:459
msgid ""
"Any change on a binary file is not representable in a diff and will thus "
"lead to a failure unless the maintainer deliberately decided to include that "
"modified binary file in the debian tarball (by listing it in B<debian/source/"
"include-binaries>). The build will also fail if it finds binary files in the "
"debian sub-directory unless they have been whitelisted through B<debian/"
"source/include-binaries>."
msgstr ""
"Cualquier cambio en un fichero binario no se puede representar en un «diff», "
"conduciendo así a un fallo a menos que el desarrollador decida "
"explícitamente incluir el fichero binario modificado en el archivo tar "
"«debian» (mediante su listado en B<debian/source/include-binaries>). La "
"construcción también fallará si encuentra ficheros binarios en el "
"subdirectorio «debian», a menos que estén en el «whitelist» de B<debian/"
"source/include-binaries>."

#. type: Plain text
#: dpkg-source.1:462
msgid ""
"The updated debian directory and the list of modified binaries is then used "
"to generate the debian tarball."
msgstr ""
"Llegado a este punto se genera el archivo tar «debian» en base al directorio "
"«debian» modificado y la lista de binarios modificados."

#. type: Plain text
#: dpkg-source.1:468
msgid ""
"The automatically generated diff doesn't include changes on VCS specific "
"files as well as many temporary files (see default value associated to B<-i> "
"option in the B<--help> output). In particular, the B<.pc> directory used by "
"quilt is ignored during generation of the automatic patch."
msgstr ""
"El «diff» generado automáticamente no incluye cambios en ficheros "
"específicos al sistema de control de versiones, así como muchos otros "
"ficheros temporales (consulte el valor predefinido asociado a B<-i> en la "
"salida de B<--help>). En particular, se ignora el directorio B<.pc> empleado "
"por quilt durante la creación del parche automático."

# type: Plain text
#. type: Plain text
#: dpkg-source.1:477
#, fuzzy
#| msgid ""
#| "Note: B<dpkg-source> expects the source tree to have all patches listed "
#| "in the series file applied when you generate the source package.  This is "
#| "not the case when the source tree has been obtained by unpacking a source "
#| "package using the Format: 1.0 for instance. To mitigate the problem, "
#| "B<dpkg-source> will apply the patches by itself if it believes that they "
#| "have not yet been applied. To detect this situation, it uses the "
#| "following heuristic: it finds the list of supposedly unapplied patches "
#| "(they are listed in the B<series> file but not in B<.pc/applied-"
#| "patches>), and if the first patch in that set can be applied without "
#| "errors, it will apply them all.  The option B<--no-preparation> can be "
#| "used to disable this behaviour. This operation is usually done as part of "
#| "the B<--prepare-build> command."
msgid ""
"Note: B<dpkg-source> B<--before-build> (and B<-b>) will ensure that all "
"patches listed in the series file are applied so that a package build always "
"has all patches applied. It does this by finding unapplied patches (they are "
"listed in the B<series> file but not in B<.pc/applied-patches>), and if the "
"first patch in that set can be applied without errors, it will apply them "
"all. The option B<--no-preparation> can be used to disable this behavior."
msgstr ""
"Nota: B<dpkg-source> espera que el árbol de fuentes contenga todos los "
"parches listados en el fichero «series» aplicado al generar el paquete "
"fuente. Este no es el caso cuando el árbol de fuentes se obtuvo al "
"desempaquetar un paquete fuente usando, por ejemplo, «Format: 1.0». Para "
"mitigar el problema, B<dpkg-source> aplicará los parches directamente si "
"cree que estos aún no se han aplicado. Para detectar tal situación, usa la "
"siguiente heurística: si encuentra la lista de parches supuestamente no "
"aplicados (listados en el fichero B<series> pero no en B<.pc/applied-"
"patches>) y aplica el primer parche del conjunto sin problemas, procederá a "
"aplicar el resto. Puede usar la opción B<--no-preparation> para desactivar "
"este comportamiento. Habitualmente, esta operación se realiza con la orden "
"B<--prepare-build>."

#. type: Plain text
#: dpkg-source.1:480
#, fuzzy
#| msgid "B<debian/changelog>"
msgid "B<Recording changes>"
msgstr "B<debian/changelog>"

#. type: TP
#: dpkg-source.1:480
#, fuzzy, no-wrap
#| msgid "B<-c>, B<--control-path> I<package-name> [I<control-file>]"
msgid "B<--commit> [I<directory>] [I<patch-name>] [I<patch-file>]"
msgstr "B<-c>, B<--control-path> I<nombre-paquete> [I<fichero-control>]"

#. type: Plain text
#: dpkg-source.1:490
msgid ""
"Generates a patch corresponding to the local changes that are not managed by "
"the quilt patch system and integrates it in the patch system under the name "
"I<patch-name>. If the name is missing, it will be asked interactively. If "
"I<patch-file> is given, it is used as the patch corresponding to the local "
"changes to integrate. This is mainly useful after a build failure that pre-"
"generated this file. Once integrated, an editor is launched so that you can "
"edit the meta-information in the patch header."
msgstr ""

#. type: Plain text
#: dpkg-source.1:493 dpkg-source.1:567 dpkg-source.1:606
msgid "B<Build options>"
msgstr "B<Opciones de construcción>"

#. type: TP
#: dpkg-source.1:493
#, no-wrap
msgid "B<--allow-version-of-quilt-db=>I<version>"
msgstr "B<--allow-version-of-quilt-db=>I<versión>"

# type: Plain text
#. type: Plain text
#: dpkg-source.1:501
msgid ""
"Allow B<dpkg-source> to build the source package if the version of the quilt "
"metadata is the one specified, even if B<dpkg-source> doesn't know about it. "
"Effectively this says that the given version of the quilt metadata is "
"compatible with the version 2 that B<dpkg-source> currently supports. The "
"version of the quilt metadata is stored in B<.pc/.version>."
msgstr ""
"Permite que B<dpkg-source> construya el paquete fuente si la versión de los "
"metadatos de quilt es el especificado, incluso si B<dpkg-source> no lo "
"conoce. De hecho, esto dice que la versión dada de los metadatos de quilt es "
"compatible con la versión 2, con la que B<dpkg-source> tiene compatibilidad "
"actualmente. Esta versión de los metadatos de quilt se guardan en B<.pc/."
"version>."

#. type: TP
#: dpkg-source.1:501
#, no-wrap
msgid "B<--include-removal>"
msgstr "B<--include-removal>"

#. type: Plain text
#: dpkg-source.1:505
msgid ""
"Do not ignore removed files and include them in the automatically generated "
"patch."
msgstr ""
"No ignora los ficheros eliminados y los incluye en el parche generado "
"automáticamente."

#. type: TP
#: dpkg-source.1:505
#, no-wrap
msgid "B<--include-timestamp>"
msgstr "B<--include-timestamp>"

#. type: Plain text
#: dpkg-source.1:508
msgid "Include timestamp in the automatically generated patch."
msgstr "Incluye la marca temporal en el parche generado automáticamente."

#. type: TP
#: dpkg-source.1:508
#, no-wrap
msgid "B<--include-binaries>"
msgstr "B<--include-binaries>"

#. type: Plain text
#: dpkg-source.1:513
msgid ""
"Add all modified binaries in the debian tarball. Also add them to B<debian/"
"source/include-binaries>: they will be added by default in subsequent builds "
"and this option is thus no more needed."
msgstr ""
"Añade todos los ficheros binarios modificados al archivo tar «debian». "
"También los añade a B<debian/source/include-binaries>: se añadirán por "
"omisión en futuras construcciones, con lo que esta opción ya no será "
"necesaria."

#. type: TP
#: dpkg-source.1:513
#, no-wrap
msgid "B<--no-preparation>"
msgstr "B<--no-preparation>"

#. type: Plain text
#: dpkg-source.1:517
msgid ""
"Do not try to prepare the build tree by applying patches which are "
"apparently unapplied."
msgstr ""
"No intenta preparar el árbol de construcción aplicando parches que están "
"supuestamente sin aplicar."

#. type: TP
#: dpkg-source.1:517
#, no-wrap
msgid "B<--single-debian-patch>"
msgstr "B<--single-debian-patch>"

# type: Plain text
#. type: Plain text
#: dpkg-source.1:528
#, fuzzy
#| msgid ""
#| "Use B<debian/patches/debian-changes> instead of B<debian/patches/debian-"
#| "changes->I<version> for the name of the automatic patch generated during "
#| "build. This option is particularly useful when the package is maintained "
#| "in a VCS and a patch set can't reliably be generated. Instead the current "
#| "diff with upstream should be stored in a single patch. When using this "
#| "option, it is recommended to create a debian/source/patch-header file "
#| "explaining how the Debian changes can be best reviewed, for example in "
#| "the VCS that is used."
msgid ""
"Use B<debian/patches/debian-changes> instead of B<debian/patches/debian-"
"changes->I<version> for the name of the automatic patch generated during "
"build. This option is particularly useful when the package is maintained in "
"a VCS and a patch set can't reliably be generated. Instead the current diff "
"with upstream should be stored in a single patch. The option would be put in "
"B<debian/source/local-options> and would be accompanied by a B<debian/source/"
"local-patch-header> file explaining how the Debian changes can be best "
"reviewed, for example in the VCS that is used."
msgstr ""
"Usa B<debian/patches/debian-changes> en lugar de B<debian/patches/debian-"
"changes->I<version> para el nombre del parche generado automáticamente "
"durante la construcción. Esta opción es particularmente útil si el paquete "
"se guarda en un sistema de control de versiones y si no se puede generar un "
"conjunto de parches adecuados. Al usar esta opción, se recomienda crear un "
"fichero «debian/source/patch-header», detallando la mejor forma de revisar "
"los cambios de Debian, por ejemplo, el sistema de control de versiones en "
"uso."

#. type: TP
#: dpkg-source.1:528
#, no-wrap
msgid "B<--create-empty-orig>"
msgstr "B<--create-empty-orig>"

#. type: Plain text
#: dpkg-source.1:534
msgid ""
"Automatically create the main original tarball as empty if it's missing and "
"if there are supplementary original tarballs. This option is meant to be "
"used when the source package is just a bundle of multiple upstream software "
"and where there's no \"main\" software."
msgstr ""
"Crea automáticamente el archivo tar principal y original como vacío en caso "
"de no existir y si hay otros archivos tar originales adicionales. Esta "
"opción está diseñada para su uso cuando el paquete fuente es un conjunto de "
"varios programas de la fuente principal y cuando no hay programas "
"«principales»."

#. type: TP
#: dpkg-source.1:534
#, no-wrap
msgid "B<--unapply-patches>"
msgstr "B<--unapply-patches>"

#. type: Plain text
#: dpkg-source.1:541
#, fuzzy
#| msgid ""
#| "Unapply the patches in the B<--after-build> hook. This is mainly useful "
#| "when you build your package directly in a VCS that contains unpatched "
#| "upstream source and where you want to keep the tree unpatched even after "
#| "a package build. This option is usually put in B<debian/source/local-"
#| "options> (it's not allowed in B<debian/source/options> so that all "
#| "generated source packages have the same behaviour by default)."
msgid ""
"Unapply the patches in the B<--after-build> hook. You usually don't need "
"this option as dpkg-source will automatically unapply the patches if it did "
"apply them during B<--before-build>. This option is only allowed in B<debian/"
"source/local-options> so that all generated source packages have the same "
"behavior by default."
msgstr ""
"No aplica o elimina los cambios de los parches en el «hook» B<--after-"
"build>. Esto es útil principalmente cuando construye su paquete directamente "
"en un sistema de control de versiones que contiene la fuente original sin "
"parchear, y cuando quiere mantener el árbol sin parchear incluso después de "
"la construcción del paquete. Habitualmente, esta opción se introduce en "
"B<debian/source/local-options> (no se permite en B<debian/source/options> "
"para que todos los paquetes de fuente generados tengan el mismo "
"comportamiento por omisión)."

#. type: Plain text
#: dpkg-source.1:548
msgid ""
"The process fails if an automatic patch has been generated. This option can "
"be used to ensure that all changes were properly recorded in separate quilt "
"patches prior to the source package build. This option is not allowed in "
"B<debian/source/options> but can be used in B<debian/source/local-options>."
msgstr ""
"El proceso falla si se genera un parche automático. Esta opción se puede "
"usar para asegurar que todos los cambios se registren apropiadamente en "
"parches de quilt separados antes de la construcción del paquete fuente. Esta "
"opción no se permite en B<debian/source/options> pero se puede usar en "
"B<debian/source/local-options>."

#. type: TP
#: dpkg-source.1:548
#, fuzzy, no-wrap
#| msgid "B<--no-act>"
msgid "B<--auto-commit>"
msgstr "B<--no-act>"

#. type: Plain text
#: dpkg-source.1:552
msgid ""
"The process doesn't fail if an automatic patch has been generated, instead "
"it's immediately recorded in the quilt series."
msgstr ""

#. type: Plain text
#: dpkg-source.1:555
msgid "B<Extract options>"
msgstr "B<Opciones de extracción>"

#. type: Plain text
#: dpkg-source.1:558
msgid "Skips extraction of the debian tarball on top of the upstream sources."
msgstr ""
"Omite la extracción del archivo tar «debian» sobre las fuente del autor "
"original."

#. type: TP
#: dpkg-source.1:558
#, no-wrap
msgid "B<--skip-patches>"
msgstr "B<--skip-patches>"

#. type: Plain text
#: dpkg-source.1:561
msgid "Do not apply patches at the end of the extraction."
msgstr "No aplica los parches al finalizar la extracción."

#. type: SS
#: dpkg-source.1:562
#, no-wrap
msgid "Format: 3.0 (custom)"
msgstr "Formato: 3.0 (custom)"

#. type: Plain text
#: dpkg-source.1:565
#, fuzzy
#| msgid ""
#| "This format is particular. It doesn't represent a real source package "
#| "format but can be used to create source packages with arbitrary files."
msgid ""
"This format is special. It doesn't represent a real source package format "
"but can be used to create source packages with arbitrary files."
msgstr ""
"Este formato es especial. No representa ningún formato de paquete fuente "
"real, pero se puede usar para crear paquetes fuente con ficheros arbitrarios."

#. type: Plain text
#: dpkg-source.1:571
msgid ""
"All non-option arguments are taken as files to integrate in the generated "
"source package. They must exist and are preferably in the current directory. "
"At least one file must be given."
msgstr ""
"Todos los argumentos que no son opciones se toman como ficheros a integrar "
"en el paquete fuente generado. Deben existir, a ser posible en el directorio "
"actual. Debe introducir al menos un fichero."

#. type: TP
#: dpkg-source.1:571
#, no-wrap
msgid "B<--target-format=>I<value>"
msgstr "B<--target-format=>I<valor>"

#. type: Plain text
#: dpkg-source.1:576
msgid ""
"B<Required>. Defines the real format of the generated source package.  The "
"generated .dsc file will contain this value in its I<Format> field and not "
"\"3.0 (custom)\"."
msgstr ""
"B<Obligatorio>. Define el formato real del paquete fuente generado. El "
"fichero «.dsc» generado contendrá este valor en su campo I<Format> y no «3.0 "
"(custom)»."

#. type: SS
#: dpkg-source.1:577
#, no-wrap
msgid "Format: 3.0 (git)"
msgstr "Format: 3.0 (git)"

#. type: Plain text
#: dpkg-source.1:579
msgid "This format is experimental."
msgstr "Este formato es experimental."

#. type: Plain text
#: dpkg-source.1:584
msgid ""
"A source package in this format consists of a single bundle of a git "
"repository B<.git> to hold the source of a package.  There may also be a B<."
"gitshallow> file listing revisions for a shallow git clone."
msgstr ""
"Un paquete de fuente con este formato consiste de un sólo archivo con un "
"repositorio B<.git>, que guarda la fuente del paquete. Puede también existir "
"un fichero B<.gitshallow> que lista las revisiones de una clonación de git "
"superficial («shallow»)."

#. type: Plain text
#: dpkg-source.1:590
msgid ""
"The bundle is cloned as a git repository to the target directory.  If there "
"is a gitshallow file, it is installed as `.git/shallow` inside the cloned "
"git repository."
msgstr ""
"El archivo se clona como un repositorio git en el directorio destino. Si hay "
"un fichero «gitshallow», se instala como «.git/shallow» dentro del "
"repositorio git clonado."

#. type: Plain text
#: dpkg-source.1:595
msgid ""
"Note that by default the new repository will have the same branch checked "
"out that was checked out in the original source. (Typically \"master\", but "
"it could be anything.) Any other branches will be available under `remotes/"
"origin/`."
msgstr ""
"Tenga en cuenta que, por omisión, el nuevo repositorio tendrá un «checkout» "
"de la misma rama de la que se realizó el «checkout» de la fuente original. "
"(Habitualmente, «master», pero podría ser cualquier otra cosa.) Todas las "
"demás ramas estarán disponibles bajo «remotes/origin/»."

#. type: Plain text
#: dpkg-source.1:600 dpkg-source.1:633
msgid ""
"Before going any further, some checks are done to ensure that we don't have "
"any non-ignored uncommitted changes."
msgstr ""
"Antes de continuar, se realizan algunas revisiones para asegurar que no "
"queden cambios no ignorados a remitir al repositorio mediante «commit»."

#. type: Plain text
#: dpkg-source.1:604
msgid ""
"B<git-bundle>(1) is used to generate a bundle of the git repository.  By "
"default, all branches and tags in the repository are included in the bundle."
msgstr ""
"B<git-bundle>(1) se usa para generar un archivo a partir de un repositorio "
"git. Por omisión, se incluyen en el archivo todas las ramas y etiquetas en "
"el repositorio."

#. type: TP
#: dpkg-source.1:606
#, no-wrap
msgid "B<--git-ref=>I<ref>"
msgstr "B<--git-ref=>I<ref>"

#. type: Plain text
#: dpkg-source.1:616
msgid ""
"Allows specifying a git ref to include in the git bundle. Use disables the "
"default behavior of including all branches and tags. May be specified "
"multiple times. The I<ref> can be the name of a branch or tag to include. It "
"may also be any parameter that can be passed to B<git-rev-list>(1). For "
"example, to include only the master branch, use --git-ref=master. To include "
"all tags and branches, except for the private branch, use --git-ref=--all --"
"git-ref=^private"
msgstr ""
"Permite especificar una referencia («ref») de git a incluir en el archivo de "
"git. Su uso desactiva el comportamiento predefinido de incluir todas las "
"ramas y etiquetas, y se puede definir varias veces. I<ref> puede ser el "
"nombre de una rama o etiqueta a incluir. Por ejemplo, para incluir sólo la "
"rama «master», use «--git-ref=master». Para incluir todas las etiquetas y "
"ramas a excepción de la rama local («private»), use «--git-ref=--all --git-"
"ref=^private»."

#. type: TP
#: dpkg-source.1:616
#, no-wrap
msgid "B<--git-depth=>I<number>"
msgstr "B<--git-depth=>I<number>"

#. type: Plain text
#: dpkg-source.1:620
msgid ""
"Creates a shallow clone with a history truncated to the specified number of "
"revisions."
msgstr ""
"Crea un clon superficial («shalow») con la historia truncada en el número "
"definido de revisiones."

#. type: SS
#: dpkg-source.1:620
#, no-wrap
msgid "Format: 3.0 (bzr)"
msgstr "Format: 3.0 (bzr)"

#. type: Plain text
#: dpkg-source.1:623
msgid ""
"This format is experimental. It generates a single tarball containing the "
"bzr repository."
msgstr ""
"Este formato es experimental. Genera un único archivo tar que contiene el "
"repositorio bzr."

#. type: Plain text
#: dpkg-source.1:628
msgid ""
"The tarball is unpacked and then bzr is used to checkout the current branch."
msgstr ""
"El archivo tar se desempaqueta, usando después bzr para realizar un "
"«checkout» de la rama actual."

#. type: Plain text
#: dpkg-source.1:637
msgid ""
"Then the VCS specific part of the source directory is copied over to a "
"temporary directory. Before this temporary directory is packed in a tarball, "
"various cleanup are done to save space."
msgstr ""
"Entones, la parte del directorio de fuentes específico al sistema de control "
"de versiones se copia a un directorio temporal. Antes de empaquetar este "
"directorio temporal en una archivo tar se realizan varios procesos de "
"limpieza, para así ahorrar espacio."

#. type: SH
#: dpkg-source.1:637
#, no-wrap
msgid "WARNINGS AND ERRORS"
msgstr "AVISOS Y ERRORES"

#. type: SS
#: dpkg-source.1:638
#, no-wrap
msgid "no source format specified in debian/source/format"
msgstr "no se definió ningún formato de fuentes en «debian/source/format»"

#. type: Plain text
#: dpkg-source.1:644
msgid ""
"The file B<debian/source/format> should always exist and indicate the "
"desired source format. For backwards compatibility, format \"1.0\" is "
"assumed when the file doesn't exist but you should not rely on this: at some "
"point in the future dpkg-source will be modified to fail when that file "
"doesn't exist."
msgstr ""
"El fichero B<debian/source/format> siempre debería existir e indicar el "
"formato de fuentes deseado. Por razones de compatibilidad hacia atrás, se "
"supone el formato «1.0» cuando el fichero no existe, pero no debería "
"depender de esto. En algún punto en el futuro, se modificará dpkg para que "
"falle cuando no encuentre ese fichero."

#. type: Plain text
#: dpkg-source.1:650
msgid ""
"The rationale is that format \"1.0\" is no longer the recommended format, "
"you should usually pick one of the newer formats (\"3.0 (quilt)\", \"3.0 "
"(native)\") but B<dpkg-source> will not do this automatically for you.  If "
"you want to continue using the old format, you should be explicit about it "
"and put \"1.0\" in B<debian/source/format>."
msgstr ""
"El fundamente es que el formato «1.0» ya no es el formato recomendado, sino "
"que debería escoger uno de los formatos más recientes («3.0 (quilt)», «3.0 "
"(native)»). B<dpkg-source> no hará esto automáticamente. Si desea continuar "
"usando el formato antiguo, tendrá que ser explícito e insertar «1.0» en "
"B<debian/source/format>."

#. type: SS
#: dpkg-source.1:650
#, no-wrap
msgid "the diff modifies the following upstream files"
msgstr "el diff modifica los siguientes ficheros de la fuente original"

#. type: Plain text
#: dpkg-source.1:657
msgid ""
"When using source format \"1.0\" it is usually a bad idea to modify upstream "
"files directly as the changes end up hidden and mostly undocumented in the ."
"diff.gz file. Instead you should store your changes as patches in the debian "
"directory and apply them at build-time. To avoid this complexity you can "
"also use the format \"3.0 (quilt)\" that offers this natively."
msgstr ""
"Generalmente, es una mala idea modificar ficheros de la fuente original si "
"está usando el formato de fuentes «1.0» ya que los cambios terminarán "
"ocultos y generalmente sin documentar dentro del fichero «diff.gz». Debería "
"guardar los cambios como parches en el directorio «debian» y aplicarlos en "
"tiempo de construcción. Para evitar esta complejidad también puede usar el "
"formato «3.0 (quilt)», que ofrece esto de forma nativa."

#. type: SS
#: dpkg-source.1:657
#, no-wrap
msgid "cannot represent change to I<file>"
msgstr "no se pueden representar los cambios al I<fichero>"

#. type: Plain text
#: dpkg-source.1:663
msgid ""
"Changes to upstream sources are usually stored with patch files, but not all "
"changes can be represented with patches: they can only alter the content of "
"plain text files. If you try replacing a file with something of a different "
"type (for example replacing a plain file with a symlink or a directory), you "
"will get this error message."
msgstr ""
"Los cambios a las fuentes originales se suelen guardar el ficheros de "
"parche, pero no todos los cambios se pueden representar con parches: sólo "
"pueden alterar el contenido de ficheros de texto simple. Si intenta "
"reemplazar un fichero con algo de otro tipo (por ejemplo, un fichero simple "
"con un enlace simbólico o directorio), obtendrá el siguiente mensaje de "
"error."

#. type: SS
#: dpkg-source.1:663
#, no-wrap
msgid "newly created empty file I<file> will not be represented in diff"
msgstr "el fichero vacío I<fichero> recientemente creado no estará representado en el «diff»"

#. type: Plain text
#: dpkg-source.1:666
msgid ""
"Empty files can't be created with patch files. Thus this change is not "
"recorded in the source package and you are warned about it."
msgstr ""
"No se pueden crear ficheros vacíos con ficheros de parche. Por ello, este "
"cambio no se registra en el paquete fuente, está usted avisado."

#. type: SS
#: dpkg-source.1:666
#, no-wrap
msgid "executable mode I<perms> of I<file> will not be represented in diff"
msgstr "los I<permisos> de modo de ejecución del I<fichero> no se representarán en el «diff»"

#. type: SS
#: dpkg-source.1:667
#, no-wrap
msgid "special mode I<perms> of I<file> will not be represented in diff"
msgstr "los I<permisos> de modo especial del I<fichero> no se representarán en el «diff»"

#. type: Plain text
#: dpkg-source.1:671
msgid ""
"Patch files do not record permissions of files and thus modified permissions "
"are not stored in the source package. This warning reminds you of that fact."
msgstr ""
"Los ficheros de parche no registran permisos de los ficheros, y por ello los "
"permisos modificados no se guardan en el paquete fuente. Este aviso le sirve "
"de recordatorio."

#. type: SH
#: dpkg-source.1:671
#, no-wrap
msgid "FILE FORMATS"
msgstr "FORMATOS DE FICHERO"

#. type: SS
#: dpkg-source.1:672
#, no-wrap
msgid "debian/source/format"
msgstr "debian/source/format"

#. type: Plain text
#: dpkg-source.1:676
msgid ""
"This file contains on a single line the format that should be used to build "
"the source package (possible formats are described above). No leading or "
"trailing spaces are allowed."
msgstr ""
"Este fichero contiene en una única línea el formato que se debería usar para "
"construir el paquete fuente (los formatos posibles se describen en un punto "
"anterior). No se permiten espacios vacíos al principio o final de la línea."

#. type: SS
#: dpkg-source.1:676
#, no-wrap
msgid "debian/source/include-binaries"
msgstr "debian/source/include-binaries"

#. type: Plain text
#: dpkg-source.1:680
msgid ""
"This file contains a list of binary files (one per line) that should be "
"included in the debian tarball. Leading and trailing spaces are stripped.  "
"Lines starting with \"#\" are comments and are skipped. Empty lines are "
"ignored."
msgstr ""
"Este fichero contiene una lista de ficheros binarios (uno por línea) que se "
"deberían incluir en el archivo tar «debian». Se eliminan los espacios vacíos "
"al principio y final de la línea. Las líneas que comienzan con «#» son "
"comentarios, y por tanto, se omiten. Se ignorarán líneas vacías."

#. type: SS
#: dpkg-source.1:680
#, no-wrap
msgid "debian/source/options"
msgstr "debian/source/options"

#. type: Plain text
#: dpkg-source.1:686
msgid ""
"This file contains a list of long options that should be automatically "
"prepended to the set of command line options of a B<dpkg-source -b> or "
"B<dpkg-source --print-format> call. Options like B<--compression> and B<--"
"compression-level> are well suited for this file."
msgstr ""
"Este fichero contiene una lista de opciones largas que se deberían anexar al "
"conjunto de las opciones de línea de órdenes de una invocación a B<dpkg-"
"source -b> o B<dpkg-source --print-format>. Las opciones como B<--"
"compression> y B<--compression-level> son adecuadas con este fichero."

#. type: Plain text
#: dpkg-source.1:692
msgid ""
"Each option should be put on a separate line. Empty lines and lines starting "
"with \"#\" are ignored. The leading \"--\" should be stripped and short "
"options are not allowed. Optional spaces are allowed around the \"=\" symbol "
"and optional quotes are allowed around the value.  Here's an example of such "
"a file:"
msgstr ""
"Cada opción debería aparecer en una línea separada. Se ignorarán las líneas "
"vacías, y aquellas que comienzan con «#». Los guiones «--» al principio de "
"la opción se deberían eliminar, y no se permiten opciones cortas. Se "
"permiten espacios adicionales en torno al símbolo «=», así como comillas "
"dobles en torno al valor. Aquí tiene un ejemplo de este fichero:"

# type: Plain text
#. type: Plain text
#: dpkg-source.1:700
#, fuzzy, no-wrap
#| msgid ""
#| "  # let dpkg-source create a debian.tar.bz2 with maximal compression\n"
#| "  compression = \"bzip2\"\n"
#| "  compression-level = 9\n"
#| "  # use debian/patches/debian-changes as automatic patch\n"
#| "  single-debian-patch\n"
msgid ""
"  # let dpkg-source create a debian.tar.bz2 with maximal compression\n"
"  compression = \"bzip2\"\n"
"  compression-level = 9\n"
"  # use debian/patches/debian-changes as automatic patch\n"
"  single-debian-patch\n"
"  # ignore changes on config.{sub,guess}\n"
"  extend-diff-ignore = \"(^|/)(config.sub|config.guess)$\"\n"
msgstr ""
"  # permite a dpkg-source crear un debian.tar.bz2 con la máxima compresión\n"
"  compression = \"bzip2\"\n"
"  compression-level = 9\n"
"  # usa debian/patches/debian-changes como parche automático\n"
"  single-debian-patch\n"

#. type: Plain text
#: dpkg-source.1:703
msgid ""
"Note: B<format> options are not accepted in this file, you should use "
"B<debian/source/format> instead."
msgstr ""
"Nota: no se permiten en este fichero las opciones de B<formato>, y debería "
"usar B<debian/source/format> en su lugar."

#. type: SS
#: dpkg-source.1:703
#, no-wrap
msgid "debian/source/local-options"
msgstr "debian/source/local-options"

#. type: Plain text
#: dpkg-source.1:708
msgid ""
"Exactly like B<debian/source/options> except that the file is not included "
"in the generated source package. It can be useful to store a preference tied "
"to the maintainer or to the VCS repository where the source package is "
"maintained."
msgstr ""
"Idéntico a B<debian/source/options>, a excepción de que el fichero no se "
"incluye en el paquete fuente generado. Puede ser útil para guardar una "
"preferencia ligada al mantenedor a al repositorio del sistema de control de "
"versiones dónde el paquete es mantenido."

#. type: SS
#: dpkg-source.1:708
#, fuzzy, no-wrap
#| msgid "debian/source/patch-header"
msgid "debian/source/local-patch-header"
msgstr "debian/source/patch-header"

#. type: SS
#: dpkg-source.1:709
#, no-wrap
msgid "debian/source/patch-header"
msgstr "debian/source/patch-header"

# type: Plain text
#. type: Plain text
#: dpkg-source.1:713
#, fuzzy
#| msgid ""
#| "Free form text that is put on top of the automatic patch generated in "
#| "formats \"2.0\" or \"3.0 (quilt)\"."
msgid ""
"Free form text that is put on top of the automatic patch generated in "
"formats \"2.0\" or \"3.0 (quilt)\". B<local-patch-header> is not included in "
"the generated source package while B<patch-header> is."
msgstr ""
"Texto con formato libre que se inserta al inicio del parche automático con "
"los formatos «2.0» o «3.0 quilt)»."

#. type: SS
#: dpkg-source.1:713
#, no-wrap
msgid "debian/patches/series"
msgstr "debian/patches/series"

#. type: Plain text
#: dpkg-source.1:722
msgid ""
"This file lists all patches that have to be applied (in the given order)  on "
"top of the upstream source package. Leading and trailing spaces are "
"stripped. Lines starting with \"#\" are comments and are skipped. Empty "
"lines are ignored. Remaining lines start with a patch filename (relative to "
"the B<debian/patches/> directory) up to the first space character or the end "
"of line. Optional quilt options can follow up to the end of line or the "
"first \"#\" preceded by one or more spaces (which marks the start of a "
"comment up to the end of line)."
msgstr ""
"Este fichero lista todos los parches que se deben aplicar (en el orden dado) "
"al paquete fuente del autor original. Se eliminarán los espacios vacíos al "
"principio y final de la línea. Las líneas que comienzan con «#» son "
"comentarios, y se omiten. Las líneas restantes empiezan con un nombre de "
"fichero de un parche (relativo al directorio B<debian/patches/>) hasta el "
"primer carácter de espacio, o el final de la línea. Opcionalmente, puede "
"insetar a continuación opciones de quilt hasta el final de línea, o el "
"primer «#» precedido de uno o más espacios (que indican el inicio de un "
"comentario hasta el final de la línea)."

#. type: Plain text
#: dpkg-source.1:729
msgid "B<dpkg-deb>(1), B<dpkg>(1), B<dselect>(1)."
msgstr "B<dpkg-deb>(1), B<dpkg>(1), B<dselect>(1)."

#. type: Plain text
#: dpkg-source.1:736
#, fuzzy
#| msgid "Copyright \\(co 2008-2010 Rapha\\[:e]l Hertzog"
msgid "Copyright \\(co 2008-2011 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2008-2010 Rapha\\[:e]l Hertzog"

#. type: TH
#: dpkg-split.1:2
#, no-wrap
msgid "dpkg-split"
msgstr "dpkg-split"

#. type: Plain text
#: dpkg-split.1:5
msgid "dpkg-split - Debian package archive split/join tool"
msgstr "dpkg-split - Herramienta para separar y unir paquetes Debian"

#. type: Plain text
#: dpkg-split.1:9
#, fuzzy
#| msgid "B<dpkg-split> [I<options>] I<command>"
msgid "B<dpkg-split> [I<option>...] I<command>"
msgstr "B<dpkg-split> [I<opciones>] I<orden>"

#. type: Plain text
#: dpkg-split.1:15
msgid ""
"B<dpkg-split> splits Debian binary package files into smaller parts and "
"reassembles them again, to support the storage of large package files on "
"small media such as floppy disks."
msgstr ""
"B<dpkg-split> separa un paquete binario de Debian en varias partes más "
"pequeñas para luego volverlas a unir, posibilitando almacenar paquetes en "
"dispositivos de poca capacidad, como disquetes."

#. type: Plain text
#: dpkg-split.1:19
msgid ""
"It can be operated manually using the B<--split>, B<--join> and B<--info> "
"options."
msgstr ""
"Se puede usar manualmente usando las opciones B<--split>, B<--join> y B<--"
"info>."

#. type: Plain text
#: dpkg-split.1:27
msgid ""
"It also has an automatic mode, invoked using the B<--auto> option, where it "
"maintains a queue of parts seen but not yet reassembled and reassembles a "
"package file when it has seen all of its parts. The B<--listq> and B<--"
"discard> options allow the management of the queue."
msgstr ""
"También ofrece un modo automático mediante la opción B<--auto>, que crea una "
"cola con las partes que ha analizado pero aún separadas para después crear "
"el paquete tras analizar todas las partes. Las opciones B<--listq> y B<--"
"discard> permiten administrar la cola."

#. type: Plain text
#: dpkg-split.1:30
msgid ""
"All splitting, joining and queueing operations produce informative messages "
"on standard output; these may safely be ignored."
msgstr ""
"Los procesos de separar, unir y posicionado en cola producen mensajes "
"informativos por la salida estándar, que se pueden ignorar sin ningún riesgo."

#. type: TP
#: dpkg-split.1:32
#, no-wrap
msgid "B<-s>, B<--split> I<complete-archive> [I<prefix>]"
msgstr "B<-s>, B<--split> I<paquete-completo> [I<prefix>]"

#. type: Plain text
#: dpkg-split.1:35
msgid "Splits a single Debian binary package into several parts."
msgstr "Divide un único paquete binario de Debian en varias partes."

#. type: Plain text
#: dpkg-split.1:43
msgid ""
"The parts are named I<prefix>B<.>I<N>B<of>I<M>B<.deb> where I<N> is the part "
"number, starting at 1, and I<M> is the total number of parts (both in "
"decimal)."
msgstr ""
"Las partes reciben el nombre I<prefijo>B<.>I<N>B<of>I<M>B<.deb>, siendo I<N> "
"el número de la parte, comenzando por 1, y I<M> el número total de partes "
"(ambos en decimal)."

#. type: Plain text
#: dpkg-split.1:51
msgid ""
"If no I<prefix> is supplied then the I<complete-archive> filename is taken, "
"including directory, with any trailing B<.deb> removed."
msgstr ""
"Si no se proporciona ningún I<prefijo>, se toma el nombre del I<fichero-"
"completo>, incluyendo el directorio, y eliminando cualquier terminación B<."
"deb>."

#. type: TP
#: dpkg-split.1:51
#, no-wrap
msgid "B<-j>, B<--join> I<part>..."
msgstr "B<-j>, B<--join> I<parte>..."

#. type: Plain text
#: dpkg-split.1:55
msgid ""
"Joins the parts of a package file together, reassembling the original file "
"as it was before it was split."
msgstr ""
"Une las partes de un paquete, dejando el paquete tal y como era "
"originalmente."

#. type: Plain text
#: dpkg-split.1:59
msgid ""
"The part files given as arguments must be all the parts of exactly the same "
"original binary file. Each part must occur exactly once in the argument "
"list, though the parts to not need to be listed in order."
msgstr ""
"Las partes que se proporcionen como argumento deben ser todas parte del "
"mismo fichero original. Cada parte se debe proporcionar una sola vez, aunque "
"no necesariamente en orden."

#. type: Plain text
#: dpkg-split.1:64
msgid ""
"The parts must of course all have been generated with the same part size "
"specified at split time, which means that they must usually have been "
"generated by the same invocation of B<dpkg-split --split>."
msgstr ""
"Todas las partes se deben generar con el mismo tamaño especificado en el "
"momento de la división, lo que significa que todas se deben generar con la "
"misma invocación de B<dpkg-split --split>."

#. type: Plain text
#: dpkg-split.1:66
msgid "The parts' filenames are not significant for the reassembly process."
msgstr ""
"El nombre de las partes carece de importancia para el proceso de unión."

#. type: Plain text
#: dpkg-split.1:69
#, fuzzy
#| msgid ""
#| "By default the output file is called I<package>B<->I<version>B<.deb>."
msgid ""
"By default the output file is called I<package>B<_>I<version>B<_>I<arch>B<."
"deb>."
msgstr ""
"Por omisión el fichero resultante se llama I<paquete>B<->I<versión>B<.deb>."

#. type: TP
#: dpkg-split.1:70
#, no-wrap
msgid "B<-I>, B<--info> I<part>..."
msgstr "B<-I>, B<--info> I<parte>..."

#. type: Plain text
#: dpkg-split.1:75
msgid ""
"Prints information, in a human-readable format, about the part file(s)  "
"specified. Arguments which are not binary package parts produce a message "
"saying so instead (but still on standard output)."
msgstr ""
"Muestra información, en un formato legible por el usuario, acerca de la "
"parte o partes del fichero especificadas. Los argumentos que no son parte de "
"un paquete binario producen un mensaje avisando del problema (por la salida "
"estándar)."

#. type: TP
#: dpkg-split.1:75
#, no-wrap
msgid "B<-a>, B<--auto -o> I<complete-output part>"
msgstr "B<-a>, B<--auto -o> I<salida-completa parte>"

#. type: Plain text
#: dpkg-split.1:78
msgid "Automatically queue parts and reassemble a package if possible."
msgstr ""
"Posiciona las partes en la cola automáticamente, y une nuevamente el "
"paquete, si es posible."

#. type: Plain text
#: dpkg-split.1:83
msgid ""
"The I<part> specified is examined, and compared with other parts of the same "
"package (if any) in the queue of packages file parts."
msgstr ""
"La I<parte> especificada se examina y compara junto con las otras partes del "
"mismo paquete (si hay alguna) en la cola de las partes de ficheros de "
"paquete."

#. type: Plain text
#: dpkg-split.1:90
msgid ""
"If all parts of the package file of which I<part> is a part are available "
"then the package is reassembled and written to I<complete-output> (which "
"should not usually already exist, though this is not an error)."
msgstr ""
"Si están disponibles todas las partes del fichero al que pertenece la "
"I<parte>, se une paquete y guarda en la I<salida-completa> (que normalmente "
"no existe, aunque esto no es un error)."

#. type: Plain text
#: dpkg-split.1:96
msgid ""
"If not then the I<part> is copied into the queue and I<complete-output> is "
"not created."
msgstr ""
"De no se así, la I<parte> se copia en la cola pero no se crea la I<salida-"
"completa>."

#. type: Plain text
#: dpkg-split.1:103
#, fuzzy
#| msgid ""
#| "If I<part> is not a split binary package part then B<dpkg-split> will "
#| "exit with status 1; if some other trouble occurs then it will exit with "
#| "status 2."
msgid ""
"If I<part> is not a split binary package part then B<dpkg-split> will exit "
"with status B<1>; if some other trouble occurs then it will exit with status "
"B<2>."
msgstr ""
"Si la I<parte> no es una parte del paquete binario, B<dpkg-split> terminará "
"con un estado de salida igual a 1, si ocurre algún otro tipo de error el "
"estado de salida será 2."

#. type: Plain text
#: dpkg-split.1:110
msgid ""
"The B<--output> or B<-o> option must be supplied when using B<--auto>.  (If "
"this were not mandatory the calling program would not know what output file "
"to expect.)"
msgstr ""
"Debe proporcionar la opción B<--output> o B<-o> cuando use B<--auto>. (Si "
"este argumento no fuese obligatorio el programa que ejecute B<dpkg-split> no "
"sabría que fichero esperar)."

#. type: TP
#: dpkg-split.1:110
#, no-wrap
msgid "B<-l>, B<--listq>"
msgstr "B<-l>, B<--listq>"

#. type: Plain text
#: dpkg-split.1:113
msgid "Lists the contents of the queue of packages to be reassembled."
msgstr "Lista los contenidos de la cola de paquetes cuyas partes unir."

#. type: Plain text
#: dpkg-split.1:117
msgid ""
"For each package file of which parts are in the queue the output gives the "
"name of the package, the parts in the queue, and the total number of bytes "
"stored in the queue."
msgstr ""
"Por cada fichero de un paquete que contenga partes en la cola se muestra el "
"nombre del paquete, las partes en la cola y el número total de bytes "
"guardados en ésta."

#. type: TP
#: dpkg-split.1:117
#, no-wrap
msgid "B<-d>, B<--discard> [I<package>...]"
msgstr "B<-d>, B<--discard> [I<paquete>...]"

#. type: Plain text
#: dpkg-split.1:121
msgid ""
"This discards parts from the queue of those waiting for the remaining parts "
"of their packages."
msgstr ""
"Descarta partes de la cola de aquéllas que esperan las partes restantes del "
"paquete para su unión con otras."

#. type: Plain text
#: dpkg-split.1:126
msgid ""
"If no I<package> is specified then the queue is cleared completely; if any "
"are specified then only parts of the relevant package(s) are deleted."
msgstr ""
"Si no se especifica ningún I<paquete> se limpia la cola por completo, si se "
"especifica alguno sólo se eliminan las partes de los paquetes relevantes."

#. type: TP
#: dpkg-split.1:134
#, no-wrap
msgid "B<--depotdir>I< directory>"
msgstr "B<--depotdir>I< directorio>"

#. type: Plain text
#: dpkg-split.1:139
msgid ""
"Specifies an alternative directory for the queue of parts awaiting automatic "
"reassembly. The default is B</var/lib/dpkg>."
msgstr ""
"Especifica un directorio alternativo para las partes que se encuentran en la "
"cola esperando para ser unidas. Por omisión es B</var/lib/dpkg>."

#. type: TP
#: dpkg-split.1:139
#, no-wrap
msgid "B<-S>, B<--partsize> I<kibibytes>"
msgstr "B<-S>, B<--partsize> I<kibibytes>"

#. type: Plain text
#: dpkg-split.1:143
msgid ""
"Specifies the maximum part size when splitting, in kibibytes (1024 bytes). "
"The default is 450 KiB."
msgstr ""
"Especifica el tamaño máximo de cada parte en kilobytes (1024 bytes). Por "
"omisión es 450Kb."

#. type: TP
#: dpkg-split.1:143
#, no-wrap
msgid "B<-o>, B<--output> I<complete-output>"
msgstr "B<-o>, B<--output> I<complete-output>"

#. type: Plain text
#: dpkg-split.1:146
msgid "Specifies the output file name for a reassembly."
msgstr "Especifica el nombre del fichero generado por la unión de las partes."

#. type: Plain text
#: dpkg-split.1:151
msgid ""
"This overrides the default for a manual reassembly (B<--join>)  and is "
"mandatory for an automatic queue-or-reassemble (B<--auto>)."
msgstr ""
"Ésto sustituye al nombre por omisión en modo manual (B<--join>),  y es "
"obligatorio con el modo automático (B<--auto>)."

#. type: TP
#: dpkg-split.1:151
#, no-wrap
msgid "B<-Q>, B<--npquiet>"
msgstr "B<-Q>, B<--npquiet>"

#. type: Plain text
#: dpkg-split.1:162
msgid ""
"When doing automatic queue-or-reassembly B<dpkg-split> usually prints a "
"message if it is given a I<part> that is not a binary package part. This "
"option suppresses this message, to allow programs such as B<dpkg> to cope "
"with both split and unsplit packages without producing spurious messages."
msgstr ""
"Cuando B<dpkg-split> está en modo automático, normalmente muestra mensajes "
"si se le pasa una I<parte> que no es parte del paquete binario. Esta opción "
"suprime estos mensajes, permitiendo que programas como B<dpkg> puedan "
"separar y unir paquetes sin producir mensajes poco informativos."

#. type: TP
#: dpkg-split.1:162
#, no-wrap
msgid "B<--msdos>"
msgstr "B<--msdos>"

#. type: Plain text
#: dpkg-split.1:167
msgid ""
"Forces the output filenames generated by B<--split> to be msdos-compatible."
msgstr ""
"Fuerza que los nombres de los ficheros generados como salida de B<--split> "
"sean compatibles con msdos."

#. type: Plain text
#: dpkg-split.1:173
msgid ""
"This mangles the prefix - either the default derived from the input filename "
"or the one supplied as an argument: alphanumerics are lowercased, plus signs "
"are replaced by B<x>'s and all other characters are discarded."
msgstr ""
"Esta opción modifica el prefijo (tanto el prefijo por omisión como el "
"proporcionado por un argumento): los caracteres alfanuméricos se pasan a "
"minúsculas, los signos de suma «+» se reemplazan con B<x> y se descartan el "
"resto de caracteres."

#. type: Plain text
#: dpkg-split.1:178
msgid ""
"The result is then truncated as much as is necessary, and filenames of the "
"form I<prefixN>B<of>I<M>B<.deb> are generated."
msgstr ""
"El resultado restante se trunca hasta donde sea necesario de forma que se "
"generen ficheros con la forma I<prefijoN>B<of>I<M>B<.deb.>"

#. type: Plain text
#: dpkg-split.1:186
#, fuzzy
#| msgid ""
#| "An exit status of 0 indicates that the requested split, merge, or other "
#| "command succeeded.  B<--info> commands count as successful even if the "
#| "files are not binary package parts."
msgid ""
"The requested split, merge, or other command succeeded.  B<--info> commands "
"count as successful even if the files are not binary package parts."
msgstr ""
"Un estado de salida 0 indica que la operación requerida se ha realizado con "
"éxito. Las órdenes B<--info> se dan cómo satisfactorias incluso si los "
"ficheros no son parte de ningún paquete binario."

#. type: Plain text
#: dpkg-split.1:193
#, fuzzy
#| msgid ""
#| "An exit status of 1 occurs only with B<--auto> and indicates that the "
#| "I<part> file was not a binary package part."
msgid ""
"Only occurs with B<--auto> and indicates that the I<part> file was not a "
"binary package part."
msgstr ""
"Se devuelve un estado de salida 1 sólo al usar la opción B<--auto>, e indica "
"que la I<parte> no era parte de un paquete binario."

#. type: TP
#: dpkg-split.1:193 start-stop-daemon.8:275 update-alternatives.8:378
#, no-wrap
msgid "B<2>"
msgstr ""

#. type: Plain text
#: dpkg-split.1:198
#, fuzzy
#| msgid ""
#| "An exit status of 2 indicates some kind of trouble, such as a system call "
#| "failure, a file that looked like a package part file but was corrupted, a "
#| "usage error or some other problem."
msgid ""
"Some kind of trouble happened, such as a system call failure, a file that "
"looked like a package part file but was corrupted, a usage error or some "
"other problem."
msgstr ""
"Se devuelve un estado de salida 2 cuando ocurre algún tipo de problema, como "
"una llamada al sistema fallida, un fichero que parecía parte de un paquete "
"pero que estaba dañado, un uso incorrecto del programa o algún otro problema."

#. type: Plain text
#: dpkg-split.1:202
msgid ""
"Full details of the packages in the queue are impossible to get without "
"digging into the queue directory yourself."
msgstr ""
"Es imposible obtener todos los detalles de los paquetes que están en la cola "
"sin investigar directamente la cola."

#. type: Plain text
#: dpkg-split.1:205
msgid ""
"There is no easy way to test whether a file that may be a binary package "
"part is one."
msgstr ""
"No existe una manera sencilla de comprobar si el fichero que puede ser parte "
"de un paquete binario es realmente uno."

#. type: TP
#: dpkg-split.1:207
#, no-wrap
msgid "I</var/lib/dpkg/parts>"
msgstr "I</var/lib/dpkg/parts>"

#. type: Plain text
#: dpkg-split.1:211
msgid ""
"The default queue directory for part files awaiting automatic reassembly."
msgstr ""
"El directorio por omisión donde las partes esperan para la unión automática."

#. type: Plain text
#: dpkg-split.1:216
msgid ""
"The filenames used in this directory are in a format internal to B<dpkg-"
"split> and are unlikely to be useful to other programs, and in any case the "
"filename format should not be relied upon."
msgstr ""
"Los nombre de los ficheros usados en este directorio se encuentran en un "
"formato interno de B<dpkg-split>, y es improbable que sean útiles para otros "
"programas. En cualquier caso, no se debería depender del formato del nombre "
"del fichero."

#. type: Plain text
#: dpkg-split.1:222
msgid "B<deb>(5), B<deb-control>(5), B<dpkg-deb>(1), B<dpkg>(1)."
msgstr "B<deb>(5), B<deb-control>(5), B<dpkg-deb>(1), B<dpkg>(1)."

#. type: TH
#: dpkg-statoverride.8:1
#, no-wrap
msgid "dpkg-statoverride"
msgstr "dpkg-statoverride"

#. type: TH
#: dpkg-statoverride.8:1
#, no-wrap
msgid "Debian project"
msgstr "Proyecto Debian"

#. type: Plain text
#: dpkg-statoverride.8:4
msgid "dpkg-statoverride - override ownership and mode of files"
msgstr "dpkg-statoverride - Sustitución del propietario y modo de ficheros"

#. type: Plain text
#: dpkg-statoverride.8:8
#, fuzzy
#| msgid "B<dpkg-statoverride> [I<options>] I<command>"
msgid "B<dpkg-statoverride> [I<option>...] I<command>"
msgstr "B<dpkg-statoverride> [I<opciones>] I<orden>"

#. type: Plain text
#: dpkg-statoverride.8:18
msgid ""
"`B<stat overrides>' are a way to tell B<dpkg>(1)  to use a different owner "
"or mode for a file when a package is installed. (note: I use the word `file' "
"here, but in reality this can be any filesystem object that dpkg handles, "
"including directories, devices, etc.). This can be used to force programs "
"that are normally setuid to be install without a setuid flag, or only "
"executable by a certain group."
msgstr ""
"B<La sustitución de propiedades> es un modo de indicar a B<dpkg>(1) que use "
"un propietario o modo diferente para un fichero cuando un paquete está "
"instalado (Nota: aquí usamos la palabra «fichero», pero puede tratarse de "
"cualquier objeto del sistema de ficheros que dpkg pueda manejar, incluyendo "
"directorios, dispositivos, etc). Se puede usar para forzar que programas que "
"normalmente se instalan con bit setuid se instalen sin esta marca, o que "
"sólo sean ejecutables por un grupo en concreto."

#. type: Plain text
#: dpkg-statoverride.8:22
msgid ""
"B<dpkg-statoverride> is a utility to manage the list of stat overrides. It "
"has three basic functions: adding, removing and listing overrides."
msgstr ""
"B<dpkg-statoverride> es una herramienta para administrar la lista de "
"sustituciones. Tiene tres funciones básicas: añadir, eliminar y listar las "
"excepciones."

#. type: TP
#: dpkg-statoverride.8:24
#, no-wrap
msgid "B<--add>I< user group mode file>"
msgstr "B<--add>I< usuario grupo modo fichero>"

#. type: Plain text
#: dpkg-statoverride.8:32
msgid ""
"Add an override for I<file>. I<file> does not need to exist when this "
"command is used; the override will be stored and used later.  Users and "
"groups can be specified by their name (for example B<root> or B<nobody>), or "
"by their number by prepending the number with a `B<#>' (for example B<#0> or "
"B<#65534>). The I<mode> needs to be specified in octal."
msgstr ""
"Añade una sustitución para el B<fichero>. No es necesario que el I<fichero> "
"exista cuando se use esta orden, la sustitución se guardará para usarse "
"posteriormente. Los usuarios y los grupos se pueden definir por su nombre "
"(por ejemplo B<root> o B<nobody>), o por su número precedido por un B<#> "
"(por ejemplo B<#0> o B<#65534>). El I<modo> se debe definir en base al "
"sistema octal."

#. type: Plain text
#: dpkg-statoverride.8:35
msgid ""
"If --update is specified and I<file> exists, it is immediately set to the "
"new owner and mode."
msgstr ""
"Si se proporciona la opción «--update» y el I<fichero> existe, se le asigna "
"inmediatamente el nuevo propietario y modo."

#. type: Plain text
#: dpkg-statoverride.8:39
msgid ""
"Remove an override for I<file>, the status of I<file> is left unchanged by "
"this command."
msgstr ""
"Elimina una sustitución para el I<fichero>, esta orden no modifica el estado "
"del B<fichero>."

#. type: TP
#: dpkg-statoverride.8:39
#, no-wrap
msgid "B<--list> [I<glob-pattern>]"
msgstr "B<--list> [I<comodín>]"

#. type: Plain text
#: dpkg-statoverride.8:44
msgid ""
"List all overrides. If a glob pattern is specified restrict the output to "
"overrides which match the glob. If there are no overrides or none match the "
"glob B<dpkg-statoverride> will exit with an exitcode of 1."
msgstr ""
"Lista todas las sustituciones. Si se define un comodín, restringirá la "
"salida a lo que concuerde con el patrón. Si no hay ninguna sustitución o "
"ninguna concuerda con el patrón, B<dpkg-statoverride> finalizará con un "
"código de salida de 1."

#. type: Plain text
#: dpkg-statoverride.8:56
msgid ""
"Change the I<directory> of the dpkg database where the statoverride file is "
"also stored. Defaults to I</var/lib/dpkg>."
msgstr ""
"Cambia el I<directorio> con la base de datos de dpkg, donde también se "
"guarda la información relativa al fichero «statoverride». Por omisión es «/"
"var/lib/dpkg»."

#. type: TP
#: dpkg-statoverride.8:56 update-alternatives.8:336
#, no-wrap
msgid "B<--force>"
msgstr "B<--force>"

#. type: Plain text
#: dpkg-statoverride.8:60
msgid ""
"Force an action, even if a sanity check would otherwise prohibit it.  This "
"is necessary to override an existing override."
msgstr ""
"Fuerza una acción, incluso si ésta pudiese resultar perjudicial. Es "
"necesario para poder modificar una sustitución existente."

#. type: TP
#: dpkg-statoverride.8:60
#, no-wrap
msgid "B<--update>"
msgstr "B<--update>"

#. type: Plain text
#: dpkg-statoverride.8:64
msgid ""
"Immediately try to change the file to the new owner and mode if it exists."
msgstr ""
"Trata inmediatamente de cambiar el fichero al nuevo propietario y modo, de "
"existir."

#. type: Plain text
#: dpkg-statoverride.8:67
msgid "Be less verbose about what we do."
msgstr "Reduce el nivel de información de las acciones tomadas."

#. type: TP
#: dpkg-statoverride.8:75
#, no-wrap
msgid "I</var/lib/dpkg/statoverride>"
msgstr "I</var/lib/dpkg/statoverride>"

#. type: Plain text
#: dpkg-statoverride.8:80
msgid ""
"File which contains the current list of stat overrides of the system. It is "
"located in the dpkg administration directory, along with other files "
"important to dpkg, such as `status' or `available'."
msgstr ""
"El fichero que contiene la lista actual de sustituciones de propiedades del "
"sistema. Se encuentra en el directorio de administración de dpkg, junto con "
"otros ficheros importantes para dpkg como «status» o «available»."

#. type: Plain text
#: dpkg-statoverride.8:83
msgid ""
"Note: B<dpkg-statoverride> preserves the old copy of this file, with "
"extension \"-old\", before replacing it with the new one."
msgstr ""
"Nota: B<dpkg-statoverride> preserva una copia antigua del fichero con la "
"extensión «-old» antes de reemplazarla con una nueva."

#. type: TH
#: dpkg-trigger.1:1
#, no-wrap
msgid "dpkg-trigger"
msgstr "dpkg-trigger"

#. type: Plain text
#: dpkg-trigger.1:4
msgid "dpkg-trigger - a package trigger utility"
msgstr "dpkg-trigger - Herramienta de disparadores de paquete"

#. type: Plain text
#: dpkg-trigger.1:8
msgid "B<dpkg-trigger> [I<option>...] I<trigger-name>"
msgstr "B<dpkg-trigger> [I<opción>...] I<nombre-disparador>"

#. type: Plain text
#: dpkg-trigger.1:11
msgid "B<dpkg-trigger> [I<option>...] I<command>"
msgstr "B<dpkg-trigger> [I<opción>...] I<orden>"

# type: Plain text
#. type: Plain text
#: dpkg-trigger.1:15
msgid ""
"B<dpkg-trigger> is a tool to explicitly activate triggers and check for its "
"support on the running B<dpkg>."
msgstr ""
"B<dpkg-trigger> es una herramienta para activar disparadores "
"intencionadamente y revisar su compatibilidad con la versión de B<dpkg> en "
"ejecución."

#. type: Plain text
#: dpkg-trigger.1:21
msgid ""
"This can be used by maintainer scripts in complex and conditional situations "
"where the file triggers, or the declarative B<activate> triggers control "
"file directive, are insufficiently rich. It can also be used for testing and "
"by system administrators (but note that the triggers won't actually be run "
"by B<dpkg-trigger>)."
msgstr ""
"Se puede usar mediante scripts del desarrollador en situaciones complejas y "
"condicionales en las que los ficheros de disparadores, o la declaración de "
"la directiva B<activate> en el fichero de control, no son suficientemente "
"informativos. También se puede usar para comprobaciones y administradores de "
"sistemas (pero tenga en cuenta que B<dpkg-trigger> no accionará los "
"disparadores)."

#. type: Plain text
#: dpkg-trigger.1:23
msgid "Unrecognised trigger name syntaxes are an error for B<dpkg-trigger>."
msgstr ""
"La sintaxis no reconocida de nombres de disparadores son un error para "
"B<dpkg-trigger>."

#. type: TP
#: dpkg-trigger.1:25
#, no-wrap
msgid "B<--check-supported>"
msgstr "B<--check-supported>"

#. type: Plain text
#: dpkg-trigger.1:31
#, fuzzy
#| msgid ""
#| "Check if the running B<dpkg> supports triggers (usually called from a "
#| "postinst). Will exit 0 if a triggers-capable B<dpkg> has run, or 1 with "
#| "an error message to stderr if not. Normally, however, it is better just "
#| "to activate the desired trigger with B<dpkg-trigger>."
msgid ""
"Check if the running B<dpkg> supports triggers (usually called from a "
"postinst). Will exit B<0> if a triggers-capable B<dpkg> has run, or B<1> "
"with an error message to stderr if not. Normally, however, it is better just "
"to activate the desired trigger with B<dpkg-trigger>."
msgstr ""
"Revisa si la versión de B<dpkg> en ejecución es compatible con disparadores "
"(habitualmente invocados mediante una post-instalación). Cierra con 0 si "
"B<dpkg> es compatible con los disparadores, o 1 con un mensaje de error por "
"la salida estándar en caso de fallo. Por otra parte, en general es mejor "
"activar sólo el disparador deseado con B<dpkg-trigger>."

#. type: TP
#: dpkg-trigger.1:43
#, no-wrap
msgid "B<--by-package=>I<package>"
msgstr "B<--by-package=>I<paquete>"

#. type: Plain text
#: dpkg-trigger.1:49
#, fuzzy
#| msgid ""
#| "Override trigger awaiter (normally set by B<dpkg> through the "
#| "DPKG_MAINTSCRIPT_PACKAGE environment variable of the maintainer scripts, "
#| "naming the package to which the script belongs, and this will be used by "
#| "default)."
msgid ""
"Override trigger awaiter (normally set by B<dpkg> through the "
"B<DPKG_MAINTSCRIPT_PACKAGE> environment variable of the maintainer scripts, "
"naming the package to which the script belongs, and this will be used by "
"default)."
msgstr ""
"Invalida la espera al inicio del disparador (habitualmente definido con "
"B<dpkg> a través de la variable de entorno «DPKG_MAINTSCRIPT_PACKAGE» en los "
"scripts del desarrollador, nombrando el paquete al que el script pertenece. "
"Este es el comportamiento por omisión.)"

#. type: TP
#: dpkg-trigger.1:49
#, no-wrap
msgid "B<--no-await>"
msgstr "B<--no-await>"

#. type: Plain text
#: dpkg-trigger.1:56
msgid ""
"This option arranges that the calling package T (if any) need not await the "
"processing of this trigger; the interested package(s) I, will not be added "
"to T's trigger processing awaited list and T's status is unchanged.  T may "
"be considered installed even though I may not yet have processed the trigger."
msgstr ""
"Esta opción define que la invocación al paquete T (de existir) no necesita "
"esperar al procesamiento de este disparador; el paquete(s) interesado I no "
"se añadirá a la lista de espera del procesado del disparador, sin cambiar el "
"estado de T. Puede que se considere que T está instalado aunque no se haya "
"procesado el disparador."

#. type: TP
#: dpkg-trigger.1:56
#, no-wrap
msgid "B<--no-act>"
msgstr "B<--no-act>"

#. type: Plain text
#: dpkg-trigger.1:59
msgid "Just test, do not actually change anything."
msgstr "Realiza un simulacro sin cambios en el sistema."

#. type: Plain text
#: dpkg-trigger.1:69
msgid ""
"B<dpkg>(1), B<deb-triggers>(5), B</usr/share/doc/dpkg-dev/triggers.txt.gz>."
msgstr ""
"B<dpkg>(1), B<deb-triggers>(5), B</usr/share/doc/dpkg-dev/triggers.txt.gz>."

#. type: TH
#: dpkg-vendor.1:1
#, no-wrap
msgid "dpkg-vendor"
msgstr "dpkg-vendor"

#. type: Plain text
#: dpkg-vendor.1:4
msgid "dpkg-vendor - queries information about distribution vendors"
msgstr ""
"dpkg-vendor - Consulta información relativa al proveedor de la publicación"

#. type: Plain text
#: dpkg-vendor.1:8
msgid "B<dpkg-vendor> [I<option>...] I<command>"
msgstr "B<dpkg-vendor> [I<opción>...] I<orden>"

#. type: Plain text
#: dpkg-vendor.1:13
msgid ""
"B<dpkg-vendor> is a tool to query information about vendors listed in B</etc/"
"dpkg/origins>. B</etc/dpkg/origins/default> contains information about the "
"current vendor."
msgstr ""
"B<dpkg-vendor> es una herramienta para consultar información de los "
"proveedores listados en B</etc/dpkg/origins>. B</etc/dpkg/origins/default> "
"contiene información acerca del proveedor actual."

#. type: TP
#: dpkg-vendor.1:15
#, no-wrap
msgid "B<--is>I< vendor>"
msgstr "B<--is>I< proveedor>"

#. type: Plain text
#: dpkg-vendor.1:19
#, fuzzy
#| msgid ""
#| "Exits with 0 if the current vendor is I<vendor>. Otherwise exits with non-"
#| "zero."
msgid ""
"Exits with B<0> if the current vendor is I<vendor>. Otherwise exits with non-"
"zero."
msgstr ""
"Finaliza con 0 si I<proveedor> es el proveedor actual. De no ser así, "
"finaliza con un valor distinto de 0."

#. type: TP
#: dpkg-vendor.1:19
#, no-wrap
msgid "B<--derives-from>I< vendor>"
msgstr "B<--derives-from>I< proveedor>"

#. type: Plain text
#: dpkg-vendor.1:24
#, fuzzy
#| msgid ""
#| "Exits with 0 if the current vendor distribution is a derivative of "
#| "I<vendor>, otherwise exits with non-zero. It uses the \"Parent\" field to "
#| "browse all ancestors of the current vendor."
msgid ""
"Exits with B<0> if the current vendor distribution is a derivative of "
"I<vendor>, otherwise exits with non-zero. It uses the \"Parent\" field to "
"browse all ancestors of the current vendor."
msgstr ""
"Finaliza con 0 si el proveedor de la distribución actual deriva de "
"I<proveedor>. De no ser así, finaliza con un valor distinto de 0. Use el "
"campo «Parent» para explorar los proveedores anteriores al actual."

#. type: TP
#: dpkg-vendor.1:24
#, no-wrap
msgid "B<--query>I< field>"
msgstr "B<--query>I< campo>"

#. type: Plain text
#: dpkg-vendor.1:28
msgid ""
"Print on standard output the value of the vendor-specific I<field> for the "
"current vendor."
msgstr ""
"Muestra por la salida estándar el valor específico de proveedor I<campo> en "
"relación al proveedor actual."

#. type: TP
#: dpkg-vendor.1:36
#, no-wrap
msgid "B<--vendor>I< vendor>"
msgstr "B<--vendor>I< proveedor>"

#. type: Plain text
#: dpkg-vendor.1:41
#, fuzzy
#| msgid ""
#| "Assumes the current vendor is I<vendor> instead of discovering it with "
#| "the DEB_VENDOR environment variable or B</etc/dpkg/origins/default>."
msgid ""
"Assumes the current vendor is I<vendor> instead of discovering it with the "
"B<DEB_VENDOR> environment variable or B</etc/dpkg/origins/default>."
msgstr ""
"Supone que el proveedor actual es I<proveedor>, en lugar de definirlo con la "
"variable de entorno «DEB_VENDOR» o B</etc/dpkg/origins/default>."

#. type: TP
#: dpkg-vendor.1:43
#, no-wrap
msgid "B<DEB_VENDOR>"
msgstr "B<DEB_VENDOR>"

#. type: Plain text
#: dpkg-vendor.1:47
msgid ""
"This setting defines the current vendor. If not set, it will discover the "
"current vendor by reading B</etc/dpkg/origins/default>."
msgstr ""
"Esta opción define el proveedor actual. De estar vacío, el proveedor actual "
"se definirá leyendo B</etc/dpkg/origins/default>."

#. type: Plain text
#: dpkg-vendor.1:50 update-alternatives.8:498
msgid "Copyright \\(co 2009 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2009 Rapha\\[:e]l Hertzog"

#. type: TH
#: dselect.1:1
#, no-wrap
msgid "dselect"
msgstr "dselect"

#. type: Plain text
#: dselect.1:4
msgid "dselect - Debian package management frontend"
msgstr "dselect - Interfaz para la gestión de paquetes de Debian"

#. type: Plain text
#: dselect.1:8
#, fuzzy
#| msgid "B<dpkg> [I<options>] I<action>"
msgid "B<dselect> [I<option>...] [I<action>]"
msgstr "B<dpkg> [I<opciones>] I<acción>"

#. type: Plain text
#: dselect.1:17
#, no-wrap
msgid ""
"B<dselect>\n"
"is one of the primary user interfaces for managing packages on a Debian\n"
"system. At the B<dselect> main menu, the system administrator can:\n"
" - Update the list of available package versions,\n"
" - View the status of installed and available packages,\n"
" - Alter package selections and manage dependencies,\n"
" - Install new packages or upgrade to newer versions.\n"
msgstr ""
"B<dselect>\n"
"es una de las principales interfaces para la gestión de paquetes en un\n"
"sistema Debian GNU/Linux. El menú principal de B<dselect> permite al\n"
"administrador del sistema:\n"
" - Actualizar la lista de paquetes disponibles\n"
" - Ver el estado de los paquetes instalados y disponibles\n"
" - Alterar selecciones de paquetes y gestionar las dependencias\n"
" - Instalar paquetes nuevos o actualizarlos a nuevas versiones\n"

#. type: Plain text
#: dselect.1:29
msgid ""
"B<dselect> operates as a front-end to B<dpkg>(1), the low-level debian "
"package handling tool. It features a full-screen package selections manager "
"with package depends and conflicts resolver. When run with administrator "
"privileges, packages can be installed, upgraded and removed. Various access "
"methods can be configured to retrieve available package version information "
"and installable packages from package repositories.  Depending on the used "
"access method, these repositories can be public archive servers on the "
"internet, local archive servers or cdroms.  The recommended access method is "
"I<apt>, which is provided by the package B<apt>."
msgstr ""
"B<dselect> funciona como una interfaz de B<dpkg(8)>, la herramienta de bajo "
"nivel de manipulación de paquetes de Debian. Ofrece una pantalla completa de "
"selección de paquetes con un solucionador de dependencias y conflictos. "
"Cuando se ejecuta con permisos de administrador permite instalar, actualizar "
"y eliminar paquetes. Puede configurar varios métodos de acceso para conocer "
"las versiones disponibles e instalables desde repositorios de paquetes. "
"Dependiendo del método de acceso usado, esos repositorios de paquetes pueden "
"ser archivos públicos en servidores a través de Internet, servidores de "
"archivo locales o bien discos ópticos. El método de acceso recomendado es "
"I<apt>, proporcionado por el paquete B<apt>."

#. type: Plain text
#: dselect.1:35
#, fuzzy
#| msgid ""
#| "Normally B<dselect> is invoked without parameters. An interactive menu is "
#| "presented, offering the user a list of actions. If an action is given as "
#| "argument, then that action is started immediately. Several commandline "
#| "parameters are still available to modify the running behaviour of "
#| "B<dselect> or show additional information about the program."
msgid ""
"Normally B<dselect> is invoked without parameters. An interactive menu is "
"presented, offering the user a list of actions. If an action is given as "
"argument, then that action is started immediately. Several command line "
"parameters are still available to modify the running behaviour of B<dselect> "
"or show additional information about the program."
msgstr ""
"Habitualmente, B<dselect> se invoca sin parámetros. Se presenta un menú "
"interactivo que ofrece al usuario una lista de acciones. Si se da una acción "
"como argumento se ejecutará inmediatamente. Hay muchas órdenes disponibles "
"para modificar el comportamiento de B<dselect> o también para mostrar "
"información adicional acerca del programa."

#. type: Plain text
#: dselect.1:43
#, fuzzy
#| msgid ""
#| "All options can be specified both on the commandline and in the "
#| "B<dselect> configuration file I</etc/dpkg/dselect.cfg> or the files on "
#| "the configuration directory I</etc/dpkg/dpkg.cfg.d/>. Each line in the "
#| "configuration file is either an option (exactly the same as the "
#| "commandline option but without leading dashes) or a comment (if it starts "
#| "with a B<#>)."
msgid ""
"All options can be specified both on the command line and in the B<dselect> "
"configuration file I</etc/dpkg/dselect.cfg> or the files on the "
"configuration directory I</etc/dpkg/dselect.cfg.d/>. Each line in the "
"configuration file is either an option (exactly the same as the command line "
"option but without leading dashes) or a comment (if it starts with a B<#>)."
msgstr ""
"Todas las opciones se pueden definir en la línea de órdenes y en el fichero "
"de configuración de B<dselect> ubicado en I</etc/dpkg/dselect.cfg>. Cada "
"línea en el fichero de configuración es también una opción (exactamente la "
"misma que en la línea de órdenes pero sin guiones precedentes) o un "
"comentario (si este comienza con un B<#>)."

#. type: Plain text
#: dselect.1:49
msgid ""
"Changes the directory where the dpkg `I<status>', `I<available>' and similar "
"files are located. This defaults to I</var/lib/dpkg> and normally there "
"shouldn't be any need to change it."
msgstr ""
"Cambia el directorio donde se ubican los ficheros de dpkg I<status>, "
"I<available> y otros. Es I</var/lib/dpkg> por omisión y en condiciones "
"normales no se  debería cambiar."

#. type: TP
#: dselect.1:49
#, fuzzy, no-wrap
#| msgid "B<--debug>I< E<lt>fileE<gt> >|I< >B<-D>I<E<lt>fileE<gt>>"
msgid "B<--debug>I< file >|I< >B<-D>I<file>"
msgstr "B<--debug>I< E<lt>ficheroE<gt> >|I< >B<-D>I<E<lt>ficheroE<gt>>"

#. type: Plain text
#: dselect.1:52
#, fuzzy
#| msgid ""
#| "Turn on debugging. Debugging information is sent to I<E<lt>fileE<gt>>."
msgid "Turn on debugging. Debugging information is sent to I<file>."
msgstr ""
"Activa la depuración de fallos. Esta información se envía al "
"I<E<lt>ficheroE<gt>>."

#. type: TP
#: dselect.1:52
#, no-wrap
msgid "B<--expert>"
msgstr "B<--expert>"

#. type: Plain text
#: dselect.1:56
msgid ""
"Turns on expert mode, i.e. doesn't display possibly annoying help messages."
msgstr ""
"Activa el modo experto. Por ejemplo, no muestra mensajes de ayuda "
"posiblemente molestos."

#. type: TP
#: dselect.1:56
#, no-wrap
msgid "B<--colour>|B<--color> I<screenpart:>[I<foreground>],[I<background>][I<:attr>[I<+attr+..>]]"
msgstr "B<--colour>|B<--color> I<parte-de-pantalla:>[I<primer-plano>],[I<fondo>][I<:attr>[I<+attr+..>]]"

#. type: Plain text
#: dselect.1:63
msgid ""
"Configures screen colors. This works only if your display supports colors.  "
"This option may be used multiple times (and is best used in I<dselect.cfg>). "
"Each use changes the color (and optionally, other attributes) of one part of "
"the screen.  The parts of the screen (from top to bottom) are:"
msgstr ""
"Configura los colores de la pantalla. Esto sólo funciona si su equipo es "
"capaz de mostrar colores. Puede usar esta opción cuantas veces desee (es "
"mejor usarla en I<dselect.cfg>). Cada uso cambia el color (y opcionalmente, "
"otros atributos) de una parte de la pantalla. Estas partes de la pantalla "
"(desde arriba hacia abajo) son:"

#. type: TP
#: dselect.1:64
#, no-wrap
msgid "B<title>"
msgstr "B<title>"

#. type: Plain text
#: dselect.1:67
msgid "The screen title."
msgstr "El título de la pantalla."

#. type: TP
#: dselect.1:67
#, no-wrap
msgid "B<listhead>"
msgstr "B<listhead>"

#. type: Plain text
#: dselect.1:70
msgid "The header line above the list of packages."
msgstr "La línea de cabecera encima de la lista de paquetes."

#. type: TP
#: dselect.1:70
#, no-wrap
msgid "B<list>"
msgstr "B<list>"

#. type: Plain text
#: dselect.1:73
msgid "The scrolling list of packages (and also some help text)."
msgstr "La lista de paquetes (y también otros textos de ayuda)."

#. type: TP
#: dselect.1:73
#, no-wrap
msgid "B<listsel>"
msgstr "B<listsel>"

#. type: Plain text
#: dselect.1:76
msgid "The selected item in the list."
msgstr "El elemento seleccionado en la lista."

#. type: TP
#: dselect.1:76
#, no-wrap
msgid "B<pkgstate>"
msgstr "B<pkgstate>"

#. type: Plain text
#: dselect.1:80
msgid ""
"In the list of packages, the text indicating the current state of each "
"package."
msgstr ""
"En la lista de paquetes, el texto que indica el estado actual de cada "
"paquete."

#. type: TP
#: dselect.1:80
#, no-wrap
msgid "B<pkgstatesel>"
msgstr "B<pkgstatesel>"

#. type: Plain text
#: dselect.1:84
msgid ""
"In the list of packages, the text indicating the current state of the "
"currently selected package."
msgstr ""
"En la lista de paquetes, el texto que indica el estado actual del paquete "
"seleccionado."

#. type: TP
#: dselect.1:84
#, no-wrap
msgid "B<infohead>"
msgstr "B<infohead>"

#. type: Plain text
#: dselect.1:87
msgid ""
"The header line that displays the state of the currently selected package."
msgstr "La línea de cabecera que muestra el estado del paquete seleccionado."

#. type: TP
#: dselect.1:87
#, no-wrap
msgid "B<infodesc>"
msgstr "B<infodesc>"

#. type: Plain text
#: dselect.1:90
msgid "The package's short description."
msgstr "La descripción corta del paquete."

#. type: TP
#: dselect.1:90
#, no-wrap
msgid "B<info>"
msgstr "B<info>"

#. type: Plain text
#: dselect.1:93
msgid "Used to display package info such as the package's description."
msgstr ""
"Se usa para mostrar la información del paquete así como su descripción."

#. type: TP
#: dselect.1:93
#, no-wrap
msgid "B<infofoot>"
msgstr "B<infofoot>"

#. type: Plain text
#: dselect.1:96
msgid "The last line of the screen when selecting packages."
msgstr "La última línea de la pantalla cuando se seleccionan paquetes."

#. type: TP
#: dselect.1:96
#, no-wrap
msgid "B<query>"
msgstr "B<query>"

#. type: Plain text
#: dselect.1:99
msgid "Used to display query lines"
msgstr "Se usa para mostrar líneas de consulta."

#. type: TP
#: dselect.1:99
#, no-wrap
msgid "B<helpscreen>"
msgstr "B<helpscreen>"

#. type: Plain text
#: dselect.1:102
msgid "Color of help screens."
msgstr "Color de las pantallas de ayuda."

#. type: Plain text
#: dselect.1:107
msgid ""
"After the part of the screen comes a colon and the color specification. You "
"can specify either the foreground color, the background color, or both, "
"overriding the compiled-in colors. Use standard curses color names."
msgstr ""
"A continuación de la parte de la pantalla aparecen dos puntos y la "
"definición del color. Puede definir el color del primer plano, el color de "
"fondo, o ambos evitando los colores predefinidos. Se deben usar nombres "
"estándar de colores de la biblioteca curses."

#. type: Plain text
#: dselect.1:113
msgid ""
"Optionally, after the color specification is another colon, and an attribute "
"specification. This is a list of one or more attributes, separated by plus "
"(\"+\") characters. Available attributes include (not all of these will work "
"on all terminals): normal, standout, underline, reverse, blink, bright, dim, "
"bold"
msgstr ""
"Opcionalmente, a continuación de la especificación de colores hay otros dos "
"puntos, y la especificación de los atributos. Ésta es una lista de uno o más "
"atributos, separados por un signo de suma «+». Los atributos disponibles "
"incluyen (no todos funcionarán en todos los terminales): normal, standout, "
"underline, reverse, blink, bright, dim, bold."

#. type: Plain text
#: dselect.1:116
msgid "Print a brief help text and exit successfully."
msgstr "Muestra un breve texto de ayuda y cierra con éxito."

#. type: Plain text
#: dselect.1:119
msgid "Print version information and exit successfully."
msgstr "Muestra la información de versión del programa y cierra con éxito."

#. type: Plain text
#: dselect.1:126
#, fuzzy
#| msgid ""
#| "When B<dselect> is started interactively, it prompts the user with a menu "
#| "of available actions:"
msgid ""
"When B<dselect> is started it can perform the following actions, either "
"directly if it was specified on the command line or by prompting the user "
"with a menu of available actions if running interactively:"
msgstr ""
"Cuando B<dselect> se inicia interactivamente muestra al usuario un menú con "
"las siguientes opciones disponibles:"

#. type: SS
#: dselect.1:126
#, no-wrap
msgid "access"
msgstr "access"

#. type: Plain text
#: dselect.1:128
msgid "Choose and configure an access method to access package repositories."
msgstr ""
"Selección y configuración de un método de acceso para acceder a los "
"repositorios de paquetes."

#. type: Plain text
#: dselect.1:134
#, fuzzy
#| msgid ""
#| "By default, B<dselect> provides several methods such as I<floppy>, "
#| "I<harddisk> or I<cdrom>, but other packages may provide additional "
#| "methods, eg. the I<apt> access method provided by the B<apt> package or "
#| "I<multi_cd> by the B<dpkg-multicd> package."
msgid ""
"By default, B<dselect> provides several methods such as I<cdrom>, "
"I<multi_cd>, I<nfs>, I<multi_nfs>, I<harddisk>, I<mounted>, I<multi_mount>, "
"I<floppy> or I<ftp>, but other packages may provide additional methods, eg. "
"the I<apt> access method provided by the B<apt> package."
msgstr ""
"Por omisión, B<dselect> ofrece varios métodos tales como I<floppy> "
"(disquete), I<harddisk> (disco duro) o I<cdrom>, aunque otros paquetes "
"podrían proporcionar aún más. Por ejemplo, el método de acceso I<apt> "
"proporcionado por el paquete B<apt> o bien I<multi_cd> proporcionado por el "
"paquete B<dpkg-multicd>."

#. type: Plain text
#: dselect.1:136
msgid "The use of the I<apt> access method is strongly recommended."
msgstr "El uso del método de acceso vía I<apt> es altamente recomendado."

#. type: SS
#: dselect.1:137
#, no-wrap
msgid "update"
msgstr "update"

#. type: Plain text
#: dselect.1:139
msgid "Refresh the available packages database."
msgstr "Actualiza la lista disponible de paquetes."

#. type: Plain text
#: dselect.1:146
msgid ""
"Retrieves a list of available package versions from the package repository, "
"configured for the current access method, and update the dpkg database. The "
"package lists are commonly provided by the repository as files named "
"I<Packages> or I<Packages.gz>.  These files can be generated by repository "
"maintainers, using the program B<dpkg-scanpackages>(1)."
msgstr ""
"Obtiene una lista de versiones disponibles de paquetes desde un repositorio, "
"configurado por el método de acceso seleccionado, y actualiza la base de "
"datos de dpkg. Habitualmente, el repositorio proporciona la lista de "
"paquetes mediante ficheros llamados B<Packages> o B<Packages.gz>. Los "
"responsables de repositorios pueden generar estos ficheros a través del "
"programa B<dpkg-scanpackages(1)>."

#. type: Plain text
#: dselect.1:149
msgid ""
"Details of the update action depend on the access method's implementation.  "
"Normally the process is straightforward and requires no user interaction."
msgstr ""
"Los detalles de la acción de actualizar dependen del método de acceso que se "
"haya implementado. Normalmente este proceso es automático y no requiere la "
"intervernción del usuario."

#. type: SS
#: dselect.1:150
#, no-wrap
msgid "select"
msgstr "select"

#. type: Plain text
#: dselect.1:152
msgid "View or manage package selections and dependencies."
msgstr ""
"Examina o gestiona la selección de paquetes y sus respectivas dependencias."

#. type: Plain text
#: dselect.1:158
msgid ""
"This is the main function of B<dselect>. In the select screen, the user can "
"review a list of all available and installed packages. When run with "
"administrator privileges, it is also possible to interactively change "
"packages selection state. B<dselect> tracks the implications of these "
"changes to other depending or conflicting packages."
msgstr ""
"Esta es la función principal de B<dselect>. En la pantalla de selección, el "
"usuario puede examinar una lista de todos los paquetes disponibles e "
"instalados. Cuando se ejecuta con permisos de administrador también es "
"posible cambiar el estado de la selección interactivamente. B<dselect> "
"registra las implicaciones de estos cambios en relación a otros paquetes "
"dependencia o que entran en conflicto."

#. type: Plain text
#: dselect.1:165
msgid ""
"When a conflict or failed depends is detected, a dependency resolution "
"subscreen is prompted to the user. In this screen, a list of conflicting or "
"depending packages is shown, and for each package listed, the reason for its "
"listing is shown. The user may apply the suggestions proposed by B<dselect>, "
"override them, or back out all the changes, including the ones that created "
"the unresolved depends or conflicts."
msgstr ""
"Cuando hay un conflicto, o bien una dependencia falla, se muestra la "
"pantalla de resolución de dependencias. En esta pantalla aparece una lista "
"de paquetes conflictivos o dependientes, y por para cada paquete en la "
"lista, se muestra la razón de su aparición en ella. El usuario puede "
"ejecutar las sugerencias que B<dselect> ofrece, evitarlas, o bien deshacer "
"los cambios hechos, incluyendo aquellos en los que se dejaron dependencias o "
"conflictos sin resolver."

#. type: Plain text
#: dselect.1:168
msgid ""
"The use of the interactive package selections management screen is explained "
"in more detail below."
msgstr ""
"A continuación se explica con más detalle el uso de la pantalla interactiva "
"de selección de paquetes."

#. type: SS
#: dselect.1:169
#, no-wrap
msgid "install"
msgstr "install"

#. type: Plain text
#: dselect.1:171
msgid "Installs selected packages."
msgstr "Instala los paquetes seleccionados."

#. type: Plain text
#: dselect.1:177
msgid ""
"The configured access method will fetch installable or upgradable packages "
"from the relevant repositories and install these using B<dpkg>.  Depending "
"on the implementation of the access method, all packages can be prefetched "
"before installation, or fetched when needed.  Some access methods may also "
"remove packages that were marked for removal."
msgstr ""
"El método de acceso configurado descargará los paquetes instalables o "
"actualizables desde los repositorios, y los instalará usando B<dpkg>. "
"Dependiendo de la implementación del método de acceso, todos los paquetes se "
"pueden descargar previamente a la instalación, o bien cuando se requiera. "
"Algunos métodos de acceso podrían borrar paquetes que se marcaron para su "
"eliminación."

#. type: Plain text
#: dselect.1:185
msgid ""
"If an error occurred during install, it is usually advisable to run install "
"again. In most cases, the problems will disappear or be solved.  If problems "
"persist or the installation performed was incorrect, please investigate into "
"the causes and circumstances, and file a bug in the Debian bug tracking "
"system. Instructions on how to do this can be found at http://bugs.debian."
"org/ or by reading the documentation for B<bug>(1) or B<reportbug>(1), if "
"these are installed."
msgstr ""
"Si ocurre algún error durante la instalación, normalmente se aconseja "
"ejecutar la instalación nuevamente. En la mayoría de los casos los problemas "
"desaparecerán o bien se resolverán. Si el problema persiste o la instalación "
"se ejecutó de forma incorrecta, le rogamos investigue las causas y "
"circunstancias del problema, y remita un informe de fallos al sistema de "
"seguimiento de fallos de Debian. Puede encontrar las instrucciones "
"correspondientes en «http://bugs.debian.org/», o bien leyendo la "
"documentación de los programas B<bug(1)> o B<reportbug(1)>, si es que están "
"instalados."

#. type: Plain text
#: dselect.1:192
msgid ""
"Details of the install action depend on the access method's implementation.  "
"The user's attention and input may be required during installation, "
"configuration or removal of packages. This depends on the maintainer scripts "
"in the package. Some packages make use of the B<debconf>(1)  library, "
"allowing for more flexible or even automated installation setups."
msgstr ""
"Los detalles acerca de la acción de instalar dependen de la implementación "
"del método de acceso. Puede que se requiera la atención completa del usuario "
"durante la instalación, configuración o eliminación de los paquetes "
"correspondientes. Esto depende exclusivamente de los scripts del mantenedor "
"de los paquetes. Algunos paquetes hacen uso de la biblioteca de B<debconf(8)"
">, permitiendo así una instalación más flexible o incluso más automatizada."

#. type: SS
#: dselect.1:193
#, no-wrap
msgid "config"
msgstr "config"

#. type: Plain text
#: dselect.1:195
msgid "Configures any previously installed, but not fully configured packages."
msgstr ""
"Configura cualquier paquete previamente instalado, pero no configurado "
"totalmente."

#. type: SS
#: dselect.1:196
#, no-wrap
msgid "remove"
msgstr "remove"

#. type: Plain text
#: dselect.1:198
msgid "Removes or purges installed packages, that are marked for removal."
msgstr ""
"Elimina o purga (N.T. es decir, elimina los ficheros de configuración) los "
"paquetes instalados que estén marcados para su eliminación."

#. type: SS
#: dselect.1:199
#, no-wrap
msgid "quit"
msgstr "quit"

#. type: Plain text
#: dselect.1:201
msgid "Quit B<dselect>"
msgstr "Salir de B<dselect>"

#. type: Plain text
#: dselect.1:203
msgid "Exits the program with zero (successful) errorcode."
msgstr "Termina el programa con éxito (el código de error devuelto es 0)."

#. type: SH
#: dselect.1:205
#, no-wrap
msgid "Package selections management"
msgstr "Manipulación de selecciones de paquetes"

#. type: SS
#: dselect.1:207
#, no-wrap
msgid "Introduction"
msgstr "Introducción"

#. type: Plain text
#: dselect.1:223
msgid ""
"B<dselect> directly exposes the administrator to some of the complexities "
"involved with managing large sets of packages with many interdependencies. "
"For a user who is unfamiliar with the concepts and the ways of the debian "
"package management system, it can be quite overwhelming. Although B<dselect> "
"is aimed at easing package management and administration, it is only "
"instrumental in doing so and can not be assumed to be a sufficient "
"substitute for administrator skill and understanding. The user is required "
"to be familiar with the concepts underlying the Debian packaging system.  In "
"case of doubt, consult the B<dpkg>(1) manpage and the Debian Policy manual, "
"contained in the B<debian-policy> package."
msgstr ""
"B<dselect> expone directamente al administrador a algunas de las "
"complejidades relacionadas con la gestión de grandes conjuntos de paquetes "
"con muchas dependencias entrelazadas. El usuario que no esté familiarizado "
"con los conceptos y el sistema de gestión de paquetes de Debian puede "
"encontrar este proceso un tanto abrumador. A pesar de que el objetivo de "
"B<dselect> es ser un programa que facilite la gestión y administración de "
"paquetes, sólo lo hace de forma instrumental, por lo que no se puede "
"considerar como un substituto de los conocimientos y habilidades de un "
"administrador. Se requiere que el usuario esté familiarizado con los "
"conceptos subyacentes al sistema de paquetes de Debian. En caso de dudas, "
"consulte la página de manual de B<dpkg(8)> y el Manual de Normas de Debian."

#. type: Plain text
#: dselect.1:229
msgid ""
"Unless B<dselect> is run in expert or immediate mode, a help screen is first "
"displayed when choosing this action from the menu. The user is I<strongly> "
"advised to study all of the information presented in the online help "
"screens, when one pops up.  The online help screens can at any time be "
"invoked with the B<'?'> key."
msgstr ""
"A menos que se ejecute B<dselect> en modo experto o intermedio, se muestra "
"una pantalla de ayuda cuando se selecciona esta acción desde el menú. Se "
"aconseja I<fervientemente> al usuario que estudie toda la información "
"presentada en las pantallas de ayuda. La ayuda en línea puede obtenerse en "
"cualquier momento pulsando la tecla B<«?»>."

#. type: SS
#: dselect.1:230
#, no-wrap
msgid "Screen layout"
msgstr "Disposición de la pantalla"

#. type: Plain text
#: dselect.1:238
msgid ""
"The select screen is by default split in a top and a bottom half.  The top "
"half shows a list of packages. A cursor bar can select an individual "
"package, or a group of packages, if applicable, by selecting the group "
"header. The bottom half of the screen shows some details about the package "
"currently selected in the top half of the screen.  The type of detail that "
"is displayed can be varied."
msgstr ""
"La pantalla de selección está dividida en dos partes, superior e inferior, "
"de forma predefinido. La parte superior muestra la lista de paquetes. Puede "
"seleccionar un paquete individual pulsando sobre él, o un grupo de paquetes, "
"si es que se puede, seleccionando la cabecera del grupo. La parte inferior "
"de la pantalla muestra algunos de los detalles del paquete seleccionado en "
"la parte superior de la pantalla. El tipo de detalle mostrado puede variar."

#. type: Plain text
#: dselect.1:241
msgid ""
"Pressing the B<'I'> key toggles a full-screen display of the packages list, "
"an enlarged view of the package details, or the equally split screen."
msgstr ""
"Pulsar la tecla B<«I»> conmuta la lista de paquetes a pantalla completa, una "
"vista aumentada de los detalles de los paquetes, o la divide la pantalla "
"simétricamente."

#. type: SS
#: dselect.1:242
#, no-wrap
msgid "Package details view"
msgstr "Detalles de la vista de paquetes."

#. type: Plain text
#: dselect.1:251
#, no-wrap
msgid ""
"The package details view by default shows the extended package description\n"
"for the package that is currently selected in the packages status list.\n"
"The type of detail can be toggled by pressing the B<'i'> key. This\n"
"alternates between:\n"
" - the extended description\n"
" - the control information for the installed version\n"
" - the control information for the available version\n"
msgstr ""
"Por omisión se muestra una descripción bastante extensa del paquete\n"
"seleccionado en la lista.\n"
"Puede modificar el tipo de detalles pulsando la tecla B<«i»>.\n"
"Las opciones posibles son:\n"
" - La descripción extendida\n"
" - La información de control de la versión instalada\n"
" - La información de control de la versión disponible\n"

#. type: Plain text
#: dselect.1:255
msgid ""
"In a dependency resolution screen, there is also the possibility of viewing "
"the specific unresolved depends or conflicts related to the package and "
"causing it to be listed."
msgstr ""
"La pantalla de resolución de dependencias también ofrece la posibilidad de "
"ver los posibles problemas de dependencias o conflictos sin resolver "
"relacionados con el paquete que causa los problemas."

#. type: SS
#: dselect.1:256
#, no-wrap
msgid "Packages status list"
msgstr "Lista de estado de los paquetes"

#. type: Plain text
#: dselect.1:261
msgid ""
"The main select screen displays a list of all packages known to the debian "
"package management system. This includes packages installed on the system "
"and packages known from the available packages database."
msgstr ""
"La pantalla principal muestra una lista de todos los paquetes conocidos por "
"el sistema de gestión de paquetes de Debian. Esto incluye los paquetes "
"instalados en el sistema y también aquellos conocidos mediante la base de "
"datos de paquetes disponibles."

#. type: Plain text
#: dselect.1:269
msgid ""
"For every package, the list shows the package's status, priority, section, "
"installed and available versions, the package name and its short "
"description, all in one line. By pressing the B<'V'> key, the display of the "
"installed and available version can be toggled between on an off. By "
"pressing the B<'v'> key, the package status display is toggled between "
"verbose and shorthand.  Shorthand display is the default."
msgstr ""
"Para cada paquete, la lista muestra el estado, prioridad, sección, las "
"versiones instalada y disponible, el nombre del paquete y su descripción "
"corta, todo esto en una sola línea. Pulsar la tecla B<«V»> conmuta la "
"aparición de la versión instalada, o la disponible. La tecla B<«v»> modifica "
"la pantalla del estado del paquete a la forma breve o informativa. La forma "
"breve es la opción predefinido."

#. type: Plain text
#: dselect.1:275
msgid ""
"The shorthand status indication consists of four parts: an error flag, which "
"should normally be clear, the current status, the last selection state and "
"the current selection state.  The first two relate to the actual state of "
"the package, the second pair are about the selections set by the user."
msgstr ""
"La forma breve del estado consiste de cuatro partes: una marca de fallo, la "
"cual normalmente debería estar vacía, el estado actual, el estado de la "
"última selección y el estado de la selección actual. Las dos primeras están "
"en directa relación con el estado actual del paquete, el segundo par con las "
"selecciones del usuario."

#. type: Plain text
#: dselect.1:293
#, no-wrap
msgid ""
"These are the meanings of the shorthand package status indicator codes:\n"
" Error flag:\n"
"  I<empty>   no error\n"
"  B<R>       serious error, needs reinstallation;\n"
" Installed state:\n"
"  I<empty>   not installed;\n"
"  B<*>       fully installed and configured;\n"
"  B<->       not installed but some config files may remain;\n"
"  B<U>       unpacked but not yet configured;\n"
"  B<C>       half-configured (an error happened);\n"
"  B<I>       half-installed (an error happened).\n"
" Current and requested selections:\n"
"  B<*>       marked for installation or upgrade;\n"
"  B<->       marked for removal, configuration files remain;\n"
"  B<=>       on hold: package will not be processed at all;\n"
"  B<_>       marked for purge, also remove configuration;\n"
"  B<n>       package is new and has yet to be marked.\n"
msgstr ""
"Aquí tiene una tabla de significados de indicadores del estado del paquete:\n"
" Marca de error: \n"
"  I<vacío>   No hay error.\n"
"  B<R>       Error serio, necesita una reinstalación.\n"
" Estado de la instalación:\n"
"  I<vacío>   No está instalado.\n"
"  B<*>       Totalmente instalado y configurado.\n"
"  B<->       No está instalado, pero aún existen archivos de\n"
"             configuración.\n"
"  B<U>       Desempaquetado, pero no configurado por el momento.\n"
"  B<C>       Medio-configurado (ocurrió un error).\n"
"  B<I>       Medio-instalado (ocurrió un error).\n"
" Selección actual y solicitada:\n"
"  B<*>       Marcado para su instalación o actualización.\n"
"  B<->       Marcado para su eliminación, no se eliminarán\n"
"             los ficheros de configuración.\n"
"  B<=>       Bloqueado: el paquete no se procesará en absoluto.\n"
"  B<_>       El paquete está marcado para su purgación,\n"
"             también elimina los ficheros de configuración.\n"
"  B<n>       El paquete es nuevo y aún no se ha marcado.\n"

#. type: SS
#: dselect.1:294
#, no-wrap
msgid "Cursor and screen movement"
msgstr "Movimiento del cursor y de la pantalla"

#. type: Plain text
#: dselect.1:299
msgid ""
"The package selection list and the dependency conflict resolution screens "
"can be navigated using motion commands mapped to the following keys:"
msgstr ""
"La lista de selección de paquetes y la pantalla de resolución de "
"dependencias y conflictos se pueden explorar usando las siguientes teclas:"

#. type: Plain text
#: dselect.1:316
#, no-wrap
msgid ""
"  B<p, Up, k>           move cursor bar up\n"
"  B<n, Down, j>         move cursor bar down\n"
"  B<P, Pgup, Backspace> scroll list 1 page up\n"
"  B<N, Pgdn, Space>     scroll list 1 page down\n"
"  B<^p>                 scroll list 1 line up\n"
"  B<^n>                 scroll list 1 line down\n"
"  B<t, Home>            jump to top of list\n"
"  B<e, End>             jump to end of list\n"
"  B<u>                  scroll info 1 page up\n"
"  B<d>                  scroll info 1 page down\n"
"  B<^u>                 scroll info 1 line up\n"
"  B<^d>                 scroll info 1 line down\n"
"  B<B, Left-arrow>      pan display 1/3 screen left\n"
"  B<F, Right-arrow>     pan display 1/3 screen right\n"
"  B<^b>                 pan display 1 character left\n"
"  B<^f>                 pan display 1 character right\n"
msgstr ""
"  B<p, arriba, k>       Mueve el cursor hacia arriba.\n"
"  B<n, abajo, j>        Mueve el cursor hacia abajo.\n"
"  B<P, repág, retorno>  Mueve la lista una página hacia arriba.\n"
"  B<N, avpág, Espacio>  Mueve la lista una página hacia abajo.\n"
"  B<^p>                 Mueve la lista una línea hacia arriba.\n"
"  B<^n>                 Mueve la lista una línea hacia abajo.\n"
"  B<t, Inicio>          Salta al principio de la lista.\n"
"  B<e, Fin>             Salta al fin de la lista.\n"
"  B<u>                  Mueve info una página hacia arriba.\n"
"  B<d>                  Mueve info una página hacia abajo.\n"
"  B<^u>                 Mueve info una línea hacia abajo.\n"
"  B<^d>                 Mueve info una línea hacia abajo.\n"
"  B<B, izquierda>       Exhibe la pantalla 1/3 hacia la izquierda.\n"
"  B<F, derecha>         Exhibe la pantalla 1/3 hacia la derecha.\n"
"  B<^b>                 Exhibe un carácter hacia la izquierda.\n"
"  B<^f>                 Exhibe un carácter hacia la derecha.\n"

#. type: SS
#: dselect.1:317
#, no-wrap
msgid "Searching and sorting"
msgstr "Buscar y ordenar"

#. type: Plain text
#: dselect.1:331
msgid ""
"The list of packages can be searched by package name. This is done by "
"pressing B<'/'>, and typing a simple search string. The string is "
"interpreted as a B<regex>(7)  regular expression.  If you add B<'/d'> to the "
"search expression, dselect will also search in descriptions. If you add B<'/"
"i'> the search will be case insensitive.  You may combine these two suffixes "
"like this: B<'/id'>.  Repeated searching is accomplished by repeatedly "
"pressing the B<'n'> or B<'\\e'> keys, until the wanted package is found.  If "
"the search reaches the bottom of the list, it wraps to the top and continues "
"searching from there."
msgstr ""
"Puede realizar búsquedas de paquetes en la lista mediante el nombre. Puede "
"hacerlo pulsando la tecla B<«/»> y escribiendo el nombre del paquete que "
"desea buscar. Este nombre se interpreta como una expresión regular de "
"acuerdo a B<regex>(7). Si se añade B<«/d»> a la búsqueda, dselect buscará "
"también en las descripciones. Si se añade B<«/i»> la búsqueda no "
"discriminará entre mayúsculas y minúsculas. Puede combinar estas dos "
"opciones de esta manera: B<«/id»>. Puede repetir la búsqueda pulsando las "
"teclas B<«n»> o B<«\\e»>, hasta encontrar el paquete que estaba buscando. Si "
"la búsqueda comienza al final de la lista, subirá al principio y también "
"continuará la búsqueda desde ese punto."

#. type: Plain text
#: dselect.1:338
#, no-wrap
msgid ""
"The list sort order can be varied by pressing\n"
"the B<'o'> and B<'O'> keys repeatedly.\n"
"The following nine sort orderings can be selected:\n"
" alphabet          available           status\n"
" priority+section  available+priority  status+priority\n"
" section+priority  available+section   status+section\n"
msgstr ""
"El orden de la lista se puede modificar pulsando las teclas\n"
"B<«o»> y B<«O»> repetidamente.\n"
"Los siguientes ordenamientos son posibles:\n"
" alfabético        disponible          \t estado\n"
" prioridad+sección disponible+prioridad  estado+prioridad\n"
" sección+prioridad disponible+sección    estado+sección\n"

#. type: Plain text
#: dselect.1:341
msgid ""
"Where not listed above explicitly, alphabetic order is used as the final "
"subordering sort key."
msgstr ""
"Si no se usa explícitamente ninguno de los mencionados arriba, se usa el "
"orden alfabético."

#. type: SS
#: dselect.1:342
#, no-wrap
msgid "Altering selections"
msgstr "Modificar selecciones."

#. type: Plain text
#: dselect.1:351
#, no-wrap
msgid ""
"The requested selection state of individual packages may be\n"
"altered with the following commands:\n"
"  B<+, Insert>    install or upgrade\n"
"  B<=, H>         hold in present state and version\n"
"  B<:, G>         unhold: upgrade or leave uninstalled\n"
"  B<-, Delete>    remove, but leave configuration\n"
"  B<_>            remove & purge configuration\n"
msgstr ""
"El estado de la selección solicitada de paquetes individuales se puede\n"
"alterar mediante las siguientes órdenes:\n"
"  B<+, Insert>    Instala o actualiza.\n"
"  B<=, H>         Bloqueado en el estado y versión actual.\n"
"  B<:, G>         Elimina el bloqueo: actualiza o deja sin instalar.\n"
"  B<-, Supr>      Elimina, pero deja los ficheros de configuración.\n"
"  B<_>            Elimina y borra los ficheros de configuración.\n"

#. type: Plain text
#: dselect.1:355
msgid ""
"When the change request results in one or more unsatisfied depends or "
"conflicts, B<dselect> prompts the user with a dependency resolution screen. "
"This will be further explained below."
msgstr ""
"Cuando los cambios resultan en una o más dependencias no satisfechas, o "
"también en conflictos, B<dselect> muestra al usuario una pantalla de "
"resolución de dependencias. Esta pantalla se explicará en detalle más abajo."

#. type: Plain text
#: dselect.1:360
msgid ""
"It is also possible to apply these commands to groups of package selections, "
"by pointing the cursor bar onto a group header. The exact grouping of "
"packages is dependent on the current list ordering settings."
msgstr ""
"También es posible aplicar estas órdenes a grupos de selecciones de "
"paquetes, apuntando el cursor a la cabecera del grupo. El agrupamiento "
"exacto de los paquetes depende de la configuración del ordenamiento de la "
"lista."

#. type: Plain text
#: dselect.1:366
msgid ""
"Proper care should be taken when altering large groups of selections, "
"because this can instantaneously create large numbers of unresolved depends "
"or conflicts, all of which will be listed in one dependency resolution "
"screen, making them very hard to handle. In practice, only hold and unhold "
"operations are useful when applied to groups."
msgstr ""
"Se debe tomar el cuidado apropiado al alterar grupos grandes de selecciones, "
"ya que esto puede crear inmediatamente una larga lista de dependencias sin "
"resolver o conflictos con otros paquetes, los cuales aparecerán en una "
"pantalla única, dificultando su gestión. En la práctica, al manipular grupos "
"sólo son útiles las operaciones de retención «hold» y «unhold»."

#. type: SS
#: dselect.1:367
#, no-wrap
msgid "Resolving depends and conflicts"
msgstr "Resolver problemas de dependencias y conflictos"

#. type: Plain text
#: dselect.1:372
msgid ""
"When the change request results in one or more unsatisfied depends or "
"conflicts, B<dselect> prompts the user with a dependency resolution screen. "
"First however, an informative help screen is displayed."
msgstr ""
"Cuando el cambio resulta en una o más dependencias sin resolver o "
"conflictos, B<dselect> muestra al usuario una pantalla con la posible "
"solución al problema. Primero, sin embargo, se muestra una pantalla "
"informativa."

#. type: Plain text
#: dselect.1:379
msgid ""
"The top half of this screen lists all the packages that will have unresolved "
"depends or conflicts, as a result of the requested change, and all the "
"packages whose installation can resolve any of these depends or whose "
"removal can resolve any of the conflicts.  The bottom half defaults to show "
"the depends or conflicts that cause the currently selected package to be "
"listed."
msgstr ""
"La mitad superior de esta pantalla enumera todos los paquetes que tendrán "
"conflictos, o problemas de dependencias sin resolver, como resultado del "
"cambio requerido por el usuario, además de todos los paquetes cuya "
"instalación solucionará el problema. La mitad inferior muestra los problemas "
"de dependencia o conflictos que causa el paquete seleccionado."

#. type: Plain text
#: dselect.1:385
msgid ""
"When the sublist of packages is displayed initially, B<dselect> may have "
"already set the requested selection status of some of the listed packages, "
"in order to resolve the depends or conflicts that caused the dependency "
"resolution screen to be displayed. Usually, it is best to follow up the "
"suggestions made by B<dselect>."
msgstr ""
"Cuando la sub-lista de paquetes se exhibe inicialmente puede que B<dselect> "
"ya haya definido el estado de selección requerido de alguno de los paquetes "
"listados, para así resolver los problemas de dependencias o conflictos que "
"causaron la aparición de la pantalla de resolución de dependencias. "
"Habitualmente, lo mejor es seguir las sugerencias que B<dselect> presenta."

#. type: Plain text
#: dselect.1:393
msgid ""
"The listed packages' selection state may be reverted to the original "
"settings, as they were before the unresolved depends or conflicts were "
"created, by pressing the B<'R'> key. By pressing the B<'D'> key, the "
"automatic suggestions are reset, but the change that caused the dependency "
"resolution screen to be prompted is kept as requested.  Finally, by pressing "
"B<'U'>, the selections are again set to the automatic suggestion values."
msgstr ""
"Puede devolver el estado de los paquetes seleccionados en la lista a su "
"configuración original, así como también las dependencias sin resolver y los "
"conflictos que generaron, pulsando la tecla B<«R»>. Para reajustar las "
"sugerencias automáticas pulse la tecla B<«D»>, aunque permanecerá el cambio "
"que causo la aparición de la pantalla de resolución de dependencias. Por "
"último, si pulsa la tecla B<«U»> las selecciones se configurarán nuevamente "
"con los valores automáticos de las sugerencias."

#. type: SS
#: dselect.1:394
#, no-wrap
msgid "Establishing the requested selections"
msgstr "Establecer las selecciones solicitadas"

#. type: Plain text
#: dselect.1:401
msgid ""
"By pressing B<enter>, the currently displayed set of selections is accepted. "
"If B<dselect> detects no unresolved depends as a result of the requested "
"selections, the new selections will be set.  However, if there are any "
"unresolved depends, B<dselect> will again prompt the user with a dependency "
"resolution screen."
msgstr ""
"La tecla B<Intro> acepta la lista actual de selecciones. Si B<dselect> "
"detecta que no hay problemas, aceptará las nuevas selecciones. Sin embargo, "
"si hay dependencias sin resolver B<dselect> mostrará nuevamente la pantalla "
"de resolución de dependencias."

#. type: Plain text
#: dselect.1:407
msgid ""
"To alter a set of selections that creates unresolved depends or conflicts "
"and forcing B<dselect> to accept it, press the B<'Q'> key. This sets the "
"selections as specified by the user, unconditionally. Generally, don't do "
"this unless you've read the fine print."
msgstr ""
"Para modificar una lista de selecciones que crea dependencias sin resolver o "
"conflictos, y forzar a B<dselect> a aceptarla, pulse la tecla B<«Q»>. Esto "
"define las selecciones definidas por el usuario, incondicionalmente. "
"Generalmente, no se debería hacer esto a menos que sepa lo que está haciendo."

#. type: Plain text
#: dselect.1:414
msgid ""
"The opposite effect, to back out any selections change requests and go back "
"to the previous list of selections, is attained by pressing the B<'X'> or "
"B<escape> keys. By repeatedly pressing these keys, any possibly detrimental "
"changes to the requested package selections can be backed out completely to "
"the last established settings."
msgstr ""
"El efecto opuesto, deshacer sus cambios y volver hacia atrás hasta que no "
"tenga problemas, se puede realizar pulsando la tecla B<«X»> o B<escape>. Si "
"pulsa repetidamente estas teclas puede retirar cualquier cambio perjudicial "
"a las selecciones de paquetes, volviendo así a la última configuración "
"definida."

#. type: Plain text
#: dselect.1:421
msgid ""
"If you mistakenly establish some settings and wish to revert all the "
"selections to what is currently installed on the system, press the B<'C'> "
"key.  This is somewhat similar to using the unhold command on all packages, "
"but provides a more obvious panic button in cases where the user pressed "
"B<enter> by accident."
msgstr ""
"Si ha realizado un error al definir la lista de paquetes y desea revertir "
"las selecciones actuales a lo que ya está instalado en el sistema, pulse "
"B<«C»>. Es similar a usar la orden «unhold» sobre todos los paquetes, pero "
"ofrece un botón de pánico más obvio para aquellos casos en los que el "
"usuario pulsó B<Intro> por error."

#. type: Plain text
#: dselect.1:428
msgid ""
"If set, B<dselect> will use it as the directory from which to read the user "
"specific configuration file."
msgstr ""
"Si se define, B<dselect> lo usará como el directorio del cual leer el "
"fichero de configuración específico del usuario."

#. type: Plain text
#: dselect.1:434
msgid ""
"The B<dselect> package selection interface is confusing to some new users.  "
"Reportedly, it even makes seasoned kernel developers cry."
msgstr ""
"La interfaz de selección de paquetes de B<dselect> puede parecer confusa "
"para algunos usuarios nuevos. Existen informes de que ha llevado a las "
"lágrimas a experimentados desarrolladores del núcleo."

#. type: Plain text
#: dselect.1:436
msgid "The documentation is lacking."
msgstr "La documentación está incompleta."

#. type: Plain text
#: dselect.1:438
msgid "There is no help option in the main menu."
msgstr "No hay ninguna opción de ayuda en el menú principal."

#. type: Plain text
#: dselect.1:440
msgid "The visible list of available packages cannot be reduced."
msgstr "La lista de paquetes disponibles no se puede reducir."

#. type: Plain text
#: dselect.1:444
msgid ""
"The built in access methods can no longer stand up to current quality "
"standards. Use the access method provided by apt, it is not only not broken, "
"it is also much more flexible than the built in access methods."
msgstr ""
"Los otros métodos de acceso no tienen tanta calidad como el método que "
"ofrece apt. Use el método de acceso que apt ofrece. Además de que no está "
"roto, es mucho más flexible que los métodos de acceso integrados."

#. type: Plain text
#: dselect.1:450
msgid "B<dpkg>(1), B<apt-get>(8), B<sources.list>(5), B<deb>(5)."
msgstr "B<dpkg>(1), B<apt-get>(8), B<sources.list>(5), B<deb>(5)."

#. type: Plain text
#: dselect.1:455
msgid ""
"B<dselect> was written by Ian Jackson (ijackson@gnu.ai.mit.edu). Full list "
"of contributors may be found in 'dselect --version'."
msgstr ""
"B<dselect> fue escrito por Ian Jackson (ijackson@gnu.ai.mit.edu). Puede ver "
"una lista completa de contribuyentes con «dselect --version»."

#. type: Plain text
#: dselect.1:458
msgid ""
"This manual page was written by Juho Vuori E<lt>javuori@cc.helsinki.fiE<gt>, "
"Josip Rodin and Joost kooij."
msgstr ""
"Esta página de manual fue escrita por Juho Vuori E<lt>javuori@cc.helsinki.fi "
"E<gt>, Josip Rodin y Joost kooij."

#. type: TH
#: dselect.cfg.5:1
#, no-wrap
msgid "dselect.cfg"
msgstr "dselect.cfg"

#. type: TH
#: dselect.cfg.5:1
#, fuzzy, no-wrap
#| msgid "2009-02-27"
msgid "2011-07-03"
msgstr "27 de Febrero de 2009"

#. type: Plain text
#: dselect.cfg.5:4
msgid "dselect.cfg - dselect configuration file"
msgstr "dselect.cfg - Fichero de configuración de dselect"

#. type: Plain text
#: dselect.cfg.5:11
#, fuzzy
#| msgid ""
#| "This file contains default options for dselect. Each line contains a "
#| "single option which is exactly the same as a normal commandline option "
#| "for dselect except for the leading dashes which are not used here. Quotes "
#| "surrounding option values are stripped. Comments are allowed by starting "
#| "a line with a hash sign (\"B<#>\")."
msgid ""
"This file contains default options for dselect. Each line contains a single "
"option which is exactly the same as a normal command line option for dselect "
"except for the leading dashes which are not used here. Quotes surrounding "
"option values are stripped. Comments are allowed by starting a line with a "
"hash sign (\"B<#>\")."
msgstr ""
"Este fichero contiene las opciones predefinidas de dpkg. Cada línea contiene "
"una única opción, idéntica a una opción de línea de órdenes normal de "
"dselect, a excepción de la ausencia de guiones. Las comillas que rodeen "
"valores de opciones desaparecerán. Los comentarios se permiten si la línea "
"comienza con una almohadilla (B<#>)."

#. type: Plain text
#: dselect.cfg.5:14
msgid "I</etc/dpkg/dselect.cfg.d/[0-9a-zA-Z_-]*>"
msgstr "I</etc/dpkg/dselect.cfg.d/[0-9a-zA-Z_-]*>"

#. type: Plain text
#: dselect.cfg.5:16
msgid "I</etc/dpkg/dselect.cfg>"
msgstr "I</etc/dpkg/dselect.cfg>"

#. type: Plain text
#: dselect.cfg.5:18
msgid "I<~/.dselect.cfg>"
msgstr "I<~/.dselect.cfg>"

#. type: Plain text
#: dselect.cfg.5:22
msgid ""
"See I</usr/share/doc/dpkg/THANKS> for the list of people who have "
"contributed to B<dselect>."
msgstr ""
"Consulte I</usr/share/doc/dpkg/THANKS> para una lista de las personas que "
"han contribuido a B<dselect>."

#. type: Plain text
#: dselect.cfg.5:24
msgid "B<dselect>(1)."
msgstr "B<dselect>(1)."

#. type: TH
#: start-stop-daemon.8:1
#, no-wrap
msgid "start-stop-daemon"
msgstr "start-stop-daemon"

#. type: Plain text
#: start-stop-daemon.8:4
msgid "start-stop-daemon - start and stop system daemon programs"
msgstr "start-stop-daemon - Detiene y arranca demonios del sistema"

#. type: Plain text
#: start-stop-daemon.8:8
#, fuzzy
#| msgid "B<start-stop-daemon> [I<options>] I<command>"
msgid "B<start-stop-daemon> [I<option>...] I<command>"
msgstr "B<start-stop-daemon> [I<opciones>] I<orden>"

#. type: Plain text
#: start-stop-daemon.8:14
msgid ""
"B<start-stop-daemon> is used to control the creation and termination of "
"system-level processes.  Using one of the matching options, B<start-stop-"
"daemon> can be configured to find existing instances of a running process."
msgstr ""
"B<start-stop-daemon> sirve para controlar la creación y finalización de los "
"procesos del sistema. Usando una de las opciones de búsqueda, puede "
"configurar B<start-stop-daemon> para encontrar las instancias de un proceso "
"en ejecución."

#. type: Plain text
#: start-stop-daemon.8:33
msgid ""
"Note: unless B<--pidfile> is specified, B<start-stop-daemon> behaves similar "
"to B<killall>(1).  B<start-stop-daemon> will scan the process table looking "
"for any processes which match the process name, uid, and/or gid (if "
"specified). Any matching process will prevent B<--start> from starting the "
"daemon. All matching processes will be sent the TERM signal (or the one "
"specified via B<--signal> or B<--retry>) if B<--stop> is specified. For "
"daemons which have long-lived children which need to live through a B<--"
"stop>, you must specify a pidfile."
msgstr ""
"Nota :Tenga en cuenta que a menos que se especifique B<--pidfile>, B<start-"
"stop-daemon> se comporta de forma similar a B<killall(1)>. B<start-stop-"
"daemon> buscará en la tabla de procesos cualquier proceso que concuerde en "
"nombre, uid y/o gid (si se especifica). Cualquier proceso que concuerde con "
"los parámetros prevendrá a B<--start> de iniciar el demonio. Se mandará a "
"todos los procesos la señal TERM (o la señal especificada mediante B<--"
"signal> o B<--retry>) si se especifica B<--stop>. Debe especificar un "
"fichero pid para los demonios que tengan hijos de larga duración que "
"necesiten sobrevivir a un B<--stop>."

#. type: TP
#: start-stop-daemon.8:35
#, no-wrap
msgid "B<-S>, B<--start> [B<-->] I<arguments>"
msgstr "B<-S>, B<--start> [B<-->] I<argumentos>"

#. type: Plain text
#: start-stop-daemon.8:52
msgid ""
"Check for the existence of a specified process.  If such a process exists, "
"B<start-stop-daemon> does nothing, and exits with error status 1 (0 if B<--"
"oknodo> is specified).  If such a process does not exist, it starts an "
"instance, using either the executable specified by B<--exec> or, if "
"specified, by B<--startas>.  Any arguments given after B<--> on the command "
"line are passed unmodified to the program being started."
msgstr ""
"Comprueba la existencia del proceso especificado. Si este proceso ya existe, "
"B<start-stop-daemon> no hace nada y finaliza con un estado de error 1 (0 si "
"se especifica B<--oknodo> ). Si el proceso no existe, comienza uno nuevo "
"usando el ejecutable especificado por B<--exec>, (o, si se especifica, por "
"B<--startas> ). Cualquier argumento dado en la línea de órdenes después de "
"B<--> se introduce sin modificación alguna al programa que se va a ejecutar."

#. type: TP
#: start-stop-daemon.8:52
#, no-wrap
msgid "B<-K>, B<--stop>"
msgstr "B<-K>, B<--stop>"

#. type: Plain text
#: start-stop-daemon.8:70
msgid ""
"Checks for the existence of a specified process.  If such a process exists, "
"B<start-stop-daemon> sends it the signal specified by B<--signal>, and exits "
"with error status 0.  If such a process does not exist, B<start-stop-daemon> "
"exits with error status 1 (0 if B<--oknodo> is specified). If B<--retry> is "
"specified, then B<start-stop-daemon> will check that the process(es) have "
"terminated."
msgstr ""
"Comprueba la existencia del proceso especificado. Si este proceso existe, "
"B<start-stop-daemon> envía la señal especificada por B<--signal>, y finaliza "
"con un estado de error 0. Si este proceso no existe, B<start-stop-daemon> "
"termina con un estado de error 1 (0 si se ha especificado la opción B<--"
"oknodo> ). Si se especifica la opción B<--retry>, B<start-stop-daemon> "
"comprobará que el proceso o los procesos han terminado."

#. type: TP
#: start-stop-daemon.8:70
#, fuzzy, no-wrap
#| msgid "B<-K>, B<--stop>"
msgid "B<-T>, B<--status>"
msgstr "B<-K>, B<--stop>"

#. type: Plain text
#: start-stop-daemon.8:74
msgid ""
"Check for the existence of a specified process, and returns an exit status "
"code, according to the LSB Init Script Actions."
msgstr ""

#. type: TP
#: start-stop-daemon.8:74
#, no-wrap
msgid "B<-H>, B<--help>"
msgstr "B<-H>, B<--help>"

#. type: Plain text
#: start-stop-daemon.8:77
msgid "Show usage information and exit."
msgstr "Muestra la información de uso y termina."

#. type: TP
#: start-stop-daemon.8:77
#, no-wrap
msgid "B<-V>, B<--version>"
msgstr "B<-V>, B<--version>"

#. type: Plain text
#: start-stop-daemon.8:80
msgid "Show the program version and exit."
msgstr "Muestra la versión y termina."

#. type: SH
#: start-stop-daemon.8:81
#, no-wrap
msgid "MATCHING OPTIONS"
msgstr "OPCIONES DE BÚSQUEDA"

#. type: TP
#: start-stop-daemon.8:82
#, no-wrap
msgid "B<-p>, B<--pidfile> I<pid-file>"
msgstr "B<-p>, B<--pidfile> I<fichero-pid>"

#. type: Plain text
#: start-stop-daemon.8:86
msgid "Check whether a process has created the file I<pid-file>."
msgstr "Comprueba si un proceso ha creado el fichero I<fichero-pid>."

#. type: TP
#: start-stop-daemon.8:86
#, no-wrap
msgid "B<-x>, B<--exec> I<executable>"
msgstr "B<-x>, B<--exec> I<ejecutable>"

#. type: Plain text
#: start-stop-daemon.8:90
msgid ""
"Check for processes that are instances of this executable (according to B</"
"proc/>I<pid>B</exe>)."
msgstr ""
"Busca procesos que sean instancias de este ejecutable (según B</proc/"
">I<pid>B</exe>)."

#. type: TP
#: start-stop-daemon.8:90
#, no-wrap
msgid "B<-n>, B<--name> I<process-name>"
msgstr "B<-n>, B<--name> I<nombre-proceso>"

#. type: Plain text
#: start-stop-daemon.8:96
msgid ""
"Check for processes with the name I<process-name> (according to B</proc/"
">I<pid>B</stat>)."
msgstr ""
"Comprueba los procesos con el nombre I<nombre-proceso> (según B</proc/"
">I<pid>B</stat>)."

#. type: TP
#: start-stop-daemon.8:96
#, no-wrap
msgid "B<-u>, B<--user> I<username>|I<uid>"
msgstr "B<-u>, B<--user> I<nombre-usuario>|I<uid>"

#. type: Plain text
#: start-stop-daemon.8:102
msgid ""
"Check for processes owned by the user specified by I<username> or I<uid>."
msgstr ""
"Comprueba si existen los procesos del usuario especificado por I<nombre-"
"usuario> o I<uid>."

#. type: TP
#: start-stop-daemon.8:104
#, no-wrap
msgid "B<-g>, B<--group> I<group>|I<gid>"
msgstr "B<-g>, B<--group> I<grupo>|I<gid>"

#. type: Plain text
#: start-stop-daemon.8:107
msgid "Change to I<group> or I<gid> when starting the process."
msgstr "Pasa a I<grupo> o I<gid> cuando comienza el proceso."

#. type: TP
#: start-stop-daemon.8:107
#, no-wrap
msgid "B<-s>, B<--signal> I<signal>"
msgstr "B<-s>, B<--signal> I<señal>"

#. type: Plain text
#: start-stop-daemon.8:112
msgid ""
"With B<--stop>, specifies the signal to send to processes being stopped "
"(default TERM)."
msgstr ""
"Junto con B<--stop>, define la señal enviada al proceso que se desea parar "
"(TERM por omisión)."

#. type: TP
#: start-stop-daemon.8:112
#, no-wrap
msgid "B<-R>, B<--retry> I<timeout>|I<schedule>"
msgstr "B<-R>, B<--retry> I<tiempo-de-espera>|I<acción-programada>"

#. type: Plain text
#: start-stop-daemon.8:122
msgid ""
"With B<--stop>, specifies that B<start-stop-daemon> is to check whether the "
"process(es)  do finish. It will check repeatedly whether any matching "
"processes are running, until none are. If the processes do not exit it will "
"then take further action as determined by the schedule."
msgstr ""
"Junto con B<--stop>, especifica que B<start-stop-daemon> compruebe que el "
"proceso o los procesos han terminado. Lo comprobará repetidas veces hasta "
"que no haya ningún proceso que coincida. Si el proceso no termina tomará una "
"decisión determinada por I<acción-programada>."

#. type: Plain text
#: start-stop-daemon.8:133
msgid ""
"If I<timeout> is specified instead of I<schedule>, then the schedule "
"I<signal>B</>I<timeout>B</KILL/>I<timeout> is used, where I<signal> is the "
"signal specified with B<--signal>."
msgstr ""
"Si se especifica I<tiempo-de-espera> en vez de I<acción-programada>, se usa "
"la secuencia I<señal>B</>I<tiempo-de-espera>B</KILL/>I<tiempo-de-espera>, "
"donde I<señal> es la señal definida con B<--signal>."

#. type: Plain text
#: start-stop-daemon.8:149
msgid ""
"I<schedule> is a list of at least two items separated by slashes (B</>); "
"each item may be B<->I<signal-number> or [B<->]I<signal-name>, which means "
"to send that signal, or I<timeout>, which means to wait that many seconds "
"for processes to exit, or B<forever>, which means to repeat the rest of the "
"schedule forever if necessary."
msgstr ""
"I<acción-programada> es una lista de al menos dos elementos separados por "
"barras (B</>); cada elemento puede ser un B<->I<número>B<de>I<señal> o [B<->]"
"I<nombre-de-señal>, que significa que se debe mandar esa señal, o I<tiempo-"
"de-espera>, que significa que se debe esperar tantos segundos para que el "
"programa termine, o B<forever>, que significa que se repita el resto de la "
"acción programada indefinidamente si es necesario."

#. type: Plain text
#: start-stop-daemon.8:159
msgid ""
"If the end of the schedule is reached and B<forever> is not specified, then "
"B<start-stop-daemon> exits with error status 2.  If a schedule is specified, "
"then any signal specified with B<--signal> is ignored."
msgstr ""
"Si se alcanza el final de la acción programada y no se ha especificado "
"B<forever>, B<start-stop-daemon> termina con un estado de error 2. Si se "
"especifica una acción programada cualquier señal especificada con B<--"
"signal> no se tendrá en cuenta."

#. type: TP
#: start-stop-daemon.8:159
#, no-wrap
msgid "B<-a>, B<--startas> I<pathname>"
msgstr "B<-a>, B<--startas> I<nombre-ruta>"

#. type: Plain text
#: start-stop-daemon.8:167
msgid ""
"With B<--start>, start the process specified by I<pathname>.  If not "
"specified, defaults to the argument given to B<--exec>."
msgstr ""
"Con B<--start>, comienza el proceso definido con I<nombre-ruta>. Si no se "
"define, se usarán los argumentos dados con B<--exec>."

#. type: TP
#: start-stop-daemon.8:167
#, no-wrap
msgid "B<-t>, B<--test>"
msgstr "B<-t>, B<--test>"

#. type: Plain text
#: start-stop-daemon.8:171
msgid ""
"Print actions that would be taken and set appropriate return value, but take "
"no action."
msgstr ""
"Muestra las acciones que se realizarían y devuelve el valor apropiado, pero "
"no hace nada."

#. type: TP
#: start-stop-daemon.8:171
#, no-wrap
msgid "B<-o>, B<--oknodo>"
msgstr "B<-o>, B<--oknodo>"

#. type: Plain text
#: start-stop-daemon.8:174
msgid "Return exit status 0 instead of 1 if no actions are (would be) taken."
msgstr ""
"Devuelve un estado 0 en vez de 1 si no se realiza (o se vayan a realizar) "
"ninguna acción."

#. type: TP
#: start-stop-daemon.8:174
#, no-wrap
msgid "B<-q>, B<--quiet>"
msgstr "B<-q>, B<--quiet>"

#. type: Plain text
#: start-stop-daemon.8:177
msgid "Do not print informational messages; only display error messages."
msgstr "No muestra mensajes informativos, sólo muestra mensajes de error."

#. type: TP
#: start-stop-daemon.8:177
#, fuzzy, no-wrap
#| msgid "B<-c>, B<--chuid> I<username>|I<uid>"
msgid "B<-c>, B<--chuid> I<username>|I<uid>[B<:>I<group>|I<gid>]"
msgstr "B<-c>, B<--chuid> I<nombre-usuario>|I<uid>"

#. type: Plain text
#: start-stop-daemon.8:195
msgid ""
"Change to this username/uid before starting the process. You can also "
"specify a group by appending a B<:>, then the group or gid in the same way "
"as you would for the `chown' command (I<user>B<:>I<group>).  If a user is "
"specified without a group, the primary GID for that user is used.  When "
"using this option you must realize that the primary and supplemental groups "
"are set as well, even if the B<--group> option is not specified. The B<--"
"group> option is only for groups that the user isn't normally a member of "
"(like adding per process group membership for generic users like B<nobody>)."
msgstr ""
"Cambia a este usuario/uid antes de empezar el proceso. También puede definir "
"un grupo añadiendo B<:> seguido del grupo o el gid, del mismo modo que haría "
"con la orden «chown» (I<usuario>B<:>I<grupo>). Tenga en cuenta que cuando se "
"usa esta opción el grupo primario y complementario también cambian, incluso "
"si no se especifica B<--group>. La opción B<--group> es sólo para grupos de "
"los que el usuario no es miembro (como el grupo B<nobody>)."

#. type: TP
#: start-stop-daemon.8:195
#, no-wrap
msgid "B<-r>, B<--chroot> I<root>"
msgstr "B<-r>, B<--chroot> I<directorio-raíz>"

#. type: Plain text
#: start-stop-daemon.8:201
msgid ""
"Chdir and chroot to I<root> before starting the process. Please note that "
"the pidfile is also written after the chroot."
msgstr ""
"Ejecuta «chdir» y «chroot» sobre el I<directorio-raíz> antes de empezar el "
"proceso. Tenga en cuenta que el fichero pid también se escribe después del "
"chroot."

#. type: TP
#: start-stop-daemon.8:201
#, no-wrap
msgid "B<-d>, B<--chdir> I<path>"
msgstr "B<-d>, B<--chdir> I<ruta>"

#. type: Plain text
#: start-stop-daemon.8:209
msgid ""
"Chdir to I<path> before starting the process. This is done after the chroot "
"if the B<-r>|B<--chroot> option is set. When not specified, start-stop-"
"daemon will chdir to the root directory before starting the process."
msgstr ""
"Ejecuta un «chdir» a I<ruta> antes de empezar el proceso. Esto se hace tras "
"«chroot», si se define la opción B<-r>|B<--chroot>. Si no se define, start-"
"stop-daemon ejecutará un «chdir» al directorio raíz antes de empezar el "
"proceso."

#. type: TP
#: start-stop-daemon.8:209
#, no-wrap
msgid "B<-b>, B<--background>"
msgstr "B<-b>, B<--background>"

#. type: Plain text
#: start-stop-daemon.8:221
msgid ""
"Typically used with programs that don't detach on their own. This option "
"will force B<start-stop-daemon> to fork before starting the process, and "
"force it into the background.  B<WARNING: start-stop-daemon> cannot check "
"the exit status if the process fails to execute for B<any> reason. This is a "
"last resort, and is only meant for programs that either make no sense "
"forking on their own, or where it's not feasible to add the code for them to "
"do this themselves."
msgstr ""
"Usado habitualmente con programas que no se separan por sí mismos. Esta "
"opción forzará B<start-stop-daemon> a hacer un fork antes de empezar el "
"proceso, para luego dejarlo en segundo plano. B<ATENCIÓN: start-stop-daemon> "
"no puede comprobar el estado de salida si el proceso no puede ejecutarse por "
"B<cualquier> razón. Esto se hace como último recurso, y sólo tiene sentido "
"usarla en programas donde no tiene sentido que hagan fork por sí mismos, o "
"no si es posible añadir el código para que lo hagan por sí mismos."

#. type: TP
#: start-stop-daemon.8:221
#, no-wrap
msgid "B<-N>, B<--nicelevel> I<int>"
msgstr "B<-N>, B<--nicelevel> I<entero>"

#. type: Plain text
#: start-stop-daemon.8:224
msgid "This alters the priority of the process before starting it."
msgstr "Altera la prioridad del proceso antes de iniciarlo."

#. type: TP
#: start-stop-daemon.8:224
#, no-wrap
msgid "B<-P>, B<--procsched> I<policy>B<:>I<priority>"
msgstr "B<-P>, B<--procsched> I<directriz>B<:>I<prioridad>"

#. type: Plain text
#: start-stop-daemon.8:230
msgid ""
"This alters the process scheduler policy and priority of the process before "
"starting it. The priority can be optionally specified by appending a B<:> "
"followed by the value. The default I<priority> is 0. The currently supported "
"policy values are B<other>, B<fifo> and B<rr>."
msgstr ""
"Altera la directriz de la acción programada del proceso y la prioridad de la "
"acción programada antes de iniciarlo. Puede especificar la prioridad "
"opcionalmente añadiendo B<:>, seguido del valor. La I<prioridad> por omisión "
"es 0. Las directrices compatibles son B<other>, B<fifo> y B<rr>."

#. type: TP
#: start-stop-daemon.8:230
#, no-wrap
msgid "B<-I>, B<--iosched> I<class>B<:>I<priority>"
msgstr "B<-I>, B<--iosched> I<clase>B<:>I<prioridad>"

#. type: Plain text
#: start-stop-daemon.8:237
msgid ""
"This alters the IO scheduler class and priority of the process before "
"starting it. The priority can be optionally specified by appending a B<:> "
"followed by the value. The default I<priority> is 4, unless I<class> is "
"B<idle>, then I<priority> will always be 7. The currently supported values "
"for I<class> are B<idle>, B<best-effort> and B<real-time>."
msgstr ""
"Esto altera la clase la planificación de E/S y la prioridad del proceso "
"antes de iniciarlo. Opcionalmente, puede definir la prioridad añadiendo B<:> "
"al final, seguido del valor. La I<prioridad> predefinida es 4, a menos que "
"la I<clase> sea B<idle>. En tal caso, la prioridad será siempre 7. Los "
"valores posibles para la I<clase> son B<idle>, B<best-effort> y B<real-"
"time>. "

#. type: TP
#: start-stop-daemon.8:237
#, no-wrap
msgid "B<-k>, B<--umask> I<mask>"
msgstr "B<-k>, B<--umask> I<mask>"

#. type: Plain text
#: start-stop-daemon.8:240
msgid "This sets the umask of the process before starting it."
msgstr "Define el umask del proceso antes de iniciarlo."

#. type: TP
#: start-stop-daemon.8:240
#, no-wrap
msgid "B<-m>, B<--make-pidfile>"
msgstr "B<-m>, B<--make-pidfile>"

#. type: Plain text
#: start-stop-daemon.8:255
msgid ""
"Used when starting a program that does not create its own pid file. This "
"option will make B<start-stop-daemon> create the file referenced with B<--"
"pidfile> and place the pid into it just before executing the process. Note, "
"the file will not be removed when stopping the program.  B<NOTE:> This "
"feature may not work in all cases. Most notably when the program being "
"executed forks from its main process. Because of this, it is usually only "
"useful when combined with the B<--background> option."
msgstr ""
"Se usa cuando se quiere comenzar un programa que no crea su propio fichero "
"pid. Esta opción hace que B<start-stop-daemon> cree el fichero referido con "
"B<--pidfile> y coloque el pid dentro de él justo antes de ejecutar el "
"proceso. Tenga en cuenta que no se borrará cuando termine el programa. "
"B<NOTA:> Esta característica no funciona en todos los casos. Más "
"notablemente cuando el programa que se ejecuta hace un fork de su proceso "
"principal. Por esto es útil sólo cuando se combina con la opción B<--"
"background>."

#. type: Plain text
#: start-stop-daemon.8:258
msgid "Print verbose informational messages."
msgstr "Muestra mensajes informativos detallados."

#. type: Plain text
#: start-stop-daemon.8:270
msgid ""
"The requested action was performed. If B<--oknodo> was specified, it's also "
"possible that nothing had to be done.  This can happen when B<--start> was "
"specified and a matching process was already running, or when B<--stop> was "
"specified and there were no matching processes."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:275
msgid "If B<--oknodo> was not specified and nothing was done."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:283
msgid ""
"If B<--stop> and B<--retry> were specified, but the end of the schedule was "
"reached and the processes were still running."
msgstr ""

#. type: TP
#: start-stop-daemon.8:283 start-stop-daemon.8:295
#, no-wrap
msgid "B<3>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:286
msgid "Any other error."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:289
msgid ""
"When using the B<--status> command, the following status codes are returned:"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:292
msgid "Program is running."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:295
msgid "Program is not running and the pid file exists."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:298
msgid "Program is not running."
msgstr ""

#. type: TP
#: start-stop-daemon.8:298
#, no-wrap
msgid "B<4>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:301
msgid "Unable to determine program status."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:305
msgid ""
"Start the B<food> daemon, unless one is already running (a process named "
"food, running as user food, with pid in food.pid):"
msgstr ""
"Arranca el demonio B<food>, a menos que se esté ejecutando uno (un proceso "
"llamado «food», ejecutándose como usuario «food», y con pid en «food.pid»):"

#. type: Plain text
#: start-stop-daemon.8:308
#, no-wrap
msgid "start-stop-daemon --start --oknodo --user food --name food --pidfile /var/run/food.pid --startas /usr/sbin/food --chuid food -- --daemon\n"
msgstr "start-stop-daemon --start --oknodo --user food --name food --pidfile /var/run/food.pid --startas /usr/sbin/food --chuid food -- --daemon\n"

#. type: Plain text
#: start-stop-daemon.8:311
msgid "Send B<SIGTERM> to B<food> and wait up to 5 seconds for it to stop:"
msgstr "Envía B<SIGTERM> a B<food> y espera 5 segundos para su finalización:"

#. type: Plain text
#: start-stop-daemon.8:314
#, no-wrap
msgid "start-stop-daemon --stop --oknodo --user food --name food --pidfile /var/run/food.pid --retry 5\n"
msgstr "start-stop-daemon --stop --oknodo --user food --name food --pidfile /var/run/food.pid --retry 5\n"

#. type: Plain text
#: start-stop-daemon.8:317
msgid "Demonstration of a custom schedule for stopping B<food>:"
msgstr ""
"Un ejemplo de una acción programada personalizada para detener B<food>: "

#. type: Plain text
#: start-stop-daemon.8:320
#, no-wrap
msgid "start-stop-daemon --stop --oknodo --user food --name food --pidfile /var/run/food.pid --retry=TERM/30/KILL/5\n"
msgstr "start-stop-daemon --stop --oknodo --user food --name food --pidfile /var/run/food.pid --retry=TERM/30/KILL/5\n"

#. type: Plain text
#: start-stop-daemon.8:326
msgid ""
"Marek Michalkiewicz E<lt>marekm@i17linuxb.ists.pwr.wroc.plE<gt> based on a "
"previous version by Ian Jackson E<lt>ian@chiark.greenend.org.ukE<gt>."
msgstr ""
"Marek Michalkiewicz E<lt>marekm@i17linuxb.ists.pwr.wroc.plE<gt> basada en "
"una versión previa de Ian Jackson E<lt>ian@chiark.greenend.org.ukE<gt>."

#. type: Plain text
#: start-stop-daemon.8:328
msgid ""
"Manual page by Klee Dienes E<lt>klee@mit.eduE<gt>, partially reformatted by "
"Ian Jackson."
msgstr ""
"Página de manual de Klee Dienes E<lt>klee@mit.eduE<gt>, reformateada "
"parcialmente por Ian Jackson."

#. type: TH
#: update-alternatives.8:8
#, no-wrap
msgid "update-alternatives"
msgstr "update-alternatives"

#. type: Plain text
#: update-alternatives.8:11
msgid ""
"update-alternatives - maintain symbolic links determining default commands"
msgstr ""
"update-alternatives - Gestión de enlaces simbólicos que determinan órdenes "
"predefinidas"

#. type: Plain text
#: update-alternatives.8:15
#, fuzzy
#| msgid "B<update-alternatives> [I<options>] I<command>"
msgid "B<update-alternatives> [I<option>...] I<command>"
msgstr "B<update-alternatives> [I<opciones>] I<orden>"

#. type: Plain text
#: update-alternatives.8:20
msgid ""
"B<update-alternatives> creates, removes, maintains and displays information "
"about the symbolic links comprising the Debian alternatives system."
msgstr ""
"B<update-alternatives> crea, elimina, gestiona y muestra información sobre "
"los enlaces simbólicos que conforman el sistema de alternativas de Debian."

#. type: Plain text
#: update-alternatives.8:28
msgid ""
"It is possible for several programs fulfilling the same or similar functions "
"to be installed on a single system at the same time.  For example, many "
"systems have several text editors installed at once.  This gives choice to "
"the users of a system, allowing each to use a different editor, if desired, "
"but makes it difficult for a program to make a good choice for an editor to "
"invoke if the user has not specified a particular preference."
msgstr ""
"Es posible que tenga en el sistema varios programas instalados a la vez que "
"realizan la misma función. Por ejemplo, muchos sistemas tienen varios "
"editores de texto instalados al mismo tiempo, lo que deja la elección de qué "
"editor de texto usar en manos del usuario, si éste lo desea, pero hace "
"difícil que un programa elija la opción correcta si el usuario no ha "
"definido ninguna preferencia."

#. type: Plain text
#: update-alternatives.8:50
msgid ""
"Debian's alternatives system aims to solve this problem.  A generic name in "
"the filesystem is shared by all files providing interchangeable "
"functionality.  The alternatives system and the system administrator "
"together determine which actual file is referenced by this generic name.  "
"For example, if the text editors B<ed>(1)  and B<nvi>(1)  are both installed "
"on the system, the alternatives system will cause the generic name I</usr/"
"bin/editor> to refer to I</usr/bin/nvi> by default. The system administrator "
"can override this and cause it to refer to I</usr/bin/ed> instead, and the "
"alternatives system will not alter this setting until explicitly requested "
"to do so."
msgstr ""
"El objetivo del sistema de alternativas de Debian es resolver este problema. "
"Un nombre genérico en el sistema de ficheros se comparte entre todos los "
"ficheros que tienen una funcionalidad intercambiable. El sistema de "
"alternativas junto con el administrador del sistema determinan a qué fichero "
"hace referencia este nombre genérico. Por ejemplo, si los editores de texto "
"B<ed>(1) y B<nvi>(1) están instalados conjuntamente en el sistema, el "
"sistema de alternativas hará que el nombre genérico I</usr/bin/editor> se "
"refiera a I</usr/bin/nvi> por omisión. El administrador del sistema puede "
"modificar esto y hacer que se refiera a I</usr/bin/ed>, y el sistema de "
"alternativas no modificará esto posteriormente hasta que se solicite "
"explícitamente."

#. type: Plain text
#: update-alternatives.8:60
msgid ""
"The generic name is not a direct symbolic link to the selected alternative.  "
"Instead, it is a symbolic link to a name in the I<alternatives> "
"I<directory>, which in turn is a symbolic link to the actual file "
"referenced.  This is done so that the system administrator's changes can be "
"confined within the I</etc> directory: the FHS (q.v.) gives reasons why this "
"is a Good Thing."
msgstr ""
"El nombre genérico no es un enlace simbólico directo a la alternativa "
"seleccionada. En vez de esto, es un enlace simbólico a un nombre en el "
"I<directorio> de I<alternativas> («/etc/alternatives»), que a su vez es un "
"enlace simbólico al fichero al que se hace referencia en realidad. El "
"objetivo es que los cambios del administrador se mantengan dentro del "
"directorio I</etc>: el FHS (q.v.) da razones de por qué esto es bueno."

#. type: Plain text
#: update-alternatives.8:72
msgid ""
"When each package providing a file with a particular functionality is "
"installed, changed or removed, B<update-alternatives> is called to update "
"information about that file in the alternatives system.  B<update-"
"alternatives> is usually called from the B<postinst> (configure) or B<prerm> "
"(install) scripts in Debian packages."
msgstr ""
"Cuando se instala o desinstala un paquete que provee un fichero con una "
"funcionalidad en particular se invoca B<update-alternatives> para actualizar "
"la información del sistema de alternativas acerca de ese fichero. "
"Habitualmente, B<update-alternatives> se invoca desde los scripts "
"B<postinst> (post-instalación o configuración) o B<prerm> (pre-eliminación) "
"de los paquetes de Debian."

#. type: Plain text
#: update-alternatives.8:91
msgid ""
"It is often useful for a number of alternatives to be synchronised, so that "
"they are changed as a group; for example, when several versions of the B<vi>"
"(1)  editor are installed, the man page referenced by I</usr/share/man/man1/"
"vi.1> should correspond to the executable referenced by I</usr/bin/vi>.  "
"B<update-alternatives> handles this by means of I<master> and I<slave> "
"links; when the master is changed, any associated slaves are changed too.  A "
"master link and its associated slaves make up a I<link> I<group>."
msgstr ""
"Habitualmente, es útil que un número de alternativas se sincronicen de tal "
"modo que se puedan cambiar como un grupo. Por ejemplo, cuando varias "
"versiones del editor B<vi>(1) están instaladas la página del manual "
"preferida por I</usr/share/man/man1/vi.1> debe corresponder con el "
"ejecutable al que hace referencia I</usr/bin/vi>. B<update-alternatives> "
"manipula esto en términos de enlaces I<maestro> y I<esclavo>; cuando se "
"cambia el maestro, todos los esclavos relacionados con él también cambian. "
"Un enlace maestro y sus esclavos relacionados forman un I<grupo> de "
"I<enlaces>."

#. type: Plain text
#: update-alternatives.8:100
msgid ""
"Each link group is, at any given time, in one of two modes: automatic or "
"manual.  When a group is in automatic mode, the alternatives system will "
"automatically decide, as packages are installed and removed, whether and how "
"to update the links.  In manual mode, the alternatives system will retain "
"the choice of the administrator and avoid changing the links (except when "
"something is broken)."
msgstr ""
"Cada grupo de enlaces está en todo momento en uno de los dos modos posibles: "
"automático o manual. Cuando un grupo está en modo automático el sistema de "
"alternativas decide automáticamente el momento de actualizar los enlaces a "
"medida que se instalan o desinstalan paquetes. En modo manual el sistema de "
"alternativas deja todas estas decisiones en manos del administrador del "
"sistema."

#. type: Plain text
#: update-alternatives.8:109
msgid ""
"Link groups are in automatic mode when they are first introduced to the "
"system.  If the system administrator makes changes to the system's automatic "
"settings, this will be noticed the next time B<update-alternatives> is run "
"on the changed link's group, and the group will automatically be switched to "
"manual mode."
msgstr ""
"Los grupos de enlaces se establecen en modo automático la primera vez que "
"aparecen en el sistema. Si el administrador del sistema hace cambios en la "
"configuración automática del sistema, B<update-alternatives> se dará cuenta "
"la próxima vez que se ejecute sobre el grupo de enlaces cambiados y el grupo "
"pasará automáticamente a modo manual."

#. type: Plain text
#: update-alternatives.8:116
msgid ""
"Each alternative has a I<priority> associated with it.  When a link group is "
"in automatic mode, the alternatives pointed to by members of the group will "
"be those which have the highest priority."
msgstr ""
"Cada alternativa tiene una I<prioridad> asociada. Cuando un grupo de enlaces "
"se encuentra en modo automático, los miembros del grupo apuntarán a la "
"alternativa con la prioridad más alta."

#. type: Plain text
#: update-alternatives.8:133
#, fuzzy
#| msgid ""
#| "When using the I<--config> option, B<update-alternatives> will list all "
#| "of the choices for the link group of which given I<name> is the master "
#| "alternative name. The current choice is marked with a '*'.  You will then "
#| "be prompted for your choice regarding this link group.  Depending on the "
#| "choice made, the link group might no longer be in I<auto> mode. You will "
#| "need to use the I<--auto> option in order to return to the automatic mode "
#| "(or you can rerun I<--config> and select the entry marked as automatic)."
msgid ""
"When using the B<--config> option, B<update-alternatives> will list all of "
"the choices for the link group of which given I<name> is the master "
"alternative name. The current choice is marked with a '*'.  You will then be "
"prompted for your choice regarding this link group.  Depending on the choice "
"made, the link group might no longer be in I<auto> mode. You will need to "
"use the B<--auto> option in order to return to the automatic mode (or you "
"can rerun B<--config> and select the entry marked as automatic)."
msgstr ""
"El uso de la opción I<--config> hace que B<update-alternatives> muestre "
"todas las elecciones dentro del grupo de enlaces que tienen como maestro a "
"I<nombre>. La elección presente se marca con «*». A continuación se le "
"preguntará por su elección dentro de las opciones posibles en el grupo de "
"enlaces. Una vez que se haga realizado algún cambio el grupo de enlaces "
"dejará de estar en modo I<automático>. Es necesario usar la opción I<--auto> "
"para devolver el grupo de enlaces al estado automático."

#. type: Plain text
#: update-alternatives.8:137
#, fuzzy
#| msgid ""
#| "If you want to configure non-interactively you can use the I<--set> "
#| "option instead (see below)."
msgid ""
"If you want to configure non-interactively you can use the B<--set> option "
"instead (see below)."
msgstr ""
"Si quiere realizar la configuración de un modo no interactivo puede usar la "
"opción I<--set> en su lugar (véase más abajo)."

#. type: Plain text
#: update-alternatives.8:148
msgid ""
"Different packages providing the same file need to do so B<cooperatively>.  "
"In other words, the usage of B<update-alternatives> is B<mandatory> for all "
"involved packages in such case. It is not possible to override some file in "
"a package that does not employ the B<update-alternatives> mechanism."
msgstr ""
"Los diferentes paquetes que proveen el mismo fichero tienen que hacerlo de "
"forma B<cooperativa>. En otras palabras, el uso de B<update-alternatives> es "
"B<obligatorio> con todos los paquetes relacionados con esa situación. No es "
"posible sobreescribir el fichero de un paquete que no usa el mecanismo de "
"B<update-alternatives>."

#. type: SH
#: update-alternatives.8:149
#, no-wrap
msgid "TERMINOLOGY"
msgstr "TERMINOLOGÍA"

#. type: Plain text
#: update-alternatives.8:154
msgid ""
"Since the activities of B<update-alternatives> are quite involved, some "
"specific terms will help to explain its operation."
msgstr ""
"Debido a que las actividades que realiza B<update-alternatives> están "
"fuertemente relacionadas entre sí, la definición de algunos términos "
"específicos ayudará a entender su funcionamiento."

#. type: TP
#: update-alternatives.8:154
#, no-wrap
msgid "generic name (or alternative link)"
msgstr "nombre genérico (o enlace alternativo)"

#. type: Plain text
#: update-alternatives.8:160
msgid ""
"A name, like I</usr/bin/editor>, which refers, via the alternatives system, "
"to one of a number of files of similar function."
msgstr ""
"Un nombre, como I</usr/bin/editor>, que mediante el sistema de alternativas "
"hace referencia a uno de los posibles ficheros con una función similar."

#. type: TP
#: update-alternatives.8:160
#, no-wrap
msgid "alternative name"
msgstr "nombre de la alternativa"

#. type: Plain text
#: update-alternatives.8:163
msgid "The name of a symbolic link in the alternatives directory."
msgstr "El nombre de un enlace simbólico en el directorio de alternativas."

#. type: TP
#: update-alternatives.8:163
#, no-wrap
msgid "alternative (or alternative path)"
msgstr "alternativa (o ruta alternativa)"

#. type: Plain text
#: update-alternatives.8:167
msgid ""
"The name of a specific file in the filesystem, which may be made accessible "
"via a generic name using the alternatives system."
msgstr ""
"El nombre de un fichero específico en el sistema de ficheros al que se puede "
"acceder a través de un nombre genérico usando el sistema de alternativas."

#. type: TP
#: update-alternatives.8:167
#, no-wrap
msgid "alternatives directory"
msgstr "directorio de alternativas"

#. type: Plain text
#: update-alternatives.8:172
msgid "A directory, by default I</etc/alternatives>, containing the symlinks."
msgstr ""
"El directorio que contiene los enlaces, por omisión es I</etc/alternatives>."

#. type: TP
#: update-alternatives.8:172
#, no-wrap
msgid "administrative directory"
msgstr "directorio administrativo"

#. type: Plain text
#: update-alternatives.8:179
msgid ""
"A directory, by default I</var/lib/dpkg/alternatives>, containing B<update-"
"alternatives>' state information."
msgstr ""
"El directorio que contiene la información de estado de B<update-"
"alternatives>, por omisión es I</var/lib/dpkg/alternatives>."

#. type: TP
#: update-alternatives.8:179
#, no-wrap
msgid "link group"
msgstr "grupo de enlaces"

#. type: Plain text
#: update-alternatives.8:182
msgid "A set of related symlinks, intended to be updated as a group."
msgstr ""
"Un conjunto de enlaces relacionados con el objetivo de que se actualicen "
"como grupo."

#. type: TP
#: update-alternatives.8:182
#, no-wrap
msgid "master link"
msgstr "enlace maestro"

#. type: Plain text
#: update-alternatives.8:186
msgid ""
"The alternative link in a link group which determines how the other links in "
"the group are configured."
msgstr ""
"El enlace alternativo en un grupo de enlaces que determina cómo se "
"configuran el resto de los enlaces del grupo."

#. type: TP
#: update-alternatives.8:186
#, no-wrap
msgid "slave link"
msgstr "enlace esclavo"

#. type: Plain text
#: update-alternatives.8:190
msgid ""
"An alternative link in a link group which is controlled by the setting of "
"the master link."
msgstr ""
"Un enlace alternativo en un grupo de enlaces definido por el enlace maestro."

#. type: TP
#: update-alternatives.8:190
#, no-wrap
msgid "automatic mode"
msgstr "modo automático"

#. type: Plain text
#: update-alternatives.8:196
msgid ""
"When a link group is in automatic mode, the alternatives system ensures that "
"the links in the group point to the highest priority alternative appropriate "
"for the group."
msgstr ""
"Cuando un grupo de enlaces se encuentra en modo automático el sistema de "
"alternativas asegura que los enlaces del grupo apuntan a la alternativa con "
"la mayor prioridad en ese grupo."

#. type: TP
#: update-alternatives.8:196
#, no-wrap
msgid "manual mode"
msgstr "modo manual"

#. type: Plain text
#: update-alternatives.8:201
msgid ""
"When a link group is in manual mode, the alternatives system will not make "
"any changes to the system administrator's settings."
msgstr ""
"Cuando un grupo de enlaces se encuentra en modo manual el sistema de "
"alternativas no hará ningún cambio en la configuración del administrador."

#. type: TP
#: update-alternatives.8:203
#, no-wrap
msgid "B<--install> I<link name path priority> [B<--slave> I<link name path>]..."
msgstr "B<--install> I<enlace nombre ruta prioridad> [B<--slave> I<enlace nombre ruta>] ..."

#. type: Plain text
#: update-alternatives.8:222
msgid ""
"Add a group of alternatives to the system.  I<link> is the generic name for "
"the master link, I<name> is the name of its symlink in the alternatives "
"directory, and I<path> is the alternative being introduced for the master "
"link.  The arguments after B<--slave> are the generic name, symlink name in "
"the alternatives directory and the alternative path for a slave link.  Zero "
"or more B<--slave> options, each followed by three arguments, may be "
"specified. Note that the master alternative must exist or the call will "
"fail. However if a slave alternative doesn't exist, the corresponding slave "
"alternative link will simply not be installed (a warning will still be "
"displayed). If some real file is installed where an alternative link has to "
"be installed, it is kept unless B<--force> is used."
msgstr ""
"Añade un grupo de alternativas al sistema. I<enlace> es el nombre genérico "
"del enlace maestro, I<nombre> es el nombre del enlace simbólico en el "
"directorio de alternativas, y I<ruta> es la alternativa que se va a "
"introducir para el enlace maestro. Los argumentos a continuación de B<--"
"slave> son el nombre genérico, el nombre del enlace simbólico en el "
"directorio de alternativas, y la ruta alternativa para el enlace esclavo. "
"Puede definir cero o más opciones de B<--slave>, cada uno seguido de tres "
"argumentos. Tenga en cuenta que la alternativa maestra debe existir "
"previamente o la invocación fallará. Por otra parte, si la alternativa "
"esclava no existe, el enlace esclavo alternativo correspondiente no se "
"instalará, mostrando un aviso. Un fichero real instalado en la ubicación de "
"un enlace alternativo nunca se eliminará a menos que se use B<--force>."

#. type: Plain text
#: update-alternatives.8:233
msgid ""
"If the alternative name specified exists already in the alternatives "
"system's records, the information supplied will be added as a new set of "
"alternatives for the group.  Otherwise, a new group, set to automatic mode, "
"will be added with this information.  If the group is in automatic mode, and "
"the newly added alternatives' priority is higher than any other installed "
"alternatives for this group, the symlinks will be updated to point to the "
"newly added alternatives."
msgstr ""
"Si el nombre de la alternativa definida ya existe en los registros del "
"sistema de alternativas la información suministrada se añadirá como un nuevo "
"conjunto de alternativas para el grupo. De otra forma se creará un grupo "
"nuevo en modo automático, al que se le añadirá la información suministrada. "
"Si el grupo está en modo automático, y la prioridad nueva añadida es mayor "
"que cualquier otra alternativa instalada para ese grupo, los enlaces se "
"actualizarán para apuntar a las nuevas alternativas."

#. type: TP
#: update-alternatives.8:233
#, no-wrap
msgid "B<--set> I<name path>"
msgstr "B<--set> I<nombre ruta>"

#. type: Plain text
#: update-alternatives.8:242
#, fuzzy
#| msgid ""
#| "Set the program I<path> as alternative for I<name.> This is equivalent to "
#| "I<--config> but is non-interactive and thus scriptable."
msgid ""
"Set the program I<path> as alternative for I<name.> This is equivalent to "
"B<--config> but is non-interactive and thus scriptable."
msgstr ""
"Define la I<ruta> del programa como alternativa para I<nombre>. Equivale a "
"I<--config> pero no es interactivo, de modo que permite su inclusión en "
"scripts."

#. type: TP
#: update-alternatives.8:242
#, no-wrap
msgid "B<--remove> I<name path>"
msgstr "B<--remove> I<nombre ruta>"

#. type: Plain text
#: update-alternatives.8:263
msgid ""
"Remove an alternative and all of its associated slave links.  I<name> is a "
"name in the alternatives directory, and I<path> is an absolute filename to "
"which I<name> could be linked. If I<name> is indeed linked to I<path>, "
"I<name> will be updated to point to another appropriate alternative (and the "
"group is put back in automatic mode), or removed if there is no such "
"alternative left.  Associated slave links will be updated or removed, "
"correspondingly.  If the link is not currently pointing to I<path>, no links "
"are changed; only the information about the alternative is removed."
msgstr ""
"Elimina una alternativa y todos sus enlaces esclavos asociados. I<nombre> es "
"el nombre en el directorio de alternativas y I<ruta> es el nombre absoluto "
"del fichero al que I<nombre> se podría enlazar. Si I<nombre> está en "
"realidad enlazado a I<ruta>, I<nombre> se actualizará para que apunte a otra "
"alternativa apropiada o se eliminará si no queda ninguna alternativa "
"restante. Los enlaces esclavos asociados se actualizarán o eliminarán "
"correspondientemente. Si el enlace no apunta a I<ruta>, no se cambia ningún "
"enlace, sólo se elimina la información acerca de la alternativa."

#. type: TP
#: update-alternatives.8:263
#, no-wrap
msgid "B<--remove-all> I<name>"
msgstr "B<--remove-all> I<nombre>"

#. type: Plain text
#: update-alternatives.8:268
msgid ""
"Remove all alternatives and all of their associated slave links.  I<name> is "
"a name in the alternatives directory."
msgstr ""
"Elimina todas las alternativas y todos sus enlaces esclavos asociados. "
"I<nombre> es un nombre en el directorio de alternativas."

#. type: Plain text
#: update-alternatives.8:275
msgid ""
"Call B<--config> on all alternatives. It can be usefully combined with B<--"
"skip-auto> to review and configure all alternatives which are not configured "
"in automatic mode. Broken alternatives are also displayed.  Thus a simple "
"way to fix all broken alternatives is to call B<yes \\[aq]\\[aq] | update-"
"alternatives --force --all>."
msgstr ""
"Invoca B<--config> sobre todas las alternativas. Puede ser útil en "
"combinación con B<--skip-auto> para revisar y configurar todas las "
"alternativas que no están configuradas en modo automático. También se "
"muestran las alternativas rotas. Una manera sencilla de arreglar todas las "
"alternativas rotas es invocar B<yes \\[aq]\\[aq] | update-alternatives --"
"force --all>."

#. type: TP
#: update-alternatives.8:275
#, no-wrap
msgid "B<--auto> I<name>"
msgstr "B<--auto> I<nombre>"

#. type: Plain text
#: update-alternatives.8:282
msgid ""
"Switch the link group behind the alternative for I<name> to automatic mode.  "
"In the process, the master symlink and its slaves are updated to point to "
"the highest priority installed alternatives."
msgstr ""
"Cambia el grupo de enlaces dependientes de la alternativa I<nombre> a modo "
"automático. En el proceso, el enlace simbólico y sus esclavos se "
"actualizarán para apuntar a la alternativa instalada con una prioridad mayor."

#. type: TP
#: update-alternatives.8:282
#, no-wrap
msgid "B<--display> I<name>"
msgstr "B<--display> I<nombre>"

#. type: Plain text
#: update-alternatives.8:291
msgid ""
"Display information about the link group.  Information displayed includes "
"the group's mode (auto or manual), which alternative the master link "
"currently points to, what other alternatives are available (and their "
"corresponding slave alternatives), and the highest priority alternative "
"currently installed."
msgstr ""
"Muestra información acerca del grupo de enlaces. La información incluye el "
"modo del grupo (manual o automático), a qué alternativa apunta el enlace "
"maestro, qué otras alternativas existen (y sus alternativas esclavas "
"correspondientes), y la alternativa de mayor prioridad instalada en el "
"sistema."

#. type: TP
#: update-alternatives.8:291
#, no-wrap
msgid "B<--get-selections>"
msgstr "B<--get-selections>"

#. type: Plain text
#: update-alternatives.8:299
msgid ""
"List all master alternative names (those controlling a link group)  and "
"their status. Each line contains up to 3 fields (separated by one or more "
"spaces). The first field is the alternative name, the second one is the "
"status (either \"auto\" or \"manual\"), and the last one contains the "
"current choice in the alternative (beware: it's a filename and thus might "
"contain spaces)."
msgstr ""
"Crea un listado de todas los nombres de alternativas maestras (aquellas que "
"controlan un grupo de enlaces) y su estado. Cada línea contiene hasta 3 "
"campos, separados por uno o más espacios. El primer campo es el nombre de la "
"alternativa, el segundo es el estado (bien «auto» o «manual»), y el último "
"contiene la elección presente para la alternativa (puede contener espacios "
"ya que es un nombre de fichero)."

#. type: Plain text
#: update-alternatives.8:304
msgid ""
"Read configuration of alternatives on standard input in the format generated "
"by B<update-alternatives --get-selections> and reconfigure them accordingly."
msgstr ""
"Lee la configuración de alternativas por la entrada estándar en el formato "
"generado por B<update-alternatives --get-selections> y los reconfigura "
"apropiadamente."

#. type: TP
#: update-alternatives.8:304
#, no-wrap
msgid "B<--query> I<name>"
msgstr "B<--query> I<nombre>"

#. type: Plain text
#: update-alternatives.8:309
msgid ""
"Display information about the link group like --display does, but in a "
"machine parseable way (see section B<QUERY FORMAT> below)."
msgstr ""
"Muestra información acerca del grupo de enlaces, al igual que «--display», "
"pero de una manera que el sistema puede analizar (consulte la sección "
"B<FORMATO DE CONSULTA> más abajo)."

#. type: TP
#: update-alternatives.8:309
#, no-wrap
msgid "B<--list> I<name>"
msgstr "B<--list> I<name>"

#. type: Plain text
#: update-alternatives.8:312
msgid "Display all targets of the link group."
msgstr "Muestra todos los objetivos del grupo de enlaces."

#. type: TP
#: update-alternatives.8:312
#, no-wrap
msgid "B<--config> I<name>"
msgstr "B<--config> I<nombre>"

#. type: Plain text
#: update-alternatives.8:316
msgid ""
"Show available alternatives for a link group and allow the user to "
"interactively select which one to use. The link group is updated."
msgstr ""
"Muestra las alternativas disponibles para un grupo de enlaces y permite al "
"usuario seleccionar interactivamente cual usar. El grupo de enlaces se "
"actualizará."

#. type: TP
#: update-alternatives.8:324
#, no-wrap
msgid "B<--altdir>I< directory>"
msgstr "B<--altdir> I<directorio>"

#. type: Plain text
#: update-alternatives.8:328
msgid ""
"Specifies the alternatives directory, when this is to be different from the "
"default."
msgstr ""
"Define el directorio de alternativas, cuando es diferente del directorio por "
"omisión."

#. type: Plain text
#: update-alternatives.8:332
msgid ""
"Specifies the administrative directory, when this is to be different from "
"the default."
msgstr ""
"Define el directorio administrativo, cuando es diferente del directorio por "
"omisión."

#. type: TP
#: update-alternatives.8:332
#, no-wrap
msgid "B<--log>I< file>"
msgstr "B<--log=>I<fichero>"

#. type: Plain text
#: update-alternatives.8:336
msgid ""
"Specifies the log file, when this is to be different from the default (/var/"
"log/alternatives.log)."
msgstr ""
"Define el fichero de registro de alternativas cuando es diferente del valor "
"por omisión («/var/log/alternativas.log»)."

#. type: Plain text
#: update-alternatives.8:340
#, fuzzy
#| msgid ""
#| "Let B<update-alternatives> replace any real file that is installed where "
#| "an alternative link has to be installed."
msgid ""
"Let B<update-alternatives> replace or drop any real file that is installed "
"where an alternative link has to be installed or removed."
msgstr ""
"Deja que B<update-alternatives> reemplace cualquier fichero real instalado "
"en la misma ubicación que la de un enlace alternativo."

#. type: TP
#: update-alternatives.8:340
#, no-wrap
msgid "B<--skip-auto>"
msgstr "B<--skip-auto>"

#. type: Plain text
#: update-alternatives.8:345
msgid ""
"Skip configuration prompt for alternatives which are properly configured in "
"automatic mode. This option is only relevant with B<--config> or B<--all>."
msgstr ""
"Omite el dialogo de configuración de alternativas para aquellas configuradas "
"adecuadamente en modo automático. Esta opción solo tiene sentido con B<--"
"config> o B<--all>."

#. type: TP
#: update-alternatives.8:345
#, no-wrap
msgid "B<--verbose>"
msgstr "B<--verbose>"

#. type: Plain text
#: update-alternatives.8:350
msgid "Generate more comments about what B<update-alternatives> is doing."
msgstr ""
"Genera una salida con más información acerca de lo que B<update-"
"alternatives> está haciendo."

#. type: Plain text
#: update-alternatives.8:353
msgid "Don't generate any comments unless errors occur."
msgstr "No genera ningún comentario a menos que ocurra algún error."

#. type: Plain text
#: update-alternatives.8:359
msgid ""
"If set and the B<--admindir> option has not been specified, it will be used "
"as the base administrative directory."
msgstr ""

#. type: TP
#: update-alternatives.8:361
#, no-wrap
msgid "I</etc/alternatives/>"
msgstr "I</etc/alternatives/>"

#. type: Plain text
#: update-alternatives.8:367
msgid ""
"The default alternatives directory.  Can be overridden by the B<--altdir> "
"option."
msgstr ""
"El directorio de alternativas por omisión. Se puede cambiar con la opción "
"B<--altdir>."

#. type: TP
#: update-alternatives.8:367
#, no-wrap
msgid "I</var/lib/dpkg/alternatives/>"
msgstr "I</var/lib/dpkg/alternatives/>"

#. type: Plain text
#: update-alternatives.8:373
msgid ""
"The default administration directory.  Can be overridden by the B<--"
"admindir> option."
msgstr ""
"El directorio de administración por omisión. Se puede modificar con la "
"opción B<--admindir>."

#. type: Plain text
#: update-alternatives.8:378
msgid "The requested action was successfully performed."
msgstr "La acción requerida finalizó con éxito."

#. type: Plain text
#: update-alternatives.8:382
msgid ""
"Problems were encountered whilst parsing the command line or performing the "
"action."
msgstr ""
"Se encontraron problemas analizando la línea de órdenes o realizando la "
"acción requerida."

#. type: SH
#: update-alternatives.8:383
#, no-wrap
msgid "QUERY FORMAT"
msgstr "FORMATO DE CONSULTA"

#. type: Plain text
#: update-alternatives.8:388
#, fuzzy
#| msgid ""
#| "The B<update-alternatives> I<--query> format is using an RFC822-like flat "
#| "format. It's made of I<n> + 1 blocks where I<n> is the number of "
#| "alternatives available in the queried link group. The first block "
#| "contains the following fields:"
msgid ""
"The B<update-alternatives --query> format is using an RFC822-like flat "
"format. It's made of I<n> + 1 blocks where I<n> is the number of "
"alternatives available in the queried link group. The first block contains "
"the following fields:"
msgstr ""
"El formato de consulta (I<--query>) de B<update-alternatives> usa un formato "
"simple de tipo RFC822. Se compone de I<n> + 1 bloques, en el que I<n> es el "
"número de alternativas disponibles en el grupo de enlaces consultado. El "
"primer bloque contiene los siguientes campos:"

#. type: TP
#: update-alternatives.8:388
#, fuzzy, no-wrap
#| msgid "B<Link:> E<lt>linkE<gt>"
msgid "B<Link:>I< link>"
msgstr "B<Link:> E<lt>enlaceE<gt>"

#. type: Plain text
#: update-alternatives.8:391
msgid "The generic name of the alternative."
msgstr "El nombre genérico de la alternativa."

#. type: TP
#: update-alternatives.8:391
#, fuzzy, no-wrap
#| msgid "B<Status:> E<lt>statusE<gt>"
msgid "B<Status:>I< status>"
msgstr "B<Status:> E<lt>estadoE<gt>"

#. type: Plain text
#: update-alternatives.8:394
msgid "The status of the alternative (B<auto> or B<manual>)."
msgstr "El estado de la alternativa (B<auto> o B<manual>)."

#. type: TP
#: update-alternatives.8:394
#, fuzzy, no-wrap
#| msgid "B<Best:> E<lt>best choiceE<gt>"
msgid "B<Best:>I< best-choice>"
msgstr "B<Best:> E<lt>mejor-opciónE<gt>"

#. type: Plain text
#: update-alternatives.8:398
msgid ""
"The path of the best alternative for this link group. Not present if there "
"is no alternatives available."
msgstr ""
"La ruta de la mejor alternativa para este grupo de enlaces. No aparece si no "
"existen alternativas disponibles."

#. type: TP
#: update-alternatives.8:398
#, fuzzy, no-wrap
#| msgid "B<Value:> E<lt>currently selected alternativeE<gt> "
msgid "B<Value:>I< currently-selected-alternative>"
msgstr "B<Value:> E<lt>alternativa seleccionadaE<gt> "

#. type: Plain text
#: update-alternatives.8:402
msgid ""
"The path of the currently selected alternative. It can also take the magic "
"value B<none>. It is used if the link doesn't exist."
msgstr ""
"La ruta de la alternativa seleccionada en ese momento. También puede tomar "
"el valor mágico B<none> (ninguno). Se usa si el enlace no existe."

#. type: TP
#: update-alternatives.8:403
#, no-wrap
msgid "The other blocks describe the available alternatives in the queried link group:"
msgstr "Los siguientes bloques describen las alternativas disponibles en el grupo de enlaces consultado:"

#. type: TP
#: update-alternatives.8:405
#, fuzzy, no-wrap
#| msgid "B<Alternative:> E<lt>path of this alternativeE<gt>"
msgid "B<Alternative:>I< path-of-this-alternative>"
msgstr "B<Alternative:> E<lt>ruta a esta alternativaE<gt>"

#. type: Plain text
#: update-alternatives.8:408
msgid "Path to this block's alternative."
msgstr "Ruta a la alternativa de este bloque."

#. type: TP
#: update-alternatives.8:408
#, fuzzy, no-wrap
#| msgid "B<Priority:> E<lt>priority valueE<gt>"
msgid "B<Priority:>I< priority-value>"
msgstr "B<Priority: >E<lt>prioridadE<gt>"

#. type: Plain text
#: update-alternatives.8:411
msgid "Value of the priority of this alternative."
msgstr "Valor de la prioridad de esta alternativa."

#. type: TP
#: update-alternatives.8:411
#, fuzzy, no-wrap
#| msgid "B<Slaves:> E<lt>list of slavesE<gt>"
msgid "B<Slaves:>I< list-of-slaves>"
msgstr "B<Slaves:> E<lt>lista de esclavosE<gt>"

#. type: Plain text
#: update-alternatives.8:417
msgid ""
"When this header is present, the B<next> lines hold all slave alternatives "
"associated to the master link of the alternative. There is one slave per "
"line. Each line contains one space, the generic name of the slave "
"alternative, another space, and the path to the slave alternative."
msgstr ""
"Cuando esta cabecera está presente, las líneas B<next> contienen todas las "
"alternativas esclavas asociadas al enlace maestro de la alternativa. Hay un "
"esclavo por línea. Cada línea contiene un espacio, el nombre genérico de la "
"alternativa esclava, otro espacio, y la ruta a la alternativa esclava."

#. type: TP
#: update-alternatives.8:418
#, no-wrap
msgid "B<Example>"
msgstr "B<Ejemplo>"

#. type: Plain text
#: update-alternatives.8:426
#, no-wrap
msgid ""
"$ update-alternatives --query editor\n"
"Link: editor\n"
"Status: auto\n"
"Best: /usr/bin/vim.gtk\n"
"Value: /usr/bin/vim.gtk\n"
msgstr ""
"$ update-alternatives --query editor\n"
"Link: editor\n"
"Status: auto\n"
"Best: /usr/bin/vim.gtk\n"
"Value: /usr/bin/vim.gtk\n"

#. type: Plain text
#: update-alternatives.8:431
#, no-wrap
msgid ""
"Alternative: /bin/ed\n"
"Priority: -100\n"
"Slaves:\n"
" editor.1.gz /usr/share/man/man1/ed.1.gz\n"
msgstr ""
"Alternative: /bin/ed\n"
"Priority: -100\n"
"Slaves:\n"
" editor.1.gz /usr/share/man/man1/ed.1.gz\n"

#. type: Plain text
#: update-alternatives.8:446
#, no-wrap
msgid ""
"Alternative: /usr/bin/vim.gtk\n"
"Priority: 50\n"
"Slaves:\n"
" editor.1.gz /usr/share/man/man1/vim.1.gz\n"
" editor.ru.1.gz /usr/share/man/ru/man1/vim.1.gz\n"
" editor.pl.ISO8859-2.1.gz /usr/share/man/pl.ISO8859-2/man1/vim.1.gz\n"
" editor.it.ISO8859-1.1.gz /usr/share/man/it.ISO8859-1/man1/vim.1.gz\n"
" editor.pl.UTF-8.1.gz /usr/share/man/pl.UTF-8/man1/vim.1.gz\n"
" editor.it.1.gz /usr/share/man/it/man1/vim.1.gz\n"
" editor.fr.UTF-8.1.gz /usr/share/man/fr.UTF-8/man1/vim.1.gz\n"
" editor.fr.1.gz /usr/share/man/fr/man1/vim.1.gz\n"
" editor.it.UTF-8.1.gz /usr/share/man/it.UTF-8/man1/vim.1.gz\n"
" editor.pl.1.gz /usr/share/man/pl/man1/vim.1.gz\n"
" editor.fr.ISO8859-1.1.gz /usr/share/man/fr.ISO8859-1/man1/vim.1.gz\n"
msgstr ""
"Alternative: /usr/bin/vim.gtk\n"
"Priority: 50\n"
"Slaves:\n"
" editor.1.gz /usr/share/man/man1/vim.1.gz\n"
" editor.ru.1.gz /usr/share/man/ru/man1/vim.1.gz\n"
" editor.pl.ISO8859-2.1.gz /usr/share/man/pl.ISO8859-2/man1/vim.1.gz\n"
" editor.it.ISO8859-1.1.gz /usr/share/man/it.ISO8859-1/man1/vim.1.gz\n"
" editor.pl.UTF-8.1.gz /usr/share/man/pl.UTF-8/man1/vim.1.gz\n"
" editor.it.1.gz /usr/share/man/it/man1/vim.1.gz\n"
" editor.fr.UTF-8.1.gz /usr/share/man/fr.UTF-8/man1/vim.1.gz\n"
" editor.fr.1.gz /usr/share/man/fr/man1/vim.1.gz\n"
" editor.it.UTF-8.1.gz /usr/share/man/it.UTF-8/man1/vim.1.gz\n"
" editor.pl.1.gz /usr/share/man/pl/man1/vim.1.gz\n"
" editor.fr.ISO8859-1.1.gz /usr/share/man/fr.ISO8859-1/man1/vim.1.gz\n"

#. type: Plain text
#: update-alternatives.8:458
#, fuzzy
#| msgid ""
#| "With I<--verbose> B<update-alternatives> chatters incessantly about its "
#| "activities on its standard output channel.  If problems occur, B<update-"
#| "alternatives> outputs error messages on its standard error channel and "
#| "returns an exit status of 2.  These diagnostics should be self-"
#| "explanatory; if you do not find them so, please report this as a bug."
msgid ""
"With B<--verbose> B<update-alternatives> chatters incessantly about its "
"activities on its standard output channel.  If problems occur, B<update-"
"alternatives> outputs error messages on its standard error channel and "
"returns an exit status of 2.  These diagnostics should be self-explanatory; "
"if you do not find them so, please report this as a bug."
msgstr ""
"Con la opción I<--verbose>, B<update-alternatives> informa extensamente "
"acerca de sus actividades por la salida estándar. Si ocurre algún problema, "
"B<update-alternatives> envía los mensajes de error por la salida de errores "
"estándar y cierra con el estado 2. Los diagnósticos deberían ser auto-"
"explicativos; si a usted no se lo parecen, le rogamos informe de esto como "
"un fallo."

#. type: Plain text
#: update-alternatives.8:464
msgid ""
"There are several packages which provide a text editor compatible with "
"B<vi>, for example B<nvi> and B<vim>. Which one is used is controlled by the "
"link group B<vi>, which includes links for the program itself and the "
"associated manpage."
msgstr ""
"Hay varios paquetes que proporcionan un editor de texto compatible con "
"B<vi>, por ejemplo B<nvi>y B<vim>. El grupo de enlaces B<vi> selecciona cual "
"se usa, incluyendo enlaces para el programa y la página del manual asociada."

#. type: Plain text
#: update-alternatives.8:467
#, fuzzy
#| msgid ""
#| "To display the available packages which provide B<vi> and the current "
#| "setting for it, use the I<--display> action:"
msgid ""
"To display the available packages which provide B<vi> and the current "
"setting for it, use the B<--display> action:"
msgstr ""
"Para mostrar los paquetes disponibles que proporcionan B<vi> y su "
"configuración actual, use la opción I<--display:>"

#. type: Plain text
#: update-alternatives.8:470
msgid "B<update-alternatives --display vi>"
msgstr "B<update-alternatives --display vi>"

#. type: Plain text
#: update-alternatives.8:474
msgid ""
"To choose a particular B<vi> implementation, use this command as root and "
"then select a number from the list:"
msgstr ""
"Para elegir una implementación de B<vi> en particular use la siguiente orden "
"como el usuario «root» y seleccione un número de la lista:"

#. type: Plain text
#: update-alternatives.8:477
msgid "B<update-alternatives --config vi>"
msgstr "B<update-alternatives --config vi>"

#. type: Plain text
#: update-alternatives.8:481
msgid ""
"To go back to having the B<vi> implementation chosen automatically, do this "
"as root:"
msgstr ""
"Para que la implementación de B<vi> se vuelva a elegir de forma automática, "
"haga como administrador:"

#. type: Plain text
#: update-alternatives.8:484
msgid "B<update-alternatives --auto vi>"
msgstr "B<update-alternatives --auto vi>"

#. type: Plain text
#: update-alternatives.8:488
msgid ""
"If you find a bug, please report it using the Debian bug-tracking system."
msgstr ""
"Si encuentra algún fallo informe de ello usando el sistema de seguimiento de "
"fallos de Debian."

#. type: Plain text
#: update-alternatives.8:493
msgid ""
"If you find any discrepancy between the operation of B<update-alternatives> "
"and this manual page, it is a bug, either in the implementation or the "
"documentation; please report it."
msgstr ""
"Si encuentra alguna discrepancia entre el modo de operar de B<update-"
"alternatives> y esta página del manual, es un fallo, bien en la "
"implementación o bien en la documentación. Le rogamos que informe de ello."

#. type: Plain text
#: update-alternatives.8:504
msgid ""
"This manual page is copyright 1997,1998 Charles Briscoe-Smith and others."
msgstr ""
"Los derechos de autor de esta página de manual pertenecen a Charles Briscoe-"
"Smith y otros, 1997,1998."

#. type: Plain text
#: update-alternatives.8:507
msgid ""
"This is free documentation; see the GNU General Public Licence version 2 or "
"later for copying conditions. There is NO WARRANTY."
msgstr ""
"Esto es software libre; vea la versión 2 o posterior de la Licencia Pública "
"General GNU para condiciones de copia. NO hay ninguna garantía."

#. type: Plain text
#: update-alternatives.8:510
msgid "B<ln>(1), FHS, the Filesystem Hierarchy Standard."
msgstr "B<ln>(1), FHS, el estándar de la jerarquía del sistema de ficheros."

#~ msgid "2009-02-27"
#~ msgstr "27 de Febrero de 2009"

#, fuzzy
#~| msgid "2009-02-27"
#~ msgid "2011-04-29"
#~ msgstr "27 de Febrero de 2009"

#~ msgid "2006-02-28"
#~ msgstr "28 de Febrero de 2006"

#~ msgid "2007-03-07"
#~ msgstr "7 de Marzo de 2007"

#~ msgid "2007-07-16"
#~ msgstr "16 de Julio de 2007"

#~ msgid "2009-03-15"
#~ msgstr "15 de Marzo de 2009"

#, fuzzy
#~| msgid "2009-02-27"
#~ msgid "2011-04-27"
#~ msgstr "27 de Febrero de 2009"

#, fuzzy
#~| msgid "2009-02-27"
#~ msgid "2011-07-07"
#~ msgstr "27 de Febrero de 2009"

#~ msgid "2010-04-18"
#~ msgstr "18 de Abril de 2010"

#, fuzzy
#~| msgid "User configuration file."
#~ msgid "Package maintainer configuration file."
#~ msgstr "Fichero de configuración del usuario."

#~ msgid "2010-07-29"
#~ msgstr "29 de julio del 2010"

#~ msgid "B<Package:> E<lt>package nameE<gt>"
#~ msgstr "B<Package:> E<lt>nombre-del-paqueteE<gt>"

#, fuzzy
#~| msgid "2010-01-28"
#~ msgid "2010-11-22"
#~ msgstr "28 de enero del 2010"

#, fuzzy
#~| msgid "B<Source:> E<lt>source nameE<gt>"
#~ msgid "B<Multi-Arch:> E<lt>same|foreign|allowedE<gt> "
#~ msgstr "B<Source:> E<lt>nombre-del-código-fuenteE<gt>"

#~ msgid "2010-01-28"
#~ msgstr "28 de enero del 2010"

#~ msgid ""
#~ "The first member is named B<debian-split> and contains a series of lines, "
#~ "separated by newlines. Currently seven lines are present.  The first is "
#~ "the format version number, B<2.1> at the time this manual page was "
#~ "written. The second is the package name. The third is the package "
#~ "version. The fourth is the md5sum of the package.  The fifth is the total "
#~ "size of the package. The sixth is the maximum part size. The seventh is "
#~ "the current part number, followed by a slash and the total amount of "
#~ "parts (as in \\(oq1/10\\(cq)."
#~ msgstr ""
#~ "El primer miembro se llama B<debian-split>, y contiene un conjunto de "
#~ "líneas separadas por saltos de línea. A día de hoy hay siete líneas. La "
#~ "primera es el número de versión de formato, B<2.1> en el momento de "
#~ "escribir esta página de manual. El segundo es el nombre del paquete. El "
#~ "tercero es la versión del paquete. El cuarto es la suma de control md5 "
#~ "del paquete. El quinto es el tamaño total del paquete. El sexto es el "
#~ "tamaño máximo de una parte. El séptimo es el número de la parte actual, "
#~ "seguido de una barra invertida y el número total de las partes (por "
#~ "ejemplo, \\(oq1/10\\(cq)."

#~ msgid "2008-08-18"
#~ msgstr "18 de Agosto de 2008"

#~ msgid ""
#~ "B<dpkg> can also be used as a front-end to B<dpkg-deb>(1).  The following "
#~ "are B<dpkg-deb> actions, and if they are encountered, B<dpkg> just runs "
#~ "B<dpkg-deb> with the parameters given to it:"
#~ msgstr ""
#~ "También puede usar B<dpkg> como una interfaz a B<dpkg-deb>(1). Si el "
#~ "primero encuentra alguna de las opciones del segundo, se limita a "
#~ "invocarlo con esos mismos parámetros:"

#~ msgid ""
#~ "    B<-b>, B<--build>,\n"
#~ "    B<-c>, B<--contents>,\n"
#~ "    B<-I>, B<--info>,\n"
#~ "    B<-f>, B<--field>,\n"
#~ "    B<-e>, B<--control>,\n"
#~ "    B<-x>, B<--extract>,\n"
#~ "    B<-X>, B<--vextract>, and\n"
#~ "    B<--fsys-tarfile>.\n"
#~ msgstr ""
#~ "    B<-b>, B<--build>,\n"
#~ "    B<-c>, B<--contents>,\n"
#~ "    B<-I>, B<--info>,\n"
#~ "    B<-f>, B<--field>,\n"
#~ "    B<-e>, B<--control>,\n"
#~ "    B<-x>, B<--extract>,\n"
#~ "    B<-X>, B<--vextract>, y\n"
#~ "    B<--fsys-tarfile>.\n"

#~ msgid "Please refer to B<dpkg-deb>(1) for information about these actions."
#~ msgstr ""
#~ "Consulte B<dpkg-deb>(1) si desea más información sobre estas acciones."

#~ msgid "B<--new>, B<--old>"
#~ msgstr "B<--new>, B<--old>"

#~ msgid ""
#~ "Select new or old binary package format. This is a B<dpkg-deb>(1)  option."
#~ msgstr ""
#~ "Selecciona el formato nuevo o antiguo de paquete. Es una opción de B<dpkg-"
#~ "deb>(1)."

#~ msgid ""
#~ "Don't read or check contents of control file while building a package.  "
#~ "This is a B<dpkg-deb>(1) option."
#~ msgstr ""
#~ "No lee ni comprueba el contenido del fichero de control al construir el "
#~ "paquete. Es una opción de B<dpkg-deb>(1)."

#~ msgid "2009-08-15"
#~ msgstr "15 de Agosto de 2009"

#~ msgid "Compiler flags"
#~ msgstr "Opciones de compilación"

#~ msgid ""
#~ "The B<CFLAGS>, B<CXXFLAGS>, B<FFLAGS>, B<CPPFLAGS> and B<LDFLAGS> "
#~ "environment variables are set to the values that B<dpkg-buildflags> "
#~ "returned. See its manual page for more information."
#~ msgstr ""
#~ "Las variables de entorno B<CFLAGS>, B<CXXFLAGS>, B<FFLAGS>, B<CPPFLAGS> y "
#~ "B<LDFLAGS> se define con los valores que devuelve B<dpkg-buildflags>. "
#~ "Para más información consulte su página de manual."

#~ msgid "2009-11-21"
#~ msgstr "21 de Noviembre de 2009"

#~ msgid "2010-03-07"
#~ msgstr "7 de Marzo de 2010"

#, fuzzy
#~| msgid "2010-10-10"
#~ msgid "2010-10-12"
#~ msgstr "10 de Octubre del 2010"

#~ msgid "2009-08-07"
#~ msgstr "7 de Agosto de 2009"

#~ msgid "2010-04-16"
#~ msgstr "16 de Abril de 2010"

#~ msgid "2009-05-19"
#~ msgstr "19 de Junio de 2009"

#~ msgid "0"
#~ msgstr "0"

#~ msgid "1"
#~ msgstr "1"

#~ msgid "2009-10-01"
#~ msgstr "1 de Octubre de 2009"

#~ msgid "2009-06-26"
#~ msgstr "26 de Junio de 2009"

#~ msgid ""
#~ "B<dpkg-split> uses some rather out-of-date conventions for the the "
#~ "filenames of Debian packages."
#~ msgstr ""
#~ "B<dpkg-split> usa algunas convenciones un tanto pasadas de fecha para el "
#~ "nombre de los paquetes de Debian."

#~ msgid ""
#~ "The architecture is not represented in the part files' header, only in "
#~ "the control information of the contained binary package file, and it is "
#~ "not present in the filenames generated."
#~ msgstr ""
#~ "La arquitectura no se refleja en la cabecera de las partes del fichero, "
#~ "sólo en la información de control del paquete binario original, y éste no "
#~ "esta presente en las partes generadas."

#~ msgid "2009-05-10"
#~ msgstr "10 de Abril de 2009"

#~ msgid ""
#~ "B<dselect> [B<--admindir> I<E<lt>directoryE<gt>>] [B<--help>] [B<--"
#~ "version>] [B<--expert>] [B<--debug>|B<-D>I<E<lt>fileE<gt>>] "
#~ "[I<E<lt>actionE<gt>>] [B<--colour>|B<--color> I<screenpart:>"
#~ "[I<foreground>],[I<background>][I<:attr>[I<+attr+..>]]]"
#~ msgstr ""
#~ "B<dselect> [B<--admindir> I<E<lt>directorioE<gt>>] [B<--help>] [B<--"
#~ "version>] [B<--expert>] [B<--debug>|B<-D>I<E<lt>ficheroE<gt>>] "
#~ "[I<E<lt>acciónE<gt>>] [B<--colour>|B<--color> I<parte-pantalla:>[I<primer-"
#~ "plano>],[I<fondo>][I<:attr>[I<+attr+..>]]]"

#~ msgid "B<--admindir>I< E<lt>directoryE<gt>>"
#~ msgstr "B<--admindir>I< E<lt>directorioE<gt>>"

#~ msgid "USAGE"
#~ msgstr "MODO DE USO"

#~ msgid ""
#~ "B<start-stop-daemon> returns 0 if the requested action was performed, or "
#~ "if B<--oknodo> is specified and either B<--start> was specified and a "
#~ "matching process was already running, or B<--stop> was specified and "
#~ "there were no matching processes. If B<--oknodo> was not specified and "
#~ "nothing was done, 1 is returned. If B<--stop> and B<--retry> were "
#~ "specified, but the end of the schedule was reached and the processes were "
#~ "still running, the error value is 2. For all other errors, the status is "
#~ "3."
#~ msgstr ""
#~ "B<start-stop-daemon> devuelve 0 si la acción requerida tuvo éxito, o si "
#~ "se define B<--oknodo> y si se definió o bien B<--start>, existiendo un "
#~ "proceso cuyo nombre coincide, o B<--stop> y si no existe un proceso que "
#~ "coincida. Devuelve 1 si se especificó B<--oknodo> pero nada ocurrió. "
#~ "Devuelve 2 si se especificaron B<--stop> y B<--retry>, y la acción "
#~ "programada se ejecutó y los procesos aún se estaban ejecutando. Devuelve "
#~ "3 para los demás errores."

#~ msgid "2"
#~ msgstr "2"

#~ msgid ""
#~ "An error occurred. Unfortunately at the time of writing I<extended-error-"
#~ "message> can contain newlines, although in locales where the translators "
#~ "have not made mistakes every newline is followed by at least one space."
#~ msgstr ""
#~ "Se ha detectado un fallo. Desafortunadamente, en el momento de impresión "
#~ "el I<mensaje-de-fallo-detallado> puede contener saltos de línea, aunque "
#~ "en aquellas traducciones en las que el traductor no cometió ningún fallo "
#~ "cada salto de línea va seguido de un espacio."

#~ msgid "2009-03-08"
#~ msgstr "8 de Marzo de 2009"

#~ msgid "I<admindir>/info/I<package>.symbols"
#~ msgstr "I<directorio-adminstración>/info/I<paquete>.symbols"

#~ msgid "I<admindir>/info/I<package>.shlibs"
#~ msgstr "I<directorio-adminstración>/info/I<paquete>.shlibs"

#~ msgid "2009-11-11"
#~ msgstr "11 de Noviembre de 2009"

#~ msgid "2009-02-26"
#~ msgstr "26 de Febrero de 2009"

#~ msgid "2009-04-13"
#~ msgstr "13 de Abril de 2009"

#~ msgid "2007-10-08"
#~ msgstr "8 de Septiembre de 2007"

#~ msgid ""
#~ "Defined by B<dpkg> on the maintainer script environment to the private "
#~ "library directory of the currently running B<dpkg> instance."
#~ msgstr ""
#~ "Definido por B<dpkg> en el script del entorno del mantenedor con el valor "
#~ "del directorio privado de bibliotecas de la instancia de B<dpkg> en "
#~ "ejecución."

#~ msgid "2010-04-11"
#~ msgstr "11 de Abril de 2010"

#~ msgid "Format: 3.0 (git) and 3.0 (bzr)"
#~ msgstr "Formato: 3.0 (git) y 3.0 (bzr)"

#~ msgid ""
#~ "I<priority> and I<section> place the package within the release tree; "
#~ "these ought not to be found in the control file. If the package is found "
#~ "in a subdirectory of I<binarydir>, that will be checked against "
#~ "I<section>."
#~ msgstr ""
#~ "I<prioridad> y I<sección> ubican el paquete en el árbol de directorios de "
#~ "la publicación; esta información no debe estar presente en el fichero "
#~ "«control». Si el paquete se encuentra en un subdirectorio de I<binary-*>, "
#~ "se revisará teniendo en cuenta la I<sección>."

#~ msgid "2009-11-12"
#~ msgstr "12 de Noviembre de 2009"

#~ msgid "B<--licence>, B<--license>"
#~ msgstr "B<--licence>, B<--license>"

#~ msgid "Display B<dpkg> licence."
#~ msgstr "Muestra la licencia de B<dpkg>."

#~ msgid "ENVIRONMENT VARIABLES"
#~ msgstr "VARIABLES DE ENTORNO"

#~ msgid "B<DPKG_NO_TSTP>"
#~ msgstr "B<DPKG_NO_TSTP>"

#~ msgid ""
#~ "Define this to something if you prefer B<dpkg> starting a new shell "
#~ "rather than suspending itself, while doing a shell escape."
#~ msgstr ""
#~ "Defina esta variable si prefiere que B<dpkg> arranque en un intérprete "
#~ "diferente en vez entrar en suspensión al realizar un escape de consola."

#~ msgid "2009-06-13"
#~ msgstr "13 de Junio de 2009"

#~ msgid ""
#~ "If the host architecture differs from the build architecture (as is the "
#~ "case for a cross-compilation), and if the environment variable "
#~ "B<PKG_CONFIG_LIBDIR> is not set, then it is set to a value suitable for "
#~ "cross-compilation (\"/usr/I<gnu-system-type>/lib/pkgconfig/:/usr/share/"
#~ "pkgconfig\")."
#~ msgstr ""
#~ "Si la arquitectura anfitrión difiere de la arquitectura de construcción "
#~ "(tal es el caso al compilar para varias arquitecturas), y no se define la "
#~ "variable de entorno B<PKG_CONFIG_LIBDIR>, aceptará entonces un valor "
#~ "adecuado para la compilación en varias arquitecturas («/usr/I<gnu-system-"
#~ "type>/lib/pkgconfig/:/usr/share/pkgconfig»)."

#~ msgid ""
#~ "Some environment variables defining compiler and linker options are set "
#~ "to default values unless already present in the environment. Note that "
#~ "this mechanism was only introduced in version 1.14.17 of dpkg-dev and not "
#~ "all I<rules> files and build tools will honour these variables, yet."
#~ msgstr ""
#~ "Algunas variables de entorno que afectan a las opciones del compilador y "
#~ "el enlazador toman valores predefinidos, a menos que ya estén definidos "
#~ "en el entorno. Tenga en cuenta que este mecanismo se introdujo a partir "
#~ "de la versión 1.14.17 de dpkg-dev, y no todos los ficheros I<rules> y "
#~ "herramientas de construcción reconocen estas variables."

# type: Plain text
#~ msgid ""
#~ "Optimization options which are passed to the Debian build system and can/"
#~ "should be overridden by the package build if needed (default value: B<-g -"
#~ "O2>, or B<-g\\ -O0> if B<noopt> is specified in DEB_BUILD_OPTIONS). "
#~ "Overriding options can be used to explicitly set a higher optimization "
#~ "level, or work around compiler bugs, which only can be seen with some "
#~ "optimization levels (the last opt level \"wins\")."
#~ msgstr ""
#~ "Las opciones de optimización introducidas al sistema de construcción de "
#~ "Debian pueden y deben ser sobreescritas durante la construcción del "
#~ "paquete en caso de ser necesario (valor por omisión: B<-g -O2>, o B<-g\\ -"
#~ "O0> si B<noopt> está definido en «DEB_BUILD_OPTIONS»). Las opciones de "
#~ "sustitución se pueden usar para definir un nivel de optimización mayor de "
#~ "forma explícita, o para evitar fallos del compilador sólo detectables en "
#~ "algunos niveles de optimización (el último nivel de optimización «gana»)."

#~ msgid "B<CFLAGS_APPEND>"
#~ msgstr "B<CFLAGS_APPEND>"

#~ msgid ""
#~ "Optimization options appended to the compiler flags, which must not be "
#~ "overwritten by the package (mostly used to for test builds). Default "
#~ "value: empty."
#~ msgstr ""
#~ "Puede añadir opciones de optimización a las opciones («flags») de "
#~ "compilación, las cuales el paquete no debe sobreescribir (usado "
#~ "habitualmente en construcciones de prueba). Valor por omisión: vacío."

#~ msgid "Same as B<CFLAGS> for C++ sources."
#~ msgstr "Igual que B<CFLAGS> para fuentes C++."

#~ msgid "B<CXXFLAGS_APPEND>"
#~ msgstr "B<CXXFLAGS_APPEND>"

#~ msgid "Same as B<CFLAGS_APPEND> for C++ sources."
#~ msgstr "Igual que B<CFLAGS_APPEND> para fuentes C++."

#~ msgid "Same as B<CFLAGS> for Fortran sources."
#~ msgstr "Igual que B<CFLAGS> para fuentes Fortran."

#~ msgid "B<FFLAGS_APPEND>"
#~ msgstr "B<FFLAGS_APPEND>"

#~ msgid "Same as B<CFLAGS_APPEND> for Fortran sources."
#~ msgstr "Igual que B<CFLAGS_APPEND> para fuentes Fortran."

#~ msgid ""
#~ "Preprocessor flags which are passed to the Debian build system and can/"
#~ "should be overridden by the package build if needed (default: empty). "
#~ "This macro is seldom used (most build systems just use B<CFLAGS> instead "
#~ "of B<CPPFLAGS>)."
#~ msgstr ""
#~ "Las opciones de pre-procesamiento introducidos al sistema de construcción "
#~ "de Debian pueden y se deberían anular en caso de ser necesario (por "
#~ "omisión: vacío). Esta macro apenas se usa (la mayoría de sistemas de "
#~ "construcción usan B<CFLAGS> en lugar de B<CPPFLAGS>)."

#~ msgid "B<CPPFLAGS_APPEND>"
#~ msgstr "B<CPPFLAGS_APPEND>"

#~ msgid ""
#~ "Preprocessor flags appended to the preprocessor flags, which must not be "
#~ "overwritten by the package (mostly used to for test builds). Default "
#~ "value: empty."
#~ msgstr ""
#~ "Opciones de pre-procesamiento añadidas al final de las opciones de pre-"
#~ "procesamiento, las cuales el paquete no debe sobreescribir (usado "
#~ "habitualmente en construcciones de prueba). Valor por omisión: vacío."

#~ msgid "B<LDFLAGS_APPEND>"
#~ msgstr "B<LDFLAGS_APPEND>"

#~ msgid ""
#~ "Optimization options appended to the compiler flags when linking code, "
#~ "which must not be overwritten by the package (mostly used to for test "
#~ "builds). Default value: empty."
#~ msgstr ""
#~ "Opciones de optimización añadidas a las opciones del compilador al "
#~ "enlazar código, qué el paquete no debe sobreescribir (usado habitualmente "
#~ "en construcciones de prueba). Valor por omisión: vacío."

#~ msgid "2009-01-07"
#~ msgstr "7 de Enero de 2009"

#~ msgid "B<--license>, B<--licence>"
#~ msgstr "B<--license>, B<--licence>"

#~ msgid "Show the copyright licensing terms and exit."
#~ msgstr "Muestra los términos de la licencia de derechos de autor y cierra."

#~ msgid ""
#~ "Read substitution variables in I<substvarsfile>; the default is B<debian/"
#~ "substvars>."
#~ msgstr ""
#~ "Lee las variables de sustitución desde I<fichero-variables-sust>; el "
#~ "valor por omisión es B<debian/substvars>."

#~ msgid "B<-l>, B<--license>"
#~ msgstr "B<-l>, B<--license>"

#~ msgid "include all changes."
#~ msgstr "Incluye todos los cambios."

#~ msgid "2009-09-06"
#~ msgstr "6 de Septiembre de 2009"

#~ msgid "B<-I>[I<file-pattern>]"
#~ msgstr "B<-I>[I<patrón-fichero>]"

#~ msgid "2009-08-20"
#~ msgstr "20 de Agosto de 2009"

#~ msgid "B<--licence>|B<--license>"
#~ msgstr "B<--licence>|B<--license>"

#~ msgid ""
#~ "Displays the B<dselect> copyright and license information and exits "
#~ "successfully."
#~ msgstr ""
#~ "Muestra en pantalla los derechos de autor de B<dselect> y la información "
#~ "de la licencia, y cierra con éxito."
