Paquetes virtuales

Algunos paquetes, en sus dependencias (sección Depends), además de paquetes reales tienen paquetes virtuales. Por ejemplo, The GIMP necesita que en el sistema haya instalado un www-browser para mostrar la ayuda. www-browser es un paquete virtual. No existe como tal, sólo es un nombre que se utiliza para requerir o proporcionar una función. Los paquetes que cumplen la función de www-browser lo especifican en sus dependencias, sección Provides.

Informar a APT

Supongamos que queremos instalar el programa FreeMind (paquete freemind), una herramienta para crear mapas conceptuales programada en Java, que depende del paquete virtual java2-runtime (MVJ, Máquina Virtual Java).

Si instalamos independientemente de APT un programa que cumpla la función de java2-runtime, por ejemplo la MVJ de Sun, e intentamos instalar FreeMind, como APT desconoce que ya hemos instalado un paquete que provee esa función, intentará instalar algún paquete que la proporcione, como GIJ (MVJ del GNU).

Para decirle a APT que ya hemos instalado un paquete que provee esas función usaremos el programa equivs (paquete equivs), con el que crearemos un paquete dummy que únicamente contiene información sobre dependencias:

  1. creamos el archivo java-sun.control con el contenido:
    Package: java-sun
    Provides: java-virtual-machine, java2-runtime, java2-compiler
    Description: Paquete dummy Sun MVJ.
    Paquete dummy que informa a APT de funciones Java satisfechas.
  2. generamos el paquete java-sun_1.0_all.deb:
    # equivs-build java-sun.control
  3. instalamos java-sun_1.0_all.deb como un paquete normal:
    # dpkg -i java-sun_1.0_all.deb

Ahora, en Aptitude / Paquetes virtuales veremos que en el paquete virtual java2-runtime se ha añadido nuestro paquete java-sun a la lista de paquetes que cumplen esa función.

Si ahora instalamos FreeMind veremos que se instala sin ningún paquete adicional, ya que sus dependencias están satisfechas.

Artículos en la categoría "Instalar software en Linux"

  1. Cómo trabajar con APT
  2. Fuentes de software
  3. Instalar paquetes no-Debian
  4. Construir un paquete Debian desde las fuentes
  5. Paquetes virtuales
  6. El sistema de alternativas
  7. Crear un Live CD en Linux