Repositorios personales y locales

De doc.ubuntu-es
(Diferencias entre revisiones)
Saltar a: navegación, buscar
(El Script)
(Usar el Repositorio)
Línea 50: Línea 50:
 
Ahora tus paquetes locales pueden ser manipulados con '''synaptic''', '''aptitude''' y los comandos apt: '''apt-get''', '''apt-cache''', etc. Cuando intentes hacer '''apt-get install''', cualquier dependencia será resuelta, siempre que sean conocidas.  
 
Ahora tus paquetes locales pueden ser manipulados con '''synaptic''', '''aptitude''' y los comandos apt: '''apt-get''', '''apt-cache''', etc. Cuando intentes hacer '''apt-get install''', cualquier dependencia será resuelta, siempre que sean conocidas.  
  
Los paquetes mal hechos probablemente fallarán, pero no tendrás endured dpkg hell.
+
Los paquetes mal hechos probablemente fallarán, pero no tendrás que aguantar el infierno de las dependecias.
  
 
= Referencias =
 
= Referencias =

Revisión de 23:54 30 mayo 2007

Contenido

Introducción

A menudo habrá algún paquete que quierass instalar pero no exista en los repositorios de Ubuntu. En el caso de que este paquete tenga alguna dependencia con otros paquetes, intentar usar dpkg puede hacerte caer en un "infierno dpkg", y que apt resuelva esas dependencias por ti podría ayudarte realmente. Hay métodos muy completos para crear tu propio repositorio, como [1] o [2]. Éstos son excesivos cuando todo lo que quieres es resolver dependencias de unos cuantos paquetes que te has descargado de internet. Una solución simple es usar dpkg-scanpackages, el cual creará un repositorio que puedas añadir a tu sources.list.

Crear un Repositorio Personal

Aquí tenemos 3 pasos para crear un repositorio propio sencillo propio

  • Pon los paquetes en un directorio
  • Crea un script que escaneará los paquetes y creará un archivo que apt-get update pueda leer
  • Añade una línea a tu sources.list apuntando a tu repositorio

El directorio

Crea un directorio donde mantengas tus paquetes. Para este ejemplo usaremos /usr/local/mydebs.

mkdir /usr/local/mydebs

Ahora mueve tus paquetes al directorio que has creado.

El Script

Son simplemente dos líneas:

#! /bin/bash
cd /usr/local/mydebs
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz


Copia y pega las líneas de arriba en un documento nuevo con gedit, y guardalo como update-mydebs en ~/bin. (el caracter '~' se refiere el directorio home. Si ~/bin no existe, créalo: Ubuntu pondrá ese directorio en tu PATH. Este es un buen lugar para poner scripts personales). A continuación, haz tu script ejecutable:

 chmod u+x ~/bin/update-mydebs

Cómo trabaja el script:

dpkg-scanpackages busca todos los paquetes en mydebs, y la salida se comprime y se guarda en archivo (Packages.gz) que apt-get update puede leer (consulta al final de la página las referencias para una explicación más detallada). /dev/null es un fichero vacio; es un substituto para un fichero invalidado el cual contiene alguna información adicional sobre los paquetes, que en este caso no es realmente necesario. De nuevo, consulta las referencias al final de la página si realmente quieres informarte sobre esto.

Sources.list

Añade la línea

  deb file:/usr/local/mydebs ./

A tu /etc/apt/sources.list, y guárdalo, y ya está hecho!.

Usar el Repositorio

Siempre que pongas nuevos deb en el directorio mydebs, ejecuta

  sudo update-mydebs
  sudo apt-get update

Ahora tus paquetes locales pueden ser manipulados con synaptic, aptitude y los comandos apt: apt-get, apt-cache, etc. Cuando intentes hacer apt-get install, cualquier dependencia será resuelta, siempre que sean conocidas.

Los paquetes mal hechos probablemente fallarán, pero no tendrás que aguantar el infierno de las dependecias.

Referencias

Como AptGet

Debian New Maintainers Guide (this is the exruciating one)


Fuente: https://help.ubuntu.com/community/Repositories/Personal

Herramientas personales