fbpx
Wikipedia

Sistema de gestión de paquetes

Un sistema de gestión de paquetes, también conocido como gestor de paquetes, es una colección de herramientas que sirven para automatizar el proceso de instalación, actualización, configuración y eliminación de paquetes de software. El término se usa comúnmente para referirse a los gestores de paquetes en sistemas Unix-like, especialmente GNU/Linux, ya que se apoyan considerablemente en estos sistemas de gestión de paquetes.

En estos sistemas, el software se distribuye en forma de paquetes, frecuentemente encapsulado en un solo fichero. Estos paquetes incluyen otra información importante, además del software mismo, como pueden ser el nombre completo, una descripción de su funcionalidad, el número de versión, el distribuidor del software, la suma de verificación y una lista de otros paquetes requeridos para el correcto funcionamiento del software. Esta metainformación se introduce normalmente en una base de datos de paquetes local.

Comparación entre instaladores y sistemas de gestión de paquetes

Las diferencias principales entre un sistema de gestión de paquetes y un instalador son las siguientes:

Sistema de gestión de paquetes Instalador
Forma parte del sistema operativo. Cada producto viene unido a su propio instalador.
Usa una única base de datos de instalación. Rastrea su propia instalación
Puede verificar y administrar todos los paquetes sobre el sistema. Solo trabaja con su propio producto.
Un único vendedor de sistema de administración de paquetes. Múltiples vendedores de instalador.
Un único formato de paquetes. Múltiples formatos de instalación

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.

Desafíos con bibliotecas compartidas

En los sistemas donde las aplicaciones comparten trozos de instrucciones, como en la mayor parte de las distribuciones de GNU/Linux, la resolución de dependencias al instalar y desinstalar software se convierte en una necesidad. Algunos de los sistemas de gestión de paquetes más avanzados tienen la capacidad de desinstalar los paquetes recursivamente o en cascada, de forma que se eliminan todos los paquetes que dependen del paquete a desinstalar y todos los paquetes de los que el paquete a desinstalar depende, respectivamente.

Frontends para paquetes compilados localmente

Es común que un administrador instale software que no está disponible en los repositorios provistos. Algunos ejemplos pueden ser una nueva versión de una aplicación que todavía no está disponible en la distribución o una alternativa distinta de la elegida por la distribución. Si este software adicional solo se distribuye en forma de código fuente, la instalación requerirá la compilación del código. Sin embargo, la instalación de este software adicional en el sistema ocasionará que el estado del sistema y la base de datos del gestor de paquetes no estén sincronizados, por lo que el administrador deberá tomar medidas adicionales para asegurar que el sistema de gestión de paquetes se mantenga al día, puesto que este no es capaz de hacerlo automáticamente.

Hay herramientas que se encargan de asegurar que los paquetes compilados localmente están integrados con el sistema de gestión de paquetes. En distribuciones basadas en paquetes .deb y .rpm, al igual que en Slackware, encontramos checkinstall. Para los sistemas basados en recetas como son Gentoo Linux o algunos sistemas híbridos como Arch GNU/Linux, es común escribir la receta en primer lugar, ya que ésta se encargará de asegurar que el paquete se incluye en la base de datos.

Conversión de paquetes binarios

alien es un programa que convierte entre los diferentes formatos de paquetes de GNU/Linux. Soporta la conversión entre Linux Standard Base, RPM, deb, Stampede (.slp) y paquetes de Slackware (.tgz).

Mantenimiento de la configuración

Otra problemática aparte de la actualización de software es la actualización de ficheros de configuración. Ya que los sistemas de gestión de paquetes surgieron como extensiones para las utilidades de archivado, normalmente solo son capaces de sobrescribir o retener los ficheros de configuración, en lugar de poder aplicarles reglas de modificación. Sin embargo, hay excepciones, que normalmente se aplica al proceso de configuración del núcleo, ya que si estos son incorrectos pueden ocasionar fallos al reiniciar el sistema, pudiendo incluso hacer que el sistema no arranque. Estos problemas pueden ocasionarse cuando el formato de los ficheros de configuración cambia. Por ejemplo, cuando el antiguo fichero de configuración no deshabilita nuevas opciones que deberían ser deshabilitadas. Algunos sistemas de gestión de paquetes, como el dpkg de Debian, permiten configurar el software durante la instalación. En cualquier otra situación es preferible instalar los paquetes con la configuración por defecto y sobrescribirla posteriormente. Por ejemplo, en la instalación de un paquete en un gran número de computadoras (dpkg también soporta este tipo de instalación preconfigurada).

Repositorios

El software normalmente se pone a disposición de los usuarios en los repositorios, con el fin de proporcionar a los usuarios de un sencillo control sobre los diferentes tipos de software que van a instalar en su sistema y, en ocasiones, debido a razones legales o conveniencias por parte de los distribuidores.

Evitar la actualización de paquetes

Cuando un usuario interactúa con el gestor de paquetes para realizar una actualización, este suele mostrar una lista de las tareas a realizar (normalmente la lista de paquetes a actualizar y, posiblemente, también los números de versión) y también es probable que permita realizar una actualización completa o bien seleccionar los paquetes que se desea actualizar. Algunos gestores de paquetes permiten indicar los paquetes que no se desea actualizar nunca o solamente cuando estos corrigen errores importantes en la versión anterior. A este proceso se lo suele denominar version pinning. Por ejemplo, yum permite esto mediante la sintaxis exclude=openoffice*, pacman con IgnorePkg=openoffice (en ambos casos para evitar la actualización de OpenOffice), mientras que las herramientas de Debian poseen una sintaxis más compleja y potente.

Ejemplos

Sistemas libres

Por la naturaleza del software libre, los paquetes bajo licencias compatibles y similares están disponibles para usarlo en varios sistemas operativos. Estos paquetes pueden ser fácilmente combinados y distribuidos usando "packaging systems" configurables para manejar los diferentes cambios del software y administrar las dependencias y los conflictos específicos de una versión. Algunos "packaging systems" de software libre son ellos mismos liberados como software libre.

Sistemas basados en paquetes binarios

  1. 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.
  2. fink, para Mac OS X, deriva parcialmente de dpkg/apt y de ports. Esta herramienta pretende hacer más sencilla la instalación de programas libres en Mac OS X.
  3. El sistema RPM, creado por Red Hat y usado por un gran número de distribuciones de GNU/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).
  4. El sistema tgz, usado por Slackware, empaqueta el software usando tar y gzip. Pero, además, hay algunas herramientas de más alto nivel para tratar con este formato: slapt-get, slackpkg y swaret.
  5. Pacman, para Arch Linux usa binarios precompilados distribuidos en un fichero pkg.tar.xz.

Sistemas de instalación desde una receta

  • El sistema Portage (basado en el programa emerge) es usado por Gentoo GNU/Linux. Este está inspirado en el sistema de ports de BSD y usan scripts llamados ebuilds para instalar el software.
  • En la distribución GoboLinux, un fichero-receta contiene información sobre cómo descargar, desempaquetar, compilar e instalar un paquete usando la herramienta Compile.

Sistemas híbridos

  • La Colección de Ports de FreeBSD, a veces llamada ports a secas, usa un sistema de Makefiles para instalar software desde código fuente o ficheros binarios. Las colecciones de MacPorts (para Mac OS X) y de ports para pkgsrc (en NetBSD y OpenBSD) son similares.

Sistemas de metapaquetes

Los siguientes sistemas unifican la gestión de paquetes para muchas o todas las distribuciones de GNU/Linux y otras variantes de Unix basándose también en el concepto de ficheros-receta:

  • klik proporciona una forma sencilla de instalar paquetes de software para la mayor parte de distribuciones sin los problemas de dependencias tan comunes en otros formatos de paquetes.
  • Autopackage usa fichero .package.
  • epm, desarrollado por Easy Software Products (creadores de CUPS), es un meta-empaquetador que permite crear paquetes nativos para todas las distribuciones de GNU/Linux y otros sistemas operativos basados en Unix (.deb, .rpm, .tgz para GNU/Linux; .pkg para Solaris y *BSD, .dmg para Mac OS X, ...) a partir de un único fichero .list.

Sistemas propietarios

En la actualidad, una gran variedad de sistemas de gestión de paquetes es usada por algunos sistemas operativos propietarios para tratar con la instalación tanto de paquetes propietarios como libres.

  • installp es el comando de AIX para las bases de datos Object Data Manager (ODM).
  • El formato SysV usado por Solaris.
  • Software Distributor es el gestor de paquetes de HP-UX.
  • En el framework .NET de Microsoft, un ensamblado es una biblioteca de código parcialmente compilado destinado al uso en deployment, versioning y seguridad.

Gestión de paquetes incrustada en aplicaciones

Algunos sistemas de gestión de paquetes no forman parte nativa del sistema operativo, como pueden ser fink en Mac OS X o el entorno Unix-like de Cygwin (para Windows). Algunos lenguajes de programación interpretados tienen su propio sistema de gestión de paquetes para manejar módulos del lenguaje, como pasa con los lenguajes de programación Perl (ver CPAN) o PHP (ver PEAR) o Ruby ( RubyGems ). Otros programas pueden venir con su propio sistema para gestionar módulos.

Véase también

Referencias

  •   Datos: Q891055
  •   Multimedia: Package management systems

sistema, gestión, paquetes, sistema, gestión, paquetes, también, conocido, como, gestor, paquetes, colección, herramientas, sirven, para, automatizar, proceso, instalación, actualización, configuración, eliminación, paquetes, software, término, comúnmente, par. Un sistema de gestion de paquetes tambien conocido como gestor de paquetes es una coleccion de herramientas que sirven para automatizar el proceso de instalacion actualizacion configuracion y eliminacion de paquetes de software El termino se usa comunmente para referirse a los gestores de paquetes en sistemas Unix like especialmente GNU Linux ya que se apoyan considerablemente en estos sistemas de gestion de paquetes Synaptic Package Manager En estos sistemas el software se distribuye en forma de paquetes frecuentemente encapsulado en un solo fichero Estos paquetes incluyen otra informacion importante ademas del software mismo como pueden ser el nombre completo una descripcion de su funcionalidad el numero de version el distribuidor del software la suma de verificacion y una lista de otros paquetes requeridos para el correcto funcionamiento del software Esta metainformacion se introduce normalmente en una base de datos de paquetes local Indice 1 Comparacion entre instaladores y sistemas de gestion de paquetes 2 Funcion 2 1 Desafios con bibliotecas compartidas 2 2 Frontends para paquetes compilados localmente 2 3 Conversion de paquetes binarios 2 4 Mantenimiento de la configuracion 2 5 Repositorios 2 6 Evitar la actualizacion de paquetes 3 Ejemplos 3 1 Sistemas libres 3 1 1 Sistemas basados en paquetes binarios 3 1 2 Sistemas de instalacion desde una receta 3 1 3 Sistemas hibridos 3 1 4 Sistemas de metapaquetes 3 2 Sistemas propietarios 3 3 Gestion de paquetes incrustada en aplicaciones 4 Vease tambien 5 ReferenciasComparacion entre instaladores y sistemas de gestion de paquetes EditarLas diferencias principales entre un sistema de gestion de paquetes y un instalador son las siguientes Sistema de gestion de paquetes InstaladorForma parte del sistema operativo Cada producto viene unido a su propio instalador Usa una unica base de datos de instalacion Rastrea su propia instalacionPuede verificar y administrar todos los paquetes sobre el sistema Solo trabaja con su propio producto Un unico vendedor de sistema de administracion de paquetes Multiples vendedores de instalador Un unico formato de paquetes Multiples formatos de instalacionFuncion EditarLos sistemas de gestion 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 tecnicas Comprobacion de la suma de verificacion para evitar que haya diferencias entre la version local de un paquete y la version oficial Comprobacion de la firma digital Instalacion actualizacion y eliminacion simple de paquetes Resolucion de dependencias para garantizar que el software funcione correctamente Busqueda de actualizaciones para proveer la ultima version de un paquete ya que normalmente solucionan bugs y proporcionan actualizaciones de seguridad Agrupamiento de paquetes segun su funcion para evitar la confusion al instalarlos o mantenerlosMuchos de los sistemas de gestion de paquetes ampliamente utilizados utilizan backends simples para instalar los paquetes Por ejemplo YUM utiliza RPM como backend y APT utiliza dpkg Desafios con bibliotecas compartidas Editar En los sistemas donde las aplicaciones comparten trozos de instrucciones como en la mayor parte de las distribuciones de GNU Linux la resolucion de dependencias al instalar y desinstalar software se convierte en una necesidad Algunos de los sistemas de gestion de paquetes mas avanzados tienen la capacidad de desinstalar los paquetes recursivamente o en cascada de forma que se eliminan todos los paquetes que dependen del paquete a desinstalar y todos los paquetes de los que el paquete a desinstalar depende respectivamente Frontends para paquetes compilados localmente Editar Es comun que un administrador instale software que no esta disponible en los repositorios provistos Algunos ejemplos pueden ser una nueva version de una aplicacion que todavia no esta disponible en la distribucion o una alternativa distinta de la elegida por la distribucion Si este software adicional solo se distribuye en forma de codigo fuente la instalacion requerira la compilacion del codigo Sin embargo la instalacion de este software adicional en el sistema ocasionara que el estado del sistema y la base de datos del gestor de paquetes no esten sincronizados por lo que el administrador debera tomar medidas adicionales para asegurar que el sistema de gestion de paquetes se mantenga al dia puesto que este no es capaz de hacerlo automaticamente Hay herramientas que se encargan de asegurar que los paquetes compilados localmente estan integrados con el sistema de gestion de paquetes En distribuciones basadas en paquetes deb y rpm al igual que en Slackware encontramos checkinstall Para los sistemas basados en recetas como son Gentoo Linux o algunos sistemas hibridos como Arch GNU Linux es comun escribir la receta en primer lugar ya que esta se encargara de asegurar que el paquete se incluye en la base de datos Conversion de paquetes binarios Editar alien es un programa que convierte entre los diferentes formatos de paquetes de GNU Linux Soporta la conversion entre Linux Standard Base RPM deb Stampede slp y paquetes de Slackware tgz Mantenimiento de la configuracion Editar Otra problematica aparte de la actualizacion de software es la actualizacion de ficheros de configuracion Ya que los sistemas de gestion de paquetes surgieron como extensiones para las utilidades de archivado normalmente solo son capaces de sobrescribir o retener los ficheros de configuracion en lugar de poder aplicarles reglas de modificacion Sin embargo hay excepciones que normalmente se aplica al proceso de configuracion del nucleo ya que si estos son incorrectos pueden ocasionar fallos al reiniciar el sistema pudiendo incluso hacer que el sistema no arranque Estos problemas pueden ocasionarse cuando el formato de los ficheros de configuracion cambia Por ejemplo cuando el antiguo fichero de configuracion no deshabilita nuevas opciones que deberian ser deshabilitadas Algunos sistemas de gestion de paquetes como el dpkg de Debian permiten configurar el software durante la instalacion En cualquier otra situacion es preferible instalar los paquetes con la configuracion por defecto y sobrescribirla posteriormente Por ejemplo en la instalacion de un paquete en un gran numero de computadoras dpkg tambien soporta este tipo de instalacion preconfigurada Repositorios Editar El software normalmente se pone a disposicion de los usuarios en los repositorios con el fin de proporcionar a los usuarios de un sencillo control sobre los diferentes tipos de software que van a instalar en su sistema y en ocasiones debido a razones legales o conveniencias por parte de los distribuidores Evitar la actualizacion de paquetes Editar Cuando un usuario interactua con el gestor de paquetes para realizar una actualizacion este suele mostrar una lista de las tareas a realizar normalmente la lista de paquetes a actualizar y posiblemente tambien los numeros de version y tambien es probable que permita realizar una actualizacion completa o bien seleccionar los paquetes que se desea actualizar Algunos gestores de paquetes permiten indicar los paquetes que no se desea actualizar nunca o solamente cuando estos corrigen errores importantes en la version anterior A este proceso se lo suele denominar version pinning Por ejemplo yum permite esto mediante la sintaxis exclude openoffice pacman con IgnorePkg openoffice en ambos casos para evitar la actualizacion de OpenOffice mientras que las herramientas de Debian poseen una sintaxis mas compleja y potente Ejemplos EditarSistemas libres Editar Por la naturaleza del software libre los paquetes bajo licencias compatibles y similares estan disponibles para usarlo en varios sistemas operativos Estos paquetes pueden ser facilmente combinados y distribuidos usando packaging systems configurables para manejar los diferentes cambios del software y administrar las dependencias y los conflictos especificos de una version Algunos packaging systems de software libre son ellos mismos liberados como software libre Sistemas basados en paquetes binarios Editar dpkg usado originalmente por Debian y ahora tambien por otros sistemas usa el formato deb y fue el primero en poseer una herramienta de resolucion de dependencias ampliamente conocida APT fink para Mac OS X deriva parcialmente de dpkg apt y de ports Esta herramienta pretende hacer mas sencilla la instalacion de programas libres en Mac OS X El sistema RPM creado por Red Hat y usado por un gran numero de distribuciones de GNU 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 ademas hay algunas herramientas de mas alto nivel para tratar con este formato slapt get slackpkg y swaret Pacman para Arch Linux usa binarios precompilados distribuidos en un fichero pkg tar xz Sistemas de instalacion desde una receta Editar El sistema Portage basado en el programa emerge es usado por Gentoo GNU Linux Este esta inspirado en el sistema de ports de BSD y usan scripts llamados ebuilds para instalar el software En la distribucion GoboLinux un fichero receta contiene informacion sobre como descargar desempaquetar compilar e instalar un paquete usando la herramienta Compile Sistemas hibridos Editar La Coleccion de Ports de FreeBSD a veces llamada ports a secas usa un sistema de Makefiles para instalar software desde codigo fuente o ficheros binarios Las colecciones de MacPorts para Mac OS X y de ports para pkgsrc en NetBSD y OpenBSD son similares Sistemas de metapaquetes Editar Los siguientes sistemas unifican la gestion de paquetes para muchas o todas las distribuciones de GNU Linux y otras variantes de Unix basandose tambien en el concepto de ficheros receta klik proporciona una forma sencilla de instalar paquetes de software para la mayor parte de distribuciones sin los problemas de dependencias tan comunes en otros formatos de paquetes Autopackage usa fichero package epm desarrollado por Easy Software Products creadores de CUPS es un meta empaquetador que permite crear paquetes nativos para todas las distribuciones de GNU Linux y otros sistemas operativos basados en Unix deb rpm tgz para GNU Linux pkg para Solaris y BSD dmg para Mac OS X a partir de un unico fichero list Sistemas propietarios Editar En la actualidad una gran variedad de sistemas de gestion de paquetes es usada por algunos sistemas operativos propietarios para tratar con la instalacion tanto de paquetes propietarios como libres installp es el comando de AIX para las bases de datos Object Data Manager ODM El formato SysV usado por Solaris Software Distributor es el gestor de paquetes de HP UX En el framework NET de Microsoft un ensamblado es una biblioteca de codigo parcialmente compilado destinado al uso en deployment versioning y seguridad Gestion de paquetes incrustada en aplicaciones Editar Algunos sistemas de gestion de paquetes no forman parte nativa del sistema operativo como pueden ser fink en Mac OS X o el entorno Unix like de Cygwin para Windows Algunos lenguajes de programacion interpretados tienen su propio sistema de gestion de paquetes para manejar modulos del lenguaje como pasa con los lenguajes de programacion Perl ver CPAN o PHP ver PEAR o Ruby RubyGems Otros programas pueden venir con su propio sistema para gestionar modulos Vease tambien EditarDependencias de software GNU Privacy Guard GPG Instalacion de software Paquete de software RepositorioReferencias Editar Datos Q891055 Multimedia Package management systemsObtenido de https es wikipedia org w index php title Sistema de gestion de paquetes amp oldid 137206896, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos