[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Traducción de Howto's



El día 14 de enero de 2009 19:22, Gary Ariel Sandi Vigabriel
<gary.gsv@gmail.com> escribió:
>
>
> 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.
>

Lo he revisado y lamentablemente tengo que decir que la traducción era
bastante pobre, cometiste muchos errores en la traducción, por
ejemplo: "instead of" => "dentro de", cuando es "en vez de" o "en
lugar de". Te lo digo para que la próxima vez tengas más cuidado, o si
ves que no puedes con un documento tan grande pues intenta comenzar
por cosas más sencillas y pequeñas.

Adjunto la revisión y pongo en CC a Javi para que cuando pueda lo suba
al SVN (y si puede revisarlo por última vez, mejor que mejor).

>
>>
>> >
>> > 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
>



-- 
Saludos

Fran
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
     "http://docbook.org/xml/4.2/docbookx.dtd";>

<article lang="es_ES">
  <articleinfo>
    <title>COMO repositorios de Debian</title>
 
	<subtitle>
         Versión en español de <foreignphrase>COMO repositorios de Debian</foreignphrase>
    </subtitle>
    <author>
      <firstname>Aaron</firstname>
      <surname>Isotton</surname>
      <affiliation>
        <address><email>aaron@isotton.com</email></address>
      </affiliation>
    </author>

    <othercredit role="traduction" class="translator">
      <firstname>Gary Ariel</firstname>
      <surname>Sandi Vigabriel</surname>
      <contrib>Traducción al español</contrib>
      <address><email>gary.gsv@gmail.com</email></address>
    </othercredit>


    <abstract>
      <para>Este documento explica qué es un repositorio Debian y también cómo 
        configurar uno.</para>
    </abstract>
  </articleinfo>
  
  <section id="intro">
    <title>Introducción</title>

    <para>Un repositorio es un conjunto de paquetes de Debian organizados en
	un árbol de directorios especial que almacena unos pocos archivos 
    adicionales que contienen índices y «checksums» de los paquetes. Si un 
    usuario añade un repositorio a su archivo 
    <filename>/etc/apt/sources.list</filename>, puede fácilmente ver e 
    instalar todos los paquetes que hay en el repositorio, del mismo modo 
    que los paquetes de Debian.</para>

    <para>Un repositorio puede estar en red y/o local (por ejemplo
	en un CD-ROM), aunque el primer caso es el más común.</para>

    <para>Este documento explica cómo funcionan los repositorios de Debian, 
    cómo crearlos y cómo añadirlos correctamente al archivo
      <filename>sources.list</filename>.</para>

    <para>La ubicación principal de este documento es <ulink
        url="http://www.isotton.com/debian/docs/repository-howto/"/>.</para>

    <section id="copyright">
      <title>Copyright y Licencia</title>

      <para>This document, <emphasis>Debian Repository
          HOWTO</emphasis>, is copyrighted (c) 2002-2003 by
          <emphasis>Aaron Isotton</emphasis>.  Permission is granted
          to copy, distribute and/or modify this document under the
          terms of the GNU Free Documentation License, Version 1.1 or
          any later version published by the Free Software Foundation;
          with no Invariant Sections, with no Front-Cover Texts, and
          with no Back-Cover Texts.</para>
    </section> <!-- copyright  -->
	
    <section id="feedback">
      <title>Comentarios</title>

      <para>Cualquier comentario es bienvenido. Puede enviar correcciones, 
        comentarios y críticas a la dirección de correo electrónico del 
        traductor <email>gary.gsv@gmail.com</email> o a la lista de correo 
        del equipo de traducció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:
          <emphasis>estable (stable)</emphasis>, <emphasis>pruebas (testing)</emphasis>
          e <emphasis>inestable (unstable)</emphasis>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>Índice de archivos</term>

        <listitem><para>Los archivos <filename>Packages.gz</filename> y
            <filename>Sources.gz</filename></para>
        </listitem>
      </varlistentry>
    </variablelist>
  </section>

  <section id="how-it-works">
    <title>Cómo funcionan los repositorios</title>

    <para>Un repositorio consiste en al menos un directorio con algunos 
      paquetes DEB en él, y especialmente dos archivos:
	  <filename>Packages.gz</filename> para los paquetes binarios, y
	  <filename>Sources.gz</filename> para los paquetes con el código 
      fuente.</para>

    <para>Si su repositorio aparece correctamente en el archivo
      <filename>sources.list</filename> (más sobre él luego),
      <command>apt-get</command> obtendrá el índice del archivo
      <filename>Packages.gz</filename> si los paquetes binarios aparecen
      (con la palabra <literal>deb</literal>) y el archivo
      <filename>Sources.gz</filename> si los paquetes con el código fuente
      aparecen (con la palabra <literal>deb-src</literal>).</para>

    <para>El archivo <filename>Packages.gz</filename> contiene el nombre, 
      versión, tamaño, la descripción corta y la descripción extendida, y 
      las dependencias de cada paquete, más alguna información adicional que no
	  nos interesa. Toda esa información la muestra (y la usa) el gestor de 
      paquetes de Debian como <command>dselect</command> o
      <command>aptitude</command>.</para>

    <para>El archivo <filename>Sources.gz</filename> contiene el nombre,
      versión y las dependencias de compilación (las que el paquete necesita
      para su compilación) de cada paquete (más alguna información más que
      no nos interesa). Esa información la usa <command>apt-get
      source</command> y herramientas similares.</para>

    <para>Hay un archivo <filename>Release</filename> que es opcional, éste
      contiene más información acerca del repositorio. Esa información se usa
	  para <emphasis>Pinning</emphasis>, un truco interesante que no se explica
      en este documento. Puede leer más acerca de «pinning» en el documento 
      <ulink
      url="http://www.debian.org/doc/manuals/apt-howto/";>COMO APT</ulink>.
    </para>

    <para>Una vez que haya configurado su repositorio, puede listar e instalar
      todos los paquetes junto con los de Debian. Si actualiza un paquete, se 
      actualizará cuando el usuario ejecute
      <command>apt-get update &amp;&amp; apt-get upgrade</command>, y todos 
      los usuarios podrán ver una pequeña descripción y otra información 
      importante acerca de sus paquetes.</para>

    <para>Pero aún hay más. Si se crean apropiadamente, los repositorios
	  pueden ofrecer diferentes paquetes para cada distribución y
	  para cada una de las (actualmente once) arquitecturas compatibles.
      <literal>apt</literal> obtendrá automáticamente el repositorio adecuado
      a la máquina del usuario, sin que tenga conocimiento sobre todas las
      diferentes arquitecturas. También le permite agrupar sus paquetes en
      componentes, de la manera en la que los paquetes de Debian se dividen en
      <literal>main</literal>, <literal>non-free</literal> y 
      <literal>contrib</literal>. De modo que si su software es 
      multiplataforma, amará los repositorios de paquetes.</para>

  </section> <!-- how-it-works -->

  <section id="setting-up">
    <title>Cómo configurar un repositorio</title>

    <para>Existen dos tipos de repositorios: el más complejo de ellos en el 
      que el usuario sólo especifica la ruta base del repositorio, la 
      distribución y los componentes que quiere (apt obtendrá automáticamente
      los adecuados a la arquitectura, si están disponibles), y el más sencillo
      en el que el usuario tiene que especificar una ruta exacta (y apt no 
      tendrá que hacer magia para encontrar los adecuados). La primera forma es
      la más compleja de configurar, pero la mas fácil de usar, y siempre se 
      debería usar para los repositorios más complejos y/o multiplataforma.
      La ultima es más sencilla de configurar, pero sólo se debería usar para
      los repositorios de una única arquitectura.</para>

    <para>Aunque no es del todo correcto, se llamará a la primera forma
	  <emphasis>Repositorios automáticos</emphasis> y a la segunda
      <emphasis>Repositorios triviales</emphasis>.</para>
    <section>
      
      <title>Repositorios automáticos</title>

      <para>La estructura de directorios de un repositorio automático con
        las arquitecturas y componentes estándares de Debian es similar a 
        esto:</para>

      <example id="debian-repository-example">
        <title>Un repositorio estándar de Debian</title>

      <screen>(directorio raíz del 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 otros paquetes no libres están en 
        <literal>contrib</literal>. Actualmente, Debian es compatible con
        11 arquitecturas. Se omitirán la mayoría de ellas para no alargar
        el documento.
      </para>

      <para>Cada directorio <filename>binary-*</filename> contiene un archivo
        <filename>Packages.gz</filename> y opcionalmente un archivo
        <filename>Release</filename>. Cada directorio
        <filename>source</filename> contiene un archivo
        <filename>Sources.gz</filename> y opcionalmente un archivo
        <filename>Release</filename>. Tenga en cuenta que los paquetes
		no tienen por que estar en el mismo directorio que los archivos 
        de índice, ya que éstos contienen las rutas de los paquetes. De hecho,
        podrían estar en <emphasis>cualquier lugar</emphasis> del repositorio.
        Esto permite la creación de <link linkend="pools">almacenes de 
        paquetes</link>.</para>

      <para>Es libre de crear tantas distribuciones y componentes y de
      llamarlos como quiera. Los usados en el ejemplo son justamente los
      que se usan en Debian. Por ejemplo, podría crear las distribuciones
      <literal>current</literal> y <literal>beta</literal> (en vez 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> (en vez de
        <literal>main</literal>, <literal>contrib</literal> y
        <literal>non-free</literal>).</para>

      <para>Aunque es libre de llamar a los componentes como quiera,
        normalmente es una buena idea usar las distribuciones estándar 
        de Debian, ya que es 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. Ya que los usuarios deberán
		especificar la ruta a la raíz del repositorio y la ruta relativa
		entre la raíz y el directorio que contiene los archivos índice,
        es libre de hacer lo que quiera (incluso colocar todo en la raíz del
        repositorio, de modo que la ruta relativa será simplemente
        <quote><filename>/</filename></quote>).</para>

      <example id="trivial-example">
        <title>Un repositorio trivial con dos subdirectorios</title>
        
        <screen>(el directorio raíz)
|
|-binary
+-source</screen>
      </example>

    </section>

    <section>
      <title>Crear los archivos índice</title>

      <para><command>dpkg-scanpackages</command> genera el archivo
        <filename>Packages</filename> y
        <command>dpkg-scansources</command> genera el archivo
        <filename>Sources</filename>.</para>

      <para>Ambos dirigen su salida a stdout. De este modo, para generar
		archivos comprimidos, se puede usar una orden encadenada como
        la siguiente:
		<command>dpkg-scanpackages
        <replaceable>argumentos</replaceable> | gzip -9c &gt;
        Packages.gz</command>.</para>

      <para>Estas dos herramientas funcionan del mismo modo. Ambas reciben
        dos argumentos (en realidad hay más, pero no se explican todos aquí.
        Puede leer las páginas del manual de cada herramienta si desea saber
        más). El primer argumento es el directorio que contiene los paquetes,
        y el segundo argumento es el <emphasis>archivo anulado</emphasis>.
        No se necesitan anular los archivos en un repositorio sencillo, pero
        como es un argumento obligatorio, se pasa simplemente
        <literal>/dev/null</literal>.</para>

      <para><command>dpkg-scanpackages</command> escanea los paquetes
        <filename>.deb</filename> y
        <command>dpkg-scansources</command> escanea los archivos
        <filename>.dsc</filename>. Es necesario colocar los archivos
        <filename>.orig.gz</filename>, <filename>.diff.gz</filename> y
        <filename>.dsc</filename> juntos. Los archivos 
        <filename>.changes</filename> no son necesarios.</para>

      <para>Incluso, si tiene un repositorio trivial como el de
          <xref linkend="trivial-example"/>, puede crear los dos archivos 
          índice del siguiente modo:</para>
      
      <screen>$ cd my-repository
$ dpkg-scanpackages binary /dev/null | gzip -9c &gt; binary/Packages.gz
$ dpkg-scansources source /dev/null | gzip -9c &gt; source/Sources.gz</screen>

      <para>Si tiene un repositorio complejo como el de <xref
          linkend="debian-repository-example"/>, tendrá que escribir
		  algunos scripts para automatizar el proceso.</para>

      <para>También podría usar el argumento
        <replaceable>pathprefix</replaceable> de las dos herramientas
		para simplificar un poco la sintaxis. Esto se deja como ejercicio para
		el lector. (Está documentado en las paginas del manual).</para>
    </section>

    <section id="release">
      <!-- todo: Release should be between <filename> tags, but then
      xmltex won't compile it --> 
      <title>Crear los archivos de la publicación</title>

      <para>Si quiere activar el uso de <emphasis>Pinning</emphasis>
		para los usuarios del repositorio, 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 <ulink
        url="http://www.debian.org/doc/manuals/apt-howto/";>COMO de APT
        </ulink>).</para>

      <para>Los archivos <filename>Release</filename> son sencillos y
        cortos, 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 pertenecen a (o estan diseñados 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 quién hizo los paquetes.</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><literal>Label</literal></term>

          <listitem>
            <para>Una etiqueta adecuada para los paquetes del 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,
			tales como <literal>i386</literal>,
              <literal>amd64</literal> o
              <literal>source</literal> para el código fuente.</para>
          </listitem>
        </varlistentry>
      </variablelist>

      <para>Esto es importante tener correctamente los campos
        <literal>Archive</literal> y <literal>Architecture</literal>,
        ya que son las más usadas en el pinning. El resto son menos 
        importantes.</para>
    </section>


    <section id="pools">
      <title>Creando almacenes de paquetes</title>

      <para>Con los repositorios automáticos, distribuir los paquetes
		en los diferentes directorios será como intentar domar a una bestia 
        indomable. También es un desperdicio de espacio y ancho de banda,
		ya que hay muchos paquetes (por ejemplo, paquetes de documentación) que
		se repiten en todas las arquitecturas.</para>

      <para>En estos casos, una posible solución es un
        <emphasis>almacen de paquetes</emphasis>. Un almacen de paquetes es 
        un directorio adicional en la raíz del repositorio que contiene
        <emphasis>todos</emphasis> los paquetes (loos binarios de todas las
        arquitecturas, distribuciones y componentes, y todo el código fuente).
        A través de una elegante combinación de archivos anulados (que no se 
        describen en este documento) y de scripts se pueden evitar muchos 
        problemas. Un buen ejemplo de un repositorio con un almacen de 
        paquetes es el mismo repositorio de Debian.</para>

      <para>Los almacenes de paquetes sólo son útiles en repositorios grandes.
        Nunca he realizado uno y no creo que lo necesite en un futuro cercano, 
        por esto no explico cómo se crea uno en este documento. Si piensa que 
        se debería añadir una sección explicando los almacenes de paquetes, 
        es libre de escribirla y contactar conmigo.</para>

    </section>

    <section>
      <title>Herramientas</title>

      <para>Hay varias herramientas para automatizar y facilitar la creación
		de archivos Debian. Aquí explico las más destacadas.</para>

      <para><command>apt-ftparchive</command> se usa para mover una
		colección de paquetes de Debian a una jerarquía de archivos 
		apropiada, se usa en el archivo oficial de Debian. Esta 
        herramienta forma parte del paquete <literal>apt-utils</literal>.
      </para>

      <para><command>apt-move</command> se usa para mover una colección
		de paquetes de Debian a una jerarquía de archivos apropiada, 
        se usa en el archivo oficial de Debian.</para>

    </section>

  </section> <!-- setting-up -->

  <section id="using-a-repository">
    <title>Usar un repositorio</title>

    <para>Usar un repositorio es muy sencillo, pero depende de qué tipo de
      repositorio creó: binario o código fuente, y automático o trivial.</para>

    <para>Cada repositorio tiene una línea en el archivo
      <filename>sources.list</filename>, para los binarios use la orden
      <literal>deb</literal>, y para el código fuente use la orden
      <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, similar a 
      <literal>ftp://ftp.yoursite.com/debian</literal>,
	  <literal>http://yoursite.com/debian</literal>, o, para un repositorio
      local (sin red y sin internet),
      <literal>file::///home/joe/my-debian-repository</literal>.  
      La barra lateral del final es opcional.</para>

    <para>Para los repositorios automáticos, debe especificar una
	  distribución y uno o mas componentes. La distribución no termina con 
      una barra lateral.</para>

    <example>
      <!-- todo: sources.list should be tagged as <filename>, but xmltex
      doesn't support that -->
      <title>Dos repositorios automáticos de un archivo 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
	  al archivo índice y debe terminar con una barra lateral, además no debe
	  especificar componentes.</para>

    <example>
      <title>Dos repositorios triviales de un archivo
      <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 de binarios
        en <filename>/home/aisotton/rep-exact/binary</filename> de la
        máquina actual, la segunda especifica un repositorio de código fuente en
        <filename>/home/aisotton/rep-exact/source</filename>.</para>
    </example>
  </section> <!-- using-a-repository -->

  <section>
    <title>Véase 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 de
		<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 más ejemplos
          de repositorios en el mundo real.</para>
      </listitem>
        
      <listitem>
        <para>En el <ulink
            url="http://www.debian.org/doc/manuals/apt-howto/";>COMO de APT
        </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 del manual <literal>sources.list(5)</literal>.</para>
      </listitem>
    </itemizedlist>

  </section>
</article>

Reply to: