Re: Traducción de Howto's
2009/1/14 Francisco Javier Cuadrado
<fcocuadrado@gmail.com>
El día 14 de enero de 2009 5:39, Gary Ariel Sandi Vigabriel
<gary.gsv@gmail.com> escribió:
> Bueno tengo ya casi concluido el howto repository. pero no me quedo
> claro como subirlo a añadirlo ya que el howto que estoy traduciendo esta
> en XML.
Supongo que lo primero será que mandes los archivos XML del «howto» a
la lista para que los revisemos, luego cuando ya estén revisados
alguien que pueda subirlos lo hará.
Bueno envio el documento xml en cuestion.
Gracias de antemano.
>
> Gracias.
>
> --
> .'''`. Debian GNU/Linux | Gary Ariel Sandi Vigabriel
> : :' : The Universal O.S. | gary[dot]gsv[at]gmail[dot]com
> `. `'` | GPG Key ID: 863856F2
> `-
http://www.debian.org | Debian GNU/Linux User
>
>
> --
> To UNSUBSCRIBE, email to debian-l10n-spanish-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
>
>
--
Saludos
Fran
--
.'''`. Debian GNU/Linux | Gary Ariel Sandi Vigabriel
: :' : The Universal O.S. | gary[dot]gsv[at]gmail[dot]com
`. `'` | GPG Key ID: 863856F2
`- http://www.debian.org | Debian GNU/Linux User
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Translation based on English revision 1.?? -->
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://docbook.org/xml/4.2/docbookx.dtd">
<article lang="es_ES">
<articleinfo>
<title>Debian Repository HOWTO</title>
<subtitle>
Versión en español de <foreignphrase>Debian Repository HOWTO</foreignphrase>
</subtitle>
<author>
<firstname>Aaron</firstname>
<surname>Isotton</surname>
<affiliation>
<address><email>aaron@isotton.com</email></address>
</affiliation>
</author>
<author>
<firstname>Gary Ariel</firstname>
<surname>Sandi Vigabriel</surname>
<affiliation>
<address><email>gary.gsv@gmail.com</email></address>
</affiliation>
</author>
<abstract>
<para>Este documento explica qué es un repositorio Debian y también como
configurar uno.</para>
</abstract>
</articleinfo>
<section id="intro">
<title>Introducción</title>
<para>
Un repositorio es un conjunto de paquetes Debian organizados en
un directorio especial el cual también contiene una gran cantidad
de archivos que contienen índices y checksums de los paquetes.
El usuario puede añadir el repositorio al archivo
<filename>/etc/apt/sources.list</filename>
, el usuario puede ver e instalar todos los paquetes disponibles
en el repositorio de paquetes Debian.
</para>
<para>
Un repositorio puede estar online y offline o ambos (por ejemplo
en un CD-ROM), aun que el primero es el más común de los casos.
</para>
<para>
Este documento explica cómo trabaja un repositorio Debian, ademas de
como crear uno, y como añadirlo al archivo
<filename>sources.list</filename> de manera correcta.</para>
<para>La localización principal de este documento original es <ulink
url="http://www.isotton.com/debian/docs/repository-howto/"/>.</para>
<section id="copyright">
<title>Copyright y Licencia</title>
<para> <emphasis>Debian Repository
HOWTO</emphasis>, Copyright (c) 2002-2003 by
<emphasis>Aaron Isotton</emphasis>.
Tiene permiso de copiar, distribuir y/o modificar este documento bajo
los términos de la GNU Free Documentation Licence, versión 1.1 o
cualquier versión posterior publicada por la Free Software Foundation;
sin la Sección de Invariantes, sin Front-Cover Texts, y
sin Back-Cover Texts.</para>
</section> <!-- copyright -->
<section id="feedback">
<title>Opiniones</title>
<para>
Puede enviar correcciones, opiniones y otros al traductor de este HOWTO
a la siguiente dirección de correo electrónico: <email>gary.gsv@gmail.com</email>
o a la lista de discusión <email>debian-l10n-spanish@lists.debian.org</email>
</para>
</section> <!-- feedback -->
</section> <!-- intro -->
<section id="terms">
<title>Términos usados en este documento</title>
<variablelist>
<varlistentry>
<term>Distribuciones</term>
<listitem><para>Las tres ramas que pertenecen a debian Debian:
<emphasis>estable (stable)</emphasis>, <emphasis>pruebas (testing)</emphasis>
e <emphasis>inestable (unstable)</emphasis>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Índice de archivos</term>
<listitem><para>El archivo <filename>Packages.gz</filename> y
<filename>Sources.gz</filename></para>
</listitem>
</varlistentry>
</variablelist>
</section>
<section id="how-it-works">
<title>Como trabajan los repositorios</title>
<para>
Un repositorio consiste en nada menos que un directorio con algunos
o muchos paquetes .deb dentro del directorio, y especialmente dos archivos:
<filename>Packages.gz</filename> para los paquetes binarios, y
<filename>Sources.gz</filename> para el código fuente.</para>
<para>Si su repositorio esta listado correctamente en el archivo
<filename>sources.list</filename> (en lo posterior),
<command>apt-get</command> buscara a
<filename>Packages.gz</filename> en el índice de paquetes binarios listados
con la palabra (<literal>deb</literal>) y en
<filename>Sources.gz</filename> se lista el código fuente que se muestra con
la palabra (<literal>deb-src</literal>).</para>
<para><filename>Packages.gz</filename> contiene el nombre, versión,
tamaño, la descripción corta y descripción extendida, y las dependencias
de cada uno de los paquetes, más alguna información adicional la cual no
nos interesa. Toda la información esta listada (y usada) por el manejador
de paquetes Debian tales como
<command>dselect</command> o
<command>aptitude</command>.</para>
<para><filename>Sources.gz</filename> contiene el nombre, versión,
y las dependencias de compilación (las que el paquete requiere para compilarse)
para cada paquete (más alguna información que no nos interesa, demasiado);
información que es usada por <command>apt-get
source</command> y herramientas similares.</para>
<para>El archivo<filename>Release</filename> es opcional este archivo
contiene mas información acerca de su repositorio; este es usado
para<emphasis>Pinning</emphasis>, o para otros objetivos.
puede leer más acerca de pinning en
<ulink
url="http://www.debian.org/doc/manuals/apt-howto/">APT
HOWTO</ulink>.</para>
<para>Usted puede configurar su repositorio
para poder listar e instalar todos sus paquetes en Debian;
si usted actualiza un paquete, este es actualizado cuando el usuario ejecuta
<command>apt-get update && apt-get upgrade</command>; y todos los usuarios
pueden ver fácilmente una pequeña descripción y otra información importante
acerca de su paquete.</para>
<para>Pero aun hay mas. Si los crea apropiadamente, los repositorios
pueden ofrecer diferentes paquetes para cada distribución soportada y
para cada una de las (actualmente once) arquitecturas soportadas;
<literal>apt</literal> puede buscar automáticamente los apropiados para
el equipo del usuario, sin que el tenga conocimiento sobre todas
las diferentes arquitecturas. También le permite agrupar sus paquetes
en componentes, de la manera en la que están divididos los paquetes Debian
<literal>main</literal>, <literal>non-free</literal> y también
<literal>contrib</literal>. Especialmente
si su software es multi-plataforma,
usted puede crear su propio repositorio.</para>
</section> <!-- how-it-works -->
<section id="setting-up">
<title>Como crear su repositorio</title>
<para>Existen dos tipos de repositorios: el más complejo de ellos es aquel
donde el usuario especifica la ruta base del repositorio,
la distribución y los componentes (luego apt enlista automáticamente
la arquitectura apropiada, si esta disponible), la manera simple usa
la ruta exacta que el usuario a especificado (apt automáticamente enlista
apropiadamente los paquetes para esta ruta).
La primera forma es la más compleja de configurar, pero la mas fácil de usar,
es la manera que deberíamos usar para tener repositorios multiplataforma;
la ultima es simple de configurar, pero además es solamente usado para repositorios
de una arquitectura.</para>
<para>Aún que no es realmente correcto, usaremos la primera
<emphasis>Repositorios automáticos</emphasis> y después
<emphasis>Repositorios triviales</emphasis>.</para>
<section>
<title>Repositorios automáticos</title>
<para>La estructura de un repositorio automático con
las arquitecturas y componentes estándar de Debian es:
</para>
<example id="debian-repository-example">
<title>Repositorio Debian Estándar</title>
<screen>(directorio raíz de su repositorio)
|
+-dists
|
|-stable
| |-main
| | |-binary-alpha
| | |-binary-arm
| | |-binary-...
| | +-source
| |-contrib
| | |-binary-alpha
| | |-binary-arm
| | |-binary-...
| | +-source
| +-non-free
| |-binary-alpha
| |-binary-arm
| |-binary-...
| +-source
|-testing
| |-main
| | |-binary-alpha
| | |-binary-arm
| | |-binary-...
| | +-source
| |-contrib
| | |-binary-alpha
| | |-binary-arm
| | |-binary-...
| | +-source
| +-non-free
| |-binary-alpha
| |-binary-arm
| |-binary-...
| +-source
+-unstable
|-main
| |-binary-alpha
| |-binary-arm
| |-binary-...
| +-source
|-contrib
| |-binary-alpha
| |-binary-arm
| |-binary-...
| +-source
+-non-free
|-binary-alpha
|-binary-arm
|-binary-...
+-source</screen>
</example>
<para>Los paquetes libres van en <literal>main</literal>; los paquetes no libres
en <literal>non-free</literal>, y los paquetes
libres que dependen de otro paquete no libre estan en
<literal>contrib</literal>. En la actualidad Debian soporta 11
arquitecturas; Se omitirán la mayoría de ellos para ser breves,
en la explicación de este documento.
</para>
<para>Un directorio <filename>binary-*</filename> contiene a
<filename>Packages.gz</filename> y opcionalmente un archivo
<filename>Release</filename>; un directorio
<filename>source</filename> contiene a
<filename>Sources.gz</filename> y opcionalmente un archivo
<filename>Release</filename> . Note que los paquetes
no tienen por que estar en este mismo directorio ya que este esta
destinado solamente para los archivo índice, estos contienen
los índices de archivos que contienen las rutas a cada paquete;
en efecto, estos pueden estar en
<emphasis>cualquier lugar</emphasis> en el repositorio. Esto
hace posible crear <link
linkend="pools">pools</link>.</para>
<para>Usted es libre de crear muchas distribuciones y
componentes y llamar al mejor; Uno de los usados en el ejemplo
es justamente uno usado en Debian. Usted podría, por ejemplo, crear
la distribución <literal>current</literal>
y <literal>beta</literal> (dentro de
<literal>stable</literal>, <literal>testing</literal> y
<literal>unstable</literal>), y los componentes
<literal>foo</literal>, <literal>bar</literal>,
<literal>baz</literal> y <literal>qux</literal> (dentro de
<literal>main</literal>, <literal>contrib</literal> y
<literal>non-free</literal>).</para>
<para>Usted es libre de llamar a los componentes que requiere, esto
es una buena idea para usar las distribuciones estándar Debian,
por que estos son lo que los usuarios de Debian esperan.</para>
</section>
<section>
<title>Repositorios Triviales</title>
<para>Los repositorios triviales consisten en un directorio raíz y
la cantidad de subdirectorios que desee. Los usuarios deberán
especificar la ruta a la raíz del repositorio y las rutas relativas
entre la raíz y el directorio que contiene los archivos índice,
usted puede usarlos cuando quiera usando siempre la raíz del repositorio;
esto usando la ruta relativa simplemente con
<quote><filename>/</filename></quote>).</para>
<example id="trivial-example">
<title>Un repositorio Trivial con dos subdirectorios</title>
<screen>(su directorio raíz)
|
|-binary
+-source</screen>
</example>
</section>
<section>
<title>Creando archivos índice</title>
<para><command>dpkg-scanpackages</command> genera el archivo
<filename>Packages</filename> y
<command>dpkg-scansources</command> el archivo
<filename>Sources</filename>.</para>
<para>Ambos envían su salida a stdout; así se genera
un archivo comprimido, usted puede usar un comando para encadenarlo:
<command>dpkg-scanpackages
<replaceable>argumentos</replaceable> | gzip -9c >
Packages.gz</command>.</para>
<para>Estas dos herramientas trabajan de la misma manera; ambas
tienen dos argumentos (en realidad tienen más, pero no explicaremos
todos los argumentos aquí; usted Puede leer mas en los manpages de
cada herramienta para saber más); el primer directorio contiene
los paquetes, y el segundo es
<emphasis>archivos anulados</emphasis>. Nosotros no necesitamos
anular archivos por que tenemos un repositorio simple, pero esto es
un argumento requerido, le pasamos simplemente
<literal>/dev/null</literal>.</para>
<para><command>dpkg-scanpackages</command> escanea los paquetes
<filename>.deb</filename>;
<command>dpkg-scansources</command> escanea los archivos
<filename>.dsc</filename>. esto siempre es necesario para
los archivos <filename>.orig.gz</filename>,
<filename>.diff.gz</filename> y <filename>.dsc</filename>.
Los archivos <filename>.changes</filename> son innecesarios.</para>
<para>Así es como puede crear un repositorio trivial como este
<xref linkend="trivial-example"/>, usted puede crear los
dos archivos índices de la siguiente manera:</para>
<screen>$ cd my-repository
$ dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz
$ dpkg-scansources source /dev/null | gzip -9c > source/Sources.gz</screen>
<para>Si usted tiene un repositorio complejo puede revisar en <xref
linkend="debian-repository-example"/>, usted debera escribir
algunos scripts para automatizar el proceso.</para>
<para>Usted puede usar el argumento
<replaceable>pathprefix</replaceable> de las dos herramientas
para simplificar un poco la sintaxis; Se realizo un ejercicio
para el lector.(Este esta documentado en las paginas man).</para>
</section>
<section id="release">
<!-- todo: Release should be between <filename> tags, but then
xmltex won't compile it -->
<title>Creando los archivos Release</title>
<para>Si usted quiere activar el uso de <emphasis>Pinning</emphasis>
para los usuarios de su repositorio, Necesariamente debe incluir
el archivo <filename>Release</filename> en todos los directorios
que contienen un archivo índice. (Puede leer más acerca de pinning en
el siguiente enlace<ulink
url="http://www.debian.org/doc/manuals/apt-howto/">APT
HOWTO</ulink>).</para>
<para>El archivo <filename>Release</filename> es simple y
corto, su contenido es el siguiente:</para>
<screen>Archive: <replaceable>archivo</replaceable>
Component: <replaceable>componente</replaceable>
Origin: <replaceable>sucompañia</replaceable>
Label: <replaceable>sucompañia repositorio Debian</replaceable>
Architecture: <replaceable>arquitectura</replaceable></screen>
<variablelist>
<varlistentry>
<term><literal>Archive</literal></term>
<listitem>
<para>El nombre de su distribución de Debian los paquetes
en este directorio encajan a (o estan diseñador para),
la rama<literal>stable</literal>,
<literal>testing</literal> o
<literal>unstable</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>Component</literal></term>
<listitem>
<para>El componente de los paquetes en el directorio,
por ejemplo <literal>main</literal>,
<literal>non-free</literal>, o
<literal>contrib</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>Origin</literal></term>
<listitem>
<para>El nombre de quien fabrico los paquetes.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>Label</literal></term>
<listitem>
<para>Una etiqueta adecuada para sus paquetes en el repositorio.
Puede usar cualquier nombre o descripción breve.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>Architecture</literal></term>
<listitem>
<para>La arquitectura de los paquetes en el directorio actual,
arquitecturas como <literal>i386</literal>,
<literal>amd64</literal> o
<literal>source</literal> para el código fuente.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Esto es importante para obtener los <literal>Archivos</literal> y
<literal>Arquitecturas</literal> apropiadas, esto es lo mas usado por
pinning. Los otros no son imprescindibles.</para>
</section>
<section id="pools">
<title>Creando Pools</title>
<para>Con los repositorios automáticos, distribuyendo los paquetes
en los diferentes directorios es mas fácil dirigir a una bestia
indomable. Esto también es un desperdicio de espacio y ancho de banda,
si tiene allí muchos paquetes (por ejemplo, paquetes de documentación)
los cuales se repiten en todas las arquitecturas.</para>
<para>En estos casos, una posible solución es un
<emphasis>pool</emphasis>. Un pool es un directorio adicional
bajo la raíz del repositorio que contiene <emphasis>todos</emphasis>
los paquetes (Los binarios para todas la arquitecturas, distribuciones,
componentes y todo el código fuente). A travez de una elegante
combinación de archivos anulados (el cual no es descrito en este documento)
y de scripts para poder evitar muchos problemas. El mejor
ejemplo de un repositorio usando pools es el mismo repositorio
de Debian.</para>
<para>Los pools son usados principalmente para repositorios grandes;
jamás he usado uno por qué no lo necesito y no creo que lo necesite,
y no lo voy a explicar en este documento. Si usted piensa que la sección
de pools debe ser añadida a este documento, es libre de escribirla,
y contactarme para añadirla.</para>
</section>
<section>
<title>Herramientas</title>
<para>Estas son varias herramientas para automatizar y facilitar la creación
de archivos Debian; A continuación mencionaremos las más destacadas.</para>
<para><command>apt-ftparchive</command> es usado para mover una
colección de paquetes Debian a una jerarquía de archivos
apropiada la cual es usada en el archivo oficial Debian. Este es parte
del paquete <literal>apt-utils</literal>.</para>
<para><command>apt-move</command> es usado para mover una colección
de paquetes Debian en una jerarquía de archivos apropiada, es usada
en el archivo oficial Debian.</para>
</section>
</section> <!-- setting-up -->
<section id="using-a-repository">
<title>Usar un repositorio</title>
<para>Usar un repositorio es muy simple, pero esto depende de
que tipo de repositorios hizo: binarios o código fuente, y
automático o trivial.</para>
<para>Cada repositorio obtiene una línea en
<filename>sources.list</filename>; para los binarios use el comando
<literal>deb</literal>, y para el código fuente use el comando
<literal>deb-src</literal>.</para>
<para>Cada línea tiene la siguiente sintaxis:
<screen>deb|deb-src <replaceable>dirección_web</replaceable> <replaceable>distribución</replaceable> [<replaceable>componente1</replaceable>] [<replaceable>componente2</replaceable>] [...]</screen>
La <replaceable>dirección_web</replaceable> es el URI de la raíz del
repositorio, tal como
<literal>ftp://ftp.yoursite.com/debian</literal>,
<literal>http://yoursite.com/debian</literal>, o de manera local (sin red y sin internet),
<literal>file::///home/joe/my-debian-repository</literal>.
La barra (slash) es opcional.</para>
<para>Para repositorios automáticos, debe especificar una
distribución y uno o mas componentes; la distribución no termina con barra (slash).</para>
<example>
<!-- todo: sources.list should be tagged as <filename>, but xmltex
doesn't support that -->
<title>Dos repositorios automáticos de sources.list</title>
<screen>deb ftp://sunsite.cnlab-switch.ch/mirror/debian/ unstable main contrib non-free
deb-src ftp://sunsite.cnlab-switch.ch/mirror/debian/ unstable main contrib non-free</screen>
<para>Estas dos líneas especifican un repositorio automatico de
binarios y código fuente con la raíz
<literal>ftp://sunsite.cnlab-switch.ch/mirror/debian/</literal>,
la distribución <literal>unstable</literal> y los componentes
<literal>main</literal>, <literal>contrib</literal> y
<literal>non-free</literal>.</para>
</example>
<para>si el repositorio no es automático, entonces en la
<emphasis>distribución</emphasis> especifique la ruta relativa
a el archivo índice y debe terminar con una barra (slash), y no debe
especificar componentes.</para>
<example>
<title>Dos repositorios de
<filename>sources.list</filename></title>
<screen>deb file:///home/aisotton/rep-exact binary/
deb-src file:///home/aisotton/rep-exact source/</screen>
<para>La primera de las dos líneas especifica un repositorio binario
en <filename>/home/aisotton/rep-exact/binary</filename> en la
maquina actual; la segunda especifica repositorios código fuente en
<filename>/home/aisotton/rep-exact/source</filename>.</para>
</example>
</section> <!-- using-a-repository -->
<section>
<title>Vea También</title>
<itemizedlist>
<listitem>
<para>La documentación de <command>apt-ftparchive</command>.</para>
</listitem>
<listitem>
<para>La documentación de <command>apt-get</command> y la documentación, para
<literal>apt</literal>.</para>
</listitem>
<listitem>
<para>La documentación de <command>apt-move</command>.</para>
</listitem>
<listitem>
<para><ulink url="http://www.apt-get.org/"/> para mas ejemplos
de repositorios en el mundo real.</para>
</listitem>
<listitem>
<para>En <ulink
url="http://www.debian.org/doc/manuals/apt-howto/">APT
HOWTO</ulink>.</para>
</listitem>
<listitem>
<para>La documentación de <command>dpkg-scanpackages</command>.</para>
</listitem>
<listitem>
<para>La documentación de <command>dpkg-scansources</command>.</para>
</listitem>
<listitem>
<para>La pagina de ayuda (manpage) <literal>sources.list(5)</literal>.</para>
</listitem>
</itemizedlist>
</section>
</article>
Reply to: