b'\n_START_ARTICLE_\nSistema de gesti\xc3\xb3n de paquetes\n_START_PARAGRAPH_\nUn sistema de gesti\xc3\xb3n de paquetes, tambi\xc3\xa9n conocido como gestor de paquetes, es una colecci\xc3\xb3n de herramientas que sirven para automatizar el proceso de instalaci\xc3\xb3n, actualizaci\xc3\xb3n, configuraci\xc3\xb3n y eliminaci\xc3\xb3n de paquetes de software. El t\xc3\xa9rmino se usa com\xc3\xbanmente para referirse a los gestores de paquetes en sistemas Unix-like, especialmente GNU/Linux, ya que se apoyan considerablemente en estos sistemas de gesti\xc3\xb3n de paquetes._NEWLINE_En estos sistemas, el software se distribuye en forma de paquetes, frecuentemente encapsulado en un solo fichero. Estos paquetes incluyen otra informaci\xc3\xb3n importante, adem\xc3\xa1s del software mismo, como pueden ser el nombre completo, una descripci\xc3\xb3n de su funcionalidad, el n\xc3\xbamero de versi\xc3\xb3n, el distribuidor del software, la suma de verificaci\xc3\xb3n y una lista de otros paquetes requeridos para el correcto funcionamiento del software. Esta metainformaci\xc3\xb3n se introduce normalmente en una base de datos de paquetes local.\n_START_SECTION_\nDesaf\xc3\xados con bibliotecas compartidas\n_START_PARAGRAPH_\nEn los sistemas donde las aplicaciones comparten trozos de instrucciones, como en la mayor parte de las distribuciones de GNU/Linux, la resoluci\xc3\xb3n de dependencias al instalar y desinstalar software se convierte en una necesidad. Algunos de los sistemas de gesti\xc3\xb3n de paquetes m\xc3\xa1s 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.\n_START_SECTION_\nFrontends para paquetes compilados localmente\n_START_PARAGRAPH_\nEs com\xc3\xban que un administrador instale software que no est\xc3\xa1 disponible en los repositorios provistos. Algunos ejemplos pueden ser una nueva versi\xc3\xb3n de una aplicaci\xc3\xb3n que todav\xc3\xada no est\xc3\xa1 disponible en la distribuci\xc3\xb3n o una alternativa distinta de la elegida por la distribuci\xc3\xb3n. Si este software adicional s\xc3\xb3lo se distribuye en forma de c\xc3\xb3digo fuente, la instalaci\xc3\xb3n requerir\xc3\xa1 la compilaci\xc3\xb3n del c\xc3\xb3digo. Sin embargo, la instalaci\xc3\xb3n de este software adicional en el sistema ocasionar\xc3\xa1 que el estado del sistema y la base de datos del gestor de paquetes no est\xc3\xa9n sincronizados, por lo que el administrador deber\xc3\xa1 tomar medidas adicionales para asegurar que el sistema de gesti\xc3\xb3n de paquetes se mantenga al d\xc3\xada, puesto que \xc3\xa9ste no es capaz de hacerlo autom\xc3\xa1ticamente._NEWLINE_Hay herramientas que se encargan de asegurar que los paquetes compilados localmente est\xc3\xa1n integrados con el sistema de gesti\xc3\xb3n 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\xc3\xadbridos como Arch GNU/Linux, es com\xc3\xban escribir la receta en primer lugar, ya que \xc3\xa9sta se encargar\xc3\xa1 de asegurar que el paquete se incluye en la base de datos.\n_START_SECTION_\nConversi\xc3\xb3n de paquetes binarios\n_START_PARAGRAPH_\nalien es un programa que convierte entre los diferentes formatos de paquetes de GNU/Linux. Soporta la conversi\xc3\xb3n entre Linux Standard Base, RPM, deb, Stampede (.slp) y paquetes de Slackware (.tgz).\n_START_SECTION_\nMantenimiento de la configuraci\xc3\xb3n\n_START_PARAGRAPH_\nOtra problem\xc3\xa1tica aparte de la actualizaci\xc3\xb3n de software es la actualizaci\xc3\xb3n de ficheros de configuraci\xc3\xb3n. Ya que los sistemas de gesti\xc3\xb3n de paquetes surgieron como extensiones para las utilidades de archivado, normalmente s\xc3\xb3lo son capaces de sobrescribir o retener los ficheros de configuraci\xc3\xb3n, en lugar de poder aplicarles reglas de modificaci\xc3\xb3n. Sin embargo, hay excepciones, que normalmente se aplica al proceso de configuraci\xc3\xb3n del n\xc3\xbacleo, 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\xc3\xb3n cambia. Por ejemplo, cuando el antiguo fichero de configuraci\xc3\xb3n no deshabilita nuevas opciones que deber\xc3\xadan ser deshabilitadas. Algunos sistemas de gesti\xc3\xb3n de paquetes, como el dpkg de Debian, permiten configurar el software durante la instalaci\xc3\xb3n. En cualquier otra situaci\xc3\xb3n es preferible instalar los paquetes con la configuraci\xc3\xb3n por defecto y sobrescribirla posteriormente. Por ejemplo, en la instalaci\xc3\xb3n de un paquete en un gran n\xc3\xbamero de computadoras (dpkg tambi\xc3\xa9n soporta este tipo de instalaci\xc3\xb3n preconfigurada).\n_START_SECTION_\nRepositorios\n_START_PARAGRAPH_\nEl software normalmente se pone a disposici\xc3\xb3n 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.\n_START_SECTION_\nEvitar la actualizaci\xc3\xb3n de paquetes\n_START_PARAGRAPH_\nCuando un usuario interact\xc3\xbaa con el gestor de paquetes para realizar una actualizaci\xc3\xb3n, \xc3\xa9ste suele mostrar una lista de las tareas a realizar (normalmente la lista de paquetes a actualizar y, posiblemente, tambi\xc3\xa9n los n\xc3\xbameros de versi\xc3\xb3n) y tambi\xc3\xa9n es probable que permita realizar una actualizaci\xc3\xb3n 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\xc3\xb3n 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\xc3\xb3n de OpenOffice), mientras que las herramientas de Debian poseen una sintaxis m\xc3\xa1s compleja y potente.\n_START_SECTION_\nSistemas libres\n_START_PARAGRAPH_\nPor la naturaleza del software libre, los paquetes bajo licencias compatibles y similares est\xc3\xa1n disponibles para usarlo en varios sistemas operativos. Estos paquetes pueden ser f\xc3\xa1cilmente combinados y distribuidos usando "packaging systems" configurables para manejar los diferentes cambios del software y administrar las dependencias y los conflictos espec\xc3\xadficos de una versi\xc3\xb3n. Algunos "packaging systems" de software libre son ellos mismos liberados como software libre.\n_START_SECTION_\nGesti\xc3\xb3n de paquetes incrustada en aplicaciones\n_START_PARAGRAPH_\nAlgunos sistemas de gesti\xc3\xb3n 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\xc3\xb3n interpretados tienen su propio sistema de gesti\xc3\xb3n de paquetes para manejar m\xc3\xb3dulos del lenguaje, como pasa con los lenguajes de programaci\xc3\xb3n Perl (ver CPAN) o PHP (ver PEAR) o Ruby ( RubyGems ). Otros programas pueden venir con su propio sistema para gestionar m\xc3\xb3dulos.'