jueves, 30 de octubre de 2014

Paquetes de Software

Es un grupo de uno o más archivos que son necesarios tanto para la ejecución de un programa de computadora, o como para agregar características a un programa ya instalado en la computadora o en una red de computadoras. Los paquetes de software, pueden estar en un formato estandarizado, que le permite ser instalado por un programa que está integrado en el sistema operativo, o puede ser un instalador autosuficiente (no necesita otros programas), generalmente conocido como "instalador". Esto último suele ser típicamente utilizado en la distribución de software comercial, propietario y de código cerrado, especialmente en Microsoft Windows, y menos a menudo en Mac OS X. En cambio, es más usual en sistemas operativos libres basados en Unix el uso de formatos estandarizados que son extensiones de formatos de archivador de ficheros.
El término paquete de software también es utilizado en la programación orientada a objetos, para nombrar a un grupo de clases relacionadas de un programa. En este significado, los paquetes son especialmente útiles para medir y controlar el acoplamiento inherente de un programa. En un programa modular, incluso fuera del paradigma orientado a objetos, el término "paquete de software", puede hacer referencia a cualquier componente que puede ser integrado en el programa principal (a través de interfaces bien definidas), generalmente por el usuario final. En otros contextos, la integración podría ocurrir también a nivel código fuente, pero se requeriría del conocimiento de un lenguaje de programación determinado.
Función
Los sistemas de gestión de paquetes tienen la tarea de organizar todos los paquetes instalados en el sistema y se encargan de mantener su usabilidad. Esto se consigue combinando las siguientes técnicas:

  • Comprobación de la suma de verificación para evitar que haya diferencias entre la versión local de un paquete y la versión oficial
  • Comprobación de la firma digital
  • Instalación, actualización y eliminación simple de paquetes
  • Resolución de dependencias para garantizar que el software funcione correctamente
  • Búsqueda de actualizaciones para proveer la última versión de un paquete, ya que normalmente solucionan bugs y proporcionan actualizaciones de seguridad.
  • Agrupamiento de paquetes según su función para evitar la confusión al instalarlos o mantenerlos
Muchos de los sistemas de gestión de paquetes ampliamente utilizados utilizan backends simples para instalar los paquetes. Por ejemplo, YUM utiliza RPM como backend y APT utiliza dpkg.

¿Qué contiene un Paquete de software?
Un paquete contiene:

  • Datos: conjunto de archivos que serán instalados y/o manipulados. Son los archivos del programa, bibliotecas, etc.
  • Cabecera: instrucciones para el proceso de instalación y configuración además de información como: datos técnicos del mismo paquete, dependencias, incompatibilidades, descripción, datos del responsable del paquete; y archivos con instrucciones para comprobar dependencias, preparación del sistema, etc.
Por ejemplo, podemos examinar el contenido de un paquete RPM:





¿Qué es un Repositorio de paquetes?
Son directorios en servidores especiales los cuales únicamente mantienen paquetes e información de estos, en una estructura similar a una base de datos. Podemos utilizar estos repositorios para actualizar los programas instalados en nuestro sistema, o para instalar programas que no se encuentren en nuestra distribución.
Tipos de paquetes
Podemos diferenciar los siguientes tipos de paquetes:

  • Paquetes de Fuentes (comprimidos pero no empaquetados): se reconocen por la extensión: .tgz, .tar.gz, .tar.bz2
  • Paquetes binarios (software precompilado): se reconocen por la extensión: .deb, .rpm, .mdk, etc.
  • Paquetes de fuentes empaquetadas: Tipicamente .ebuild

La instalación de paquetes depende de la distribución Linux sobre la que se vayan a instalar. Esta regla no es estricta, siendo posible instalar un determinado tipo de paquetes de una distribución en otra distribución.

  • dpkg, usado originalmente por Debian y ahora también por otros sistemas, usa el formato .deb y fue el primero en poseer una herramienta de resolución de dependencias ampliamente conocida, APT.
  • El sistema RPM, creado por Red Hat y usado por un gran número de distribuciones de Linux, es el formato de paquetes del Linux Standard Base. Para trabajar con este sistema de paquetes existen muy diversas herramientas como apt4rpm, up2date (de Red Hat), urpmi (de Mandriva), YaST (de SuSE) y YUM (usado por Fedora y Yellow Dog Linux).
  • El sistema tgz, usado por Slackware, empaqueta el software usando tar y gzip. Pero, además, hay algunas herramientas de más nivel para tratar con este formato: slapt-get, slackpkg and swaret.
  • Pacman, para Arch Linux usa binarios precompilados distribuidos en un fichero tgz.


No hay comentarios:

Publicar un comentario