El sistema de gestión de paquetes

  En una entrada anterior se ha tratado el tema de un gestor de paquetes (como también es llamado el sistema de gestión de paquetes) en concreto, y en otras se han mencionado comandos para instalar uno u otro programa. Dichos comandos también pertenecen a un sistema de gestión de paquetes.
  En informática, un gestor de paquetes mantiene un registro del software que está instalado en su equipo informático, y le permite instalar software nuevo, actualizarlo a versiones más recientes, o eliminar software de una manera sencilla.
  Dentro de este contexto, se entiende por paquete a los conjuntos de archivos que se agrupan y que se pueden instalar y eliminar como conjunto.
  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, lo que 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.

  •   Existen varios gestores de paquetes muy populares entre los usuarios de las distribuciones Linux.

    HERRAMIENTA AVANZADA DE EMPAQUETADO

      Sin duda, uno de los sistemas de gestión de paquetes de Linux, más conocido. La Herramienta Avanzada de Empaquetado ["Advanced Packaging Tool" ("APT"), en inglés] fue creada por el proyecto Debian, y simplifica en gran medida la instalación y eliminación de programas en los sistemas GNU/Linux.
      No existe un programa apt en sí mismo, sino que APT es una biblioteca de funciones C++ que se emplea por varios programas de línea de comandos para distribuir paquetes. Por otra parte, existen también programas que proporcionan un frontispicio para APT, generalmente basados en apt-get (aptitude, Synaptic, Adept, entre otros).
      Existe un repositorio central con más de ~25.000 paquetes apt utilizados por apt-get y programas derivados para descargar e instalar aplicaciones directamente desde Internet, conocida como una de las mejores cualidades de Debian y sus distribuciones derivadas.
      Los comandos más populares de este gestor de paquetes son apt y apt-get, que tienen sus similitudes y sus diferencias. 

    Similitudes entre "apt" y "apt-get"
    •   Ambos comandos son interfaces para trabajar y dar ordenes al gestor de paquetes APT.
    •   Tienen los mismos objetivos, que son gestionar y obtener información de los paquetes de una distribución.
    •   Comparten gran parte de su código, por lo que la eficiencia y la seguridad que ofrecen ambas alternativas son equivalentes.
    •   Ambas interfaces fueron creadas y son mantenidas por los mismos desarrolladores en el mismo repositorio.
    •   La funcionalidad que ofrecen ambos comandos son prácticamente equivalentes.
    •   La gran mayoría de comandos de apt y apt-get son equivalentes en funciones y tienen una sintaxis muy similar (aunque el comportamiento en algunos comandos puede ser ligeramente diferente).

    Diferencias entre "apt y "apt-get"
    •   Apt fue lanzado en el año 2014, mientras que apt-get fue lanzado en 1998.
    •   En algunos casos, los resultados mostrados por apt son más amigables y fáciles de leer que los de apt-get.
    •   Los comandos para ejecutar las operaciones con nuestros paquetes son más simples en apt que en apt-get.
    •   Pueden existir pequeñas diferencias en la ejecución de comandos teóricamente equivalentes.
    •   Las versiones antiguas de apt contienen muchos menos comandos que apt-get. Sin embargo, las versiones actuales de ambos comandos prácticamente contienen las mismas funcionalidades.
    •   Apt es capaz de gestionar paquetes rpm (comando apt-rpm).
    •   Apt no tiene asegurada la compatibilidad entre versiones mientras que apt-get sí.
    •   El comportamiento y los resultados de salida de apt pueden variar versión tras versión. En cambio en apt-get los resultados de salida y comportamiento siempre serán los mismos.
    •   El comando apt-get tiene poderes de supervaca (se debe probar el comando apt-get moo), mientras que apt no tiene esos poderes exactamente (se debe comenzar por apt moo, pero se debe insistir con apt -v moo hasta que haya 5 uves en el parámetro para que muestre algo interesante, que explicará añadiendo otra uve más al parámetro).


      Realmente, utilizar una u otra opción depende de las preferencias personales del usuario.
      Los comandos más relevantes de apt-get (se debe anteponer sudo si no se es administrador) son :
    •   apt-get update: Actualiza la lista de paquetes.
    •   apt-get upgrade: Actualiza todos los paquetes instalados en el sistema que lo necesiten.
    •   apt-get install <nombre del paquete>: Instala un paquete determinado.
    •   apt-get remove <nombre del paquete>: Desinstala un paquete determinado.
    •   apt-get clean: Limpia la caché de los paquetes instalados.
    •   add-apt-repository ppa:<nombre del repositorio>: Agrega un repositorio de descarga de paquetes a la lista del sistema.
    •   apt-cache search <nombre del paquete>: Busca un paquete determinado.
      Los comandos más utilizados de apt (se debe anteponer sudo si no se es administrador) son:
    •   apt update: Actualiza los repositorios de paquetes.
    •   apt upgrade: Actualiza el sistema.
    •   apt install <nombre del paquete>: Instala un paquete determinado.
    •   apt dist-upgrade: Actualiza la versión del sistema.
    •   apt remove <nombre del paquete>: Elimina un paquete determinado.
    •   apt purge <nombre del paquete>: Elimina un paquete y sus dependencias.
    •   apt autoremoveElimina los paquetes que se instalaron automáticamente para satisfacer las dependencias de otros paquetes y que ya no se necesitan.
    •   apt show <nombre del paquete>: Muestra información detallada de un paquete determinado (dependencias, instalación, tamaño de la descarga, fuentes de las que está disponible el paquete, descripción de su contenido, etc.).

    YUM

      Yellowdog Updater Modified (YUM) es una herramienta libre de gestión de paquetes para sistemas Linux basados en RPM.
      YUM es una utilidad totalmente reescrita a partir de su herramienta predecesora, Yellowdog Updater (YUP), y fue desarrollada principalmente para actualizar y controlar los sistemas Red Hat utilizados en el departamento de física de la Universidad de Duke. Desde entonces, ha sido adoptada por Fedora, CentOS, y otras distribuciones de GNU/Linux basadas en RPM, incluyendo el mismo Yellow Dog, donde reemplazó a la utilidad original YUP.
      Con los paquetes yum-updatesd o yum-updateonboot se puede hacer una actualización de software automática.
      El sistema de repositorios YUM está convirtiéndose rápidamente en un estándar para los repositorios basados en RPM. En SUSE Linux 10.1 se añade soporte para repositorios YUM en YaST, y los repositorios de openSUSE están basados exclusivamente en YUM.
      Los comandos más usados de YUM (se debe anteponer sudo si no se es administrador) son:
    •   yum update: Actualiza los repositorios de paquetes.
    •   yum upgrade: Actualiza los paquetes instalados en el sistema.
    •   yum check-update: Muestra una lista de los paquetes que necesitan actualización.
    •   yum install <nombre del paquete>: Instala un paquete determinado.
    •   yum search <nombre del paquete>: Busca un paquete determinado.
    •   yum erase <nombre del paquete>: Elimina un paquete determinado.
    •   yum list available: Muestra todos los paquetes disponibles para ser instalados.


    PACMAN

      Pacman es el gestor de paquetes de la distribución GNU/Linux Arch Linux. Pacman es capaz de resolver las dependencias, y descargar e instalar automáticamente todos los paquetes necesarios. En teoría, el usuario sólo necesita ejecutar una única orden para actualizar por completo el sistema. Además de ser utilizado en Arch Linux, este gestor de paquetes también es usado en Manjaro, Parabola, Frugalware​ y Chakra.
      Este sistema de gestión de paquetes combina un simple paquete binario con un formato fácil de usar de un sistema de construcción (makepkg y ABS). Pacman permite administrar fácilmente los paquetes, ya sea desde los repositorios oficiales de Arch Linux, o desde repositorios propios de usuarios.
      Este gestor de paquetes mantiene el sistema actualizado al día mediante la sincronización de la lista de paquetes con el servidor primario. Este modelo cliente/servidor también le permite descargar e instalar paquetes completos con todas las dependencias requeridas con un simple comando.
      Pacman utiliza archivos empaquetados en "tar" y comprimidos en "gzip" o "xz" para todos los paquetes, cada uno de los cuales contiene binarios compilados. Los paquetes son descargados a través de FTP, también se puede utilizar HTTP y archivos locales, dependiendo de cómo esté configurado cada repositorio. Cumple con Linux Arch Build System (ABS) utilizado para crear los paquetes desde el código fuente.
      Para configurar Pacman solamente hay que editar el archivo "pacman.conf" en el dirtectorio "etc", donde se pueden añadir repositorios y definir diversas opciones, pudiendo incluso crear repositorios propios.
      Una vez configurado, se suelen emplear los siguientes comandos (se debe anteponer sudo si no se es administrador):
    •   pacman -S <nombre del paquete>: Instala un paquete determinado.
    •   pacman -Syu: Sincroniza repositorios y actualiza paquetes.
    •   pacman -R <nombre del paquete>: Elimina un paquete determinado, pero no sus dependencias.
    •   pacman -Rs <nombre del paquete>: Borra un paquete y sus dependencias no utilizadas por otros. 
    •   pacman -Ss <nombre del paquete>: Busca un paquete concreto.
    •   pacman -Q: Muestra la lista de los paquetes instalados.

    RPM

      El Administrador de Paquetes RPM ["RPM Package Manager" ("RPM"), en inglés] es un gestro de paquetes capaz de instalar, actualizar, desinstalar, verificar y solicitar programas. "RPM" es el formato de paquete de partida del Linux Standard Base; se suele utilizar en distribuciones como Fedora, Red Hat u otros parecidos.
      Para el administrador de sistemas que realice mantenimiento y actualización de software, el uso de este gestor de paquetes en vez de construirlos manualmente tiene ventajas como simplicidad, consistencia y la capacidad de que aquellos procesos se automaticen.
      Entre las características de RPM están:

  • Los paquetes pueden ser cifrados y verificados con GPG y MD5.
  • Los archivos de código fuente (por ejemplo .tar.gz, .tar.bz2) están incluidos en SRPMs, posibilitando una verificación posterior.
  • PatchRPMs y DeltaRPMs, que son equivalentes a ficheros parche, pueden actualizar incrementalmente los paquetes RPM instalados.
  • Las dependencias pueden ser resueltas automáticamente por el gestor de paquetes.

  •  Los comandos más relevantes de este sistema de gestión de paquetes son (se utilizan como administrador):
    •   rpm -ivh <nombre del paquete>: Instala un paquete determinado.
    •   rpm -e <nombre del paquete>: Desinstala un paquete concreto.
    •   rpm -qa: Lista los paquetes instalados en el sistema.
    •   rpm -qi <nombre del paquete>: Muestra información de un paquete concreto.
    •   rpm --checksig <nombre del paquete>: Verifica la firma de un paquete determinado.

    DPKG

      Este gestor de paquetes es la base del sistema de gestión de paquetes de Debian GNU/Linux, lo que significa que se utiliza para instalar, quitar, y proporcionar información sobre los paquetes ".deb".
      Este sistema de gestión de paquetes se emplea en las distribuciones de Linux de tipo debian (Debian, Ubuntu y sus derivados, etc.).
      Los comandos que más se suelen emplear con este gestor de paquetes (se debe anteponer sudo si no se es administrador) son:
    •   dpkg -i <nombre del paquete>: Instala un paquete  deb determinado.
    •   dpkg -r <nombre del paquete>: Desinstala un paquete deb determinado.
    •   dpkg --purge <nombre del paquete>: Elimina un paquete deb concreto y sus archivos de configuración.
    •   dpkg -l: Muestra los paquetes deb instalados en el sistema.
    •   dpkg --configure --pending: Reconfigura cualquier paquete deb que aún no esté configurado.
    •   dpkg --configure -a: Intenta reparar el sistema.

      Aguardo que esta entrada sea del gusto del lector; si es así, espero que el lector la comente y/o la comparta, por favor.

    No hay comentarios:

    Publicar un comentario

    Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.