Sistema de gestión de paquetes para niños
Un sistema de gestión de paquetes es como una tienda de aplicaciones inteligente para tu computadora. Es un conjunto de herramientas que te ayuda a instalar, actualizar, configurar y quitar programas de forma automática. Se usa mucho en sistemas operativos como GNU/Linux.
Estos sistemas hacen que sea muy fácil manejar el software en tu computadora. El software se organiza en "paquetes", que son como archivos especiales que contienen el programa y toda la información necesaria para que funcione. Esta información incluye el nombre, una descripción, la versión, quién lo hizo, un código de seguridad (llamado suma de verificación) y una lista de otros programas que necesita para funcionar (llamadas dependencias). Toda esta información se guarda en una base de datos en tu computadora.
Contenido
¿Qué diferencia hay entre un gestor de paquetes y un instalador?
Un gestor de paquetes es diferente de un instalador normal que viene con un solo programa. Aquí te explicamos las diferencias principales:
Sistema de gestión de paquetes | Instalador |
---|---|
Es parte del sistema operativo. | Cada programa tiene su propio instalador. |
Usa una sola base de datos para todo el software. | Cada instalador lleva su propio registro. |
Puede revisar y manejar todos los programas en tu computadora. | Solo funciona con el programa para el que fue creado. |
Generalmente, hay un solo creador del gestor de paquetes. | Hay muchos creadores de instaladores. |
Usa un solo tipo de archivo para los programas. | Usa muchos tipos de archivos para instalar. |
¿Cómo funciona un gestor de paquetes?
Los sistemas de gestión de paquetes se encargan de organizar todos los programas instalados y asegurarse de que funcionen bien. Hacen esto de varias maneras:
- Verifican la seguridad: Comprueban un código especial (suma de verificación) para asegurarse de que el programa no ha sido modificado y que es la versión oficial. También revisan firmas digitales.
- Instalan, actualizan y eliminan fácilmente: Hacen que sea sencillo añadir, mejorar o quitar programas.
- Resuelven dependencias: Se aseguran de que todos los programas que un software necesita para funcionar estén instalados.
- Buscan actualizaciones: Encuentran las versiones más nuevas de los programas, que suelen corregir errores y mejorar la seguridad.
- Organizan los programas: Agrupan los programas por su función para que sea más fácil encontrarlos y manejarlos.
Muchos gestores de paquetes populares usan herramientas más simples "detrás de escena" para instalar los programas. Por ejemplo, YUM usa RPM, y APT usa dpkg.
¿Qué pasa con las bibliotecas compartidas?
En sistemas donde las aplicaciones comparten partes de código (como en muchas versiones de GNU/Linux), es muy importante que el gestor de paquetes sepa qué programas dependen de otros. Algunos gestores avanzados pueden desinstalar programas de forma inteligente, quitando también los programas que dependen de él o los que él mismo necesita.
¿Cómo se manejan los programas instalados manualmente?
A veces, un usuario instala un programa que no está en las "tiendas" oficiales (repositorios). Si este programa solo viene como "código fuente" (el texto original del programa), hay que "compilarlo" (convertirlo en un programa que la computadora entienda). Cuando se instala así, el gestor de paquetes no lo sabe automáticamente.
Existen herramientas que ayudan a que estos programas instalados manualmente se integren con el gestor de paquetes. Por ejemplo, en sistemas que usan archivos `.deb` o `.rpm`, existe `checkinstall`. En otros sistemas, se escriben "recetas" especiales para que el gestor de paquetes sepa que el programa está ahí.
¿Se pueden convertir los tipos de paquetes?
Existe un programa llamado `alien` que puede convertir entre diferentes tipos de paquetes de GNU/Linux, como `.rpm`, `.deb`, y otros.
¿Cómo se guardan las configuraciones?
Además de actualizar programas, también es importante actualizar los archivos de configuración. Los gestores de paquetes suelen sobrescribir o mantener los archivos de configuración. Sin embargo, hay excepciones, especialmente para la configuración del "núcleo" (el corazón del sistema operativo), ya que un error aquí podría impedir que la computadora arranque. Algunos gestores, como `dpkg` de Debian, permiten configurar el software durante la instalación.
¿Qué son los repositorios?
El software se guarda en lugares especiales llamados repositorios. Son como grandes almacenes de programas. Esto ayuda a los usuarios a controlar qué tipo de software instalan y también es útil para los distribuidores por razones legales o de organización.
¿Se puede evitar que un programa se actualice?
Cuando actualizas tu sistema, el gestor de paquetes te muestra una lista de lo que se va a actualizar. Puedes elegir actualizar todo o solo algunos programas. Algunos gestores te permiten "fijar" una versión de un programa para que no se actualice nunca, o solo cuando haya correcciones importantes. Por ejemplo, puedes decirle a `yum` o `pacman` que no actualice un programa específico.
Ejemplos de gestores de paquetes
Existen muchos gestores de paquetes diferentes, especialmente en el mundo del software libre.
Sistemas de software libre
Los programas de software libre se pueden usar en muchos sistemas operativos. Los gestores de paquetes ayudan a combinar y distribuir estos programas, manejando los cambios y las dependencias. Muchos de estos gestores son también software libre.
Basados en paquetes ya listos (binarios)
- dpkg: Usado por Debian y otros sistemas. Usa archivos `.deb` y fue uno de los primeros en tener una herramienta para resolver dependencias, llamada APT.
- fink: Para Mac OS X. Ayuda a instalar programas libres en Mac OS X.
- RPM: Creado por Red Hat y usado por muchas versiones de GNU/Linux. Es el formato estándar para paquetes en Linux. Hay muchas herramientas que trabajan con RPM, como `apt4rpm`, `YUM` (usado por Fedora), `urpmi`, y `YaST`.
- tgz: Usado por Slackware. Empaqueta el software usando `tar` y `gzip`. También hay herramientas como `slapt-get` y `slackpkg`.
- Pacman: Para Arch Linux. Usa archivos `pkg.tar.xz` ya compilados.
Basados en "recetas" para instalar
- Portage: Usado por Gentoo Linux. Se basa en el programa `emerge` y usa "scripts" llamados `ebuilds` para instalar el software.
- Compile: En GoboLinux, un archivo "receta" dice cómo descargar, desempaquetar, compilar e instalar un programa.
Sistemas que combinan ambos métodos
- Colección de Ports de FreeBSD: Usa archivos especiales llamados `Makefiles` para instalar software desde el código fuente o desde archivos ya compilados. Otros sistemas como MacPorts y pkgsrc son similares.
Sistemas de "metapaquetes"
Estos sistemas buscan unificar la gestión de paquetes para muchas versiones de GNU/Linux y otros sistemas, usando también el concepto de "recetas":
- klik: Permite instalar programas fácilmente en la mayoría de las versiones de Linux sin problemas de dependencias.
- Autopackage: Usa archivos `.package`.
- epm: Permite crear paquetes para diferentes sistemas operativos (como `.deb` para Linux, `.pkg` para Solaris, `.dmg` para Mac OS X) a partir de un solo archivo.
Sistemas propietarios
Algunos sistemas operativos de pago también usan gestores de paquetes para instalar programas.
- installp: Es el comando de AIX para manejar sus bases de datos.
- SysV: El formato usado por Solaris.
- Software Distributor: El gestor de paquetes de HP-UX.
- En el sistema .NET de Microsoft, un "ensamblado" es una biblioteca de código que ayuda a la instalación y seguridad de los programas.
Gestores de paquetes dentro de las aplicaciones
Algunos gestores de paquetes no son parte del sistema operativo principal, como `fink` en Mac OS X o el entorno Unix-like de Cygwin en Windows. Además, algunos lenguajes de programación tienen sus propios gestores para manejar módulos o extensiones de ese lenguaje, como CPAN para Perl o PEAR para PHP.
Ver también
- Dependencias de software
- Instalación de software
- Paquete de software
- Repositorio
Véase también
En inglés: Package manager Facts for Kids