¿Cómo crear archivos indice en Debian o Ubuntu?

26/06/2007
By

dpkg-scanpackages es la herramienta con la que podemos generar el fichero Packages y con la herramienta dpkg-scansources creamos los ficheros Sources.

Ellos pueden enviar sus salidas a stout; por consiguiente, para generar ficheros comprimidos, podemos usar una cadena de comandos como ésta:

deathbian:~# dpkg-scanpackages arguments | gzip -9c > Packages.gz

Las dos herramientas trabajan de la misma manera; ambas toman dos argumentos (en realidad son más, pero aquí no hablaremos de eso; puedes leerte las páginas del manual si quieres saber más); el primer argumento es el directorio en cual están los paquetes, y el segundo es el fichero predominante.

En general no necesitamos los ficheros predominantes para repositorios simples, pero como éste es un argumento requerido, simplemente lo pasamos a /dev/null. dpkg-scanpackages escanea los paquetes .deb, sin embargo, dpkg-scansources escanea los ficheros .dsc, por lo tanto es necesario colocar los ficheros .orig.gz, .diff.gz y .dsc juntos.

Los ficheros .changes no son necesarios. Así que, si tienes un repositorio trivial como el mostrado anteriormente, puedes crear los dos ficheros indice de la siguiente manera:

deathbian:~# cd my-repository
deathbian:~# dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz
deathbian:~# dpkg-scansources source /dev/null | gzip -9c > source/Sources.gz

Ahora bien, si tienes un repositorio tan complejo como el mostrado en el primer ejemplo, tendrás que escribir algunos scripts para automatizar éste proceso. También puedes usar el argumento pathprefix de las dos herramientas para simplificar un poco la sintaxis.

Popularity: 3% [?]


Otros articulos de interes:

  1. Como crear imagenes ISO de un CD o DVD en Linux Ubuntu/Debian
  2. ¿Cómo crear estanques?
  3. ¿Cómo crear ficheros Release?
  4. Debian/Ubuntu: Como instalar paquetes .deb en Linux
  5. Instalando archivos RPM en Debian y Ubuntu

Tags: argumento, binary packages, la sintaxis, por lo tanto

Leave a Reply

Your email address will not be published. Required fields are marked *

*