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

Re: Creando un "debian archive"



Esto es parte de un tuto que hice para compilar los paquetes para i686 ;-)

***************************************
* . COMO APT-GETIZAR NUESTROS PAQUETES ---------------------------
***************************************

Una vez tenemos los .deb generados a partir de los fuentes, podemos instalarlos con el comando "dpkg -i paquete.deb", el paquete se instalará/actualizará sin ningun problema, bajando las dependencias necesarias.

Al hacer esto hay un pequeño problema, la siguiente vez que hagamos un "apt-get upgrade", como el paquete que hemos creado nosotros no está en ningún servidor del sources.list el "apt-get upgrade" nos machará el paquete que hemos creado con el paquete que se bajé usando los servidores que tengamos en el sources.list

La solucióna este problema puede ser o montarnos un servidor web o ftp en el cual nos montemos la jerarquía necesaria para que el apt-get coja los ficheros de ahí, o esta opción que voy a explicar basada en ficheros locales sin la necesidad de ningun servidor.

En resumen tenemos que meter los .deb generados en un directorio del sistema, generar un fichero Packages.gz (indice de paquetes) e indicar en el sources.list esa ruta. Vamos a ir paso a paso ;-)


1. Crear jerarquía de directorios

  Por ejemplo podemos crear esta jerarquía.

  /usr/share/i686
     \- debian
         \- dists
	    \- testing
	       \- main
	          \- binary-i386

En este caso estamos creando una jerarquía para una testing en una máquina Intel.


2. Copiar los .debs

  Los .deb deberemos copiarlos al directorio:
    /usr/share/i686/debian/dists/testing/main/binary-i386


3. Generación del Packages.gz

Este fichero le indica al apt-get cuales son los paquetes que se encuentran en el directorio indicado.

En nuestro caso deberemos ejecutar este comando: (mejor crearse un script para no tener que picarlo cada vez :-)


dpkg-scanpackages dists/testing /dev/null | gzip -9 > dists/testing/main/binary-i386/Packages.gz


Con esto obtendremos un fichero Packages.gz en el directorio binary-i386 que contendrá un indice con los paquetes que tengamos en ese directorio.

NOTA: Cada vez que añadamos/modifiquemos un .deb en ese directorio deberemos volver a ejecutar ese comando para que vuelva a generar el indice.


4. Añadir línea al sources.list

Para que el apt-get pueda "ver" los paquetes que hemos generado debemos indicarselo utilizando una línea del estilo, AL PRINCIPIO del fichero.

  deb file:/usr/share/i686/debian testing main


Esta línea debe de ser la primera del fichero sources.list ya que el apt-get utiliza el orden de las líneas del sources.list como prioridad a la hora de bajar paquetes con la misma versión que están en varios servidores a la vez.

Después de añadirla hacemos un apt-get update y ya tendremos nuestros paquetes listos para actualizar/instalar.

  Nos mostrará en el proceso una línea así:

      Ign file: testing/main Release

!Tranquilo¡, lo ha leído correctamente, sólo avisa que no se ha tenido que bajar nada ;-)

NOTA: Igual que antes, cada vez que actualicemos el Packages.gz tendremos que ejecutar el apt-get update para que coja el indice otra vez.


5. Actualizar/Instalar paquetes

Una vez has llegado aquí, sólo tienes que hacer un apt-get upgrade y si has compilado un paquete que ya tenías en tu sistema el solito te lo actualizará.

Si no lo tenías instalado en tu sistema lo instalas con apt-get install como normalmente haces ;-)


Jaime Robles wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Buenas!
¿Alguien me puede dar una URL donde explique cómo crear mi "debian archive" para ir poniendo los paquetes que voy creando y poder hacer un "apt-get install paquete_de_jaime" ? ;-)

Gracias!

- -- Un saludo,
	Jaime Robles
	jaime@kde.org
	Coordinador KDE-es - KDE Spanish Translation Team
	http://www.kde.org/es  - http://es.i18n.kde.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE+9x29ER46oL+8yYURAmeQAKCADy6j2q+eed4nFV5gCkkkV7WX0QCfU2dY
WjYIkvGZqgKZpkRYrrnC6Is=
=QjqE
-----END PGP SIGNATURE-----






Reply to: