Comparación de los principales sistemas de gestión de paquetes de Linux

Comparación de los principales sistemas de gestión de paquetes de Linux

Una de las principales diferencias entre varias distribuciones de Linux es la administración de paquetes. Muchas veces, esta es la razón por la que alguien se aleja de una distribución a otra, porque no le gusta la forma en que se instala el software o porque se necesita software que no esté disponible en los repositorios de la distribución. Si eres un principiante en el mundo de Linux y te preguntas sobre las diferencias entre las distribuciones, este será un buen comienzo. Si solo ha usado una o dos distribuciones durante algún tiempo y desea ver qué está al otro lado de la cerca, este artículo también podría ser para usted. Finalmente, si necesita una buena comparación y/o un recordatorio sobre los principales sistemas de PM, también encontrará algo interesante. Aprenderá las cosas más importantes que un usuario espera de un sistema PM, como Instalar/Desinstalar, Búsqueda y otras opciones avanzadas. No esperamos algún conocimiento especial de su parte, solo algunos conceptos generales de Linux.

El enfoque

Elegimos como términos para la comparación algunos sistemas populares de distribuciones populares, y esos serán DPKG/APT*, RPM/YUM, Pacman y Portage. El primero se usa en los sistemas basados ​​en Debian, RPM se usa en Fedora, OpenSuse o Mandriva, pero Yum es solo Fedora/Red Hat, por lo que nos centraremos en eso.Gentoo es una distribución basada en la fuente, podrá ver cómo se hacen las cosas tanto en distribuciones binarias como de fuente, para una comparación más completa. Tenga en cuenta que hablaremos sobre las interfaces de nivel superior para la gestión de paquetes, e.gramo. yum en lugar de rpm o apt* en lugar de dpkg, pero no cubriremos herramientas gráficas como Synaptic, porque creemos que las herramientas CLI son más potentes y utilizables en cualquier entorno, ya sea gráfico o solo de consola.



Sistemas de gestión de paquetes

La familia apt

En realidad, APT debería estar en mayúscula, ya que es un acrónimo que significa herramienta de embalaje avanzada, pero dado que las utilidades reales son solo en minúsculas, nos referiremos a ellos así. La familia APT es una interfaz de DPKG en la familia de los sistemas operativos de Linux de Debian, y también se usa en algunas ramas de OpenSolaris. Algunas de estas aplicaciones son apt-get, apt-cache, apt-cdrom o apt-file. Esta no es una lista completa, pero los servicios públicos con mayor frecuencia se usan. También hay aptitud, que, cuando se invoca sin argumentos, presenta un buen menú, ya sea basado en maldiciones o basado en GTK, pero puede usarse con comandos/argumentos como los comandos APT-* para administrar el software en su computadora. Puede valer la pena señalar que varios derivados de Debian podrían haber cambiado algunas cosas en estas aplicaciones, pero esta parte tratará las herramientas que se encuentran en un sistema de Debian estándar.

apt vs aptitud

Como es la vaina de la vaian de la que estamos hablando, recomendaría aptitud en lugar de apt-*. Pero habría otros que recomendarían lo contrario. Le sugerimos que los pruebe ambos y vea lo que más le gusta. No hay muchas diferencias entre los dos si eres un principiante con Debian o derivados, pero con el tiempo notarás que preferirás uno de ellos.Sin embargo, le mostraremos cómo usar ambos, por lo que le resultará más fácil elegir.

Instalación de software

Instalar software es simple, todo lo que tiene que hacer es

 # APT-Get Instalar $ Software

o, ¿eliges aptitud?,

 # Aptitud instalar $ software 


Si recibe algunos mensajes que le dicen que no se encuentra el software que desea, asegúrese de actualizar su índice de paquetes con el comando Update:

 # Actualización de apt-get

o

 # Actualización de aptitud 

No queremos desperdiciar espacio aquí, así que a menos que se especifique, los comandos son los mismos para apt-get y aptitude. Hablando de aptitud, así es como se ve cuando se invoca sin argumentos:

Te invitamos a jugar un poco con aptitud, maldición-versión o no, para ver todos los comandos disponibles y qué opciones tiene.

Actualización de software

A diferencia de otros sistemas PM, la familia APT requiere dos pasos para actualizar el software instalado en su sistema, de los cuales el primero que hemos mostrado ya. Esto se considera una ventaja por los proponentes y una pérdida de tiempo por parte de los detractores, quienes piensan que un solo comando habría sido más fácil (como el comando de actualización de Yum). Nosotros, como de costumbre, no tomamos partido y le recomendamos que cree su propia opinión. Entonces, sin más preámbulos, así es como uno actualiza un sistema Debian:

 # Apt-Get Update && apt-get actualización

Ahora, aquí viene la parte difícil: también hay un comando a distancia, y la aptitud también es compatible con la plena actualización, que son diferentes del comando de actualización en el sentido de que son más inteligentes y más, digamos invasivos, ya que lo harán, Por ejemplo, elimine los paquetes antiguos cuando hay importantes actualizaciones disponibles. Que también depende de qué tipo de Debian estás ejecutando. En un sistema estable, puede vivir con el comando de actualización pacíficamente, pero en un sistema de pruebas mixtas/inestables recomendamos Dist-Upgrade.



Buscando software

No sabe el nombre exacto del paquete que desea instalar? Puede instalar Bash-Completion y hacer "Aptitud instalar $ First_Letters + Tab" o puede usar las funciones de búsqueda ofrecidas por las herramientas APT. Tu puedes hacer

 $ APT-CACHE Search $ Search_term

o, con aptitud,

 $ aptitude búsqueda $ search_term 

Nuevamente, asegúrese de ejecutar una actualización de antemano para que el administrador del paquete sepa qué está disponible.

Eliminación de software

La aptitud, así como apt-get, admite los comandos de eliminación y purga para deshacerse del software instalado. Mientras que eliminar admite la función básica de la desinstalación, Purge lleva esto un paso más allá y también elimina los archivos de configuración específicos de los paquetes que se están eliminando. Depende de usted, el usuario, decidir sobre un caso a caso de que usar eliminar y cuándo usar purga, dependiendo de la tarea en cuestión.

beque

Algunos de ustedes pueden recordar los viejos tiempos oscuros de la dependencia de las rpm infierno. Bueno, ahora, gracias a Yum, esos días son cosa del pasado y la instalación de software se volvió más simple. Al igual que los otros administradores de paquetes, YUM admite funciones básicas como instalar o eliminar software, además de un montón de otras opciones útiles.

Instalación de software

Los comandos básicos para la gestión de software son más o menos los mismos de los que hablamos anteriormente, en la parte de Debian. Entonces, si, por ejemplo, desea instalar JED, el editor de texto, simplemente hacerlo

 # yum instalación Jed Plugins cargados: auto-update-debuginfo, langpacks, presto, actualización-paquete de compra de compra de instalación dependencias de resolución de procesos-> ejecutando comprobación de transacciones ---> paquete jed.i686 0: 0.99.19-3.Se instalará FC15-> Dependencia de procesamiento: Slang-Slsh para el paquete: JED-0.99.19-3.FC15.i686-> Ejecución de verificación de transacciones ---> Slang-slsh de paquete.i686 0: 2.2.4-1.FC16 se instalará -> Dependencia de procesamiento: Libonig.entonces.2 para paquete: jerga-slsh-2.2.4-1.FC16.i686-> Ejecución de verificación de transacciones ---> paquete Oniguruma.i686 0: 5.9.2-2.Se instalará FC15 -> Dependencias de resolución de dependencia terminadas resueltas ======================================== =========================================== Package Arch Version Size ==== ==================================================== =========================== Instalación: JED I686 0.99.19-3.FC15 Fedora 795 K Instalación para dependencias: Oniguruma i686 5.9.2-2.FC15 Fedora 125 K Slang-Slsh i686 2.2.4-1.FC16 Fedora 165 K Resumen de la transacción ============================================== ==================================== Instalar 3 paquetes Tamaño total de descarga: 1.1 m Tamaño instalado: 1.1 m es este bien [y/n]: y paquetes de descarga: (1/3): jed-0.99.19-3.FC15.i686.RPM | 795 KB 00:02 (2/3): Oniguruma-5.9.2-2.FC15.i686.RPM | 125 KB 00:00 (3/3): Slang-Slsh-2.2.4-1.FC16.i686.RPM | 165 KB 00:00 --------------------------------------------- ----------------------------------- Total 268 KB/S | 1.1 MB 00:04 Ejecución de transacción Verifique la prueba de transacción de la transacción La prueba de transacción logró ejecutar la instalación de transacciones: Oniguruma-5.9.2-2.FC15.I686 1/3 Instalación: Slang-Slsh-2.2.4-1.FC16.I686 2/3 Instalación: JED-0.99.19-3.FC15.i686 3/3 instalado: JED.i686 0: 0.99.19-3.FC15 Dependencia instalada: Oniguruma.i686 0: 5.9.2-2.argot fc15-slsh.i686 0: 2.2.4-1.FC16 Completo!

Así es como se ve la salida completa en mi máquina Fedora 16. YUM también admite el comando localInstall, que es muy útil si tiene un paquete RPM descargado localmente y desea instalarlo. Recomendamos el uso de LocalInstall versus "paquete RPM -I $" porque el paquete se agrega a la base de datos YUM para que tenga un entorno menos caótico.



Actualización de software

Como se dijo antes, los comandos son bastante similares a cierta medida, pero con Yum no tienes dos comandos separados como lo tienes con apt*. Entonces, una simple "actualización de Yum" actualizará los datos del repositorio y proceda a la actualización propiamente dicha si se encuentran versiones más nuevas del software. Puede ver si hay algo nuevo utilizando el comando de cheque-update, que está cerca de "actualización de aptitud", ya que actualiza los datos de repositorio pero no hace nada más.

Buscando software

Hasta hace poco, no me gustó el comando de búsqueda de Yum porque arrojó demasiados resultados, algunos bastante no relacionados con lo que quería. Parece que hubo otros con los mismos problemas, por lo que los desarrolladores cambiaron la función de búsqueda para imprimir solo resultados relevantes y agregaron el comando "Buscar todo" para emular el comportamiento anterior.

Eliminación de software

Si quiero eliminar el software, por supuesto, el comando es "yum eliminar". Esto eliminará el paquete y sus dependencias. Si desea no seguir esa ruta, es que desea mantener las dependencias (recomendamos mucho cuidado aquí), debe escribir

 # yum --nodeps elimina jed 

El yum wiki dice esto sobre los nodéps, así que nuevamente, ten cuidado: “-nodeps solo se usa cuando un paquete o sistema está mal roto. Como regla general, si encuentra que no puede poner el tornillo en el orificio con un destornillador, no debe ir a buscar un martillo."Por supuesto, se supone que debes leer el manual Yum, que explica todas las opciones que puedes usar. Al igual que con los editores de texto, el Administrador de paquetes es una herramienta a menudo utilizada, por lo que es imperativo que lo sepa para que pueda ser más eficiente.

Pacman

El propio Administrador de paquetes de Arch Linux es un recién llegado relativo, ya que la distribución también es más nueva, pero eso no significa que carece de características que uno puede encontrar en Yum o Zypper, para tomar dos ejemplos aleatorios.Una diferencia entre Pacman y el Administrador de paquetes mencionado anteriormente es que no ofrece comandos como actualizar o eliminar. En su lugar, se usa argumentos de una sola letra para obtener varias funciones ofrecidas por Pacman (pero también puede usar opciones largas de doble plato, sin embargo, las cortas son más populares). Otra diferencia sería, y no hay subjetividad involucrada, que Pacman está más rápido. En realidad, esta es una de las razones por las que uso Arch para mis computadoras más antiguas y débiles.

Instalación de software

Para instalar JED en un sistema de arco, uno puede escribir

 # Pacman -S JED

El -s significa sincronización y también se usa para otras funciones, como buscar software o actualizar. Al principio, esto puede parecer un poco ilógico, pero las explicaciones en la página manual arrojarán luz sobre esto.



Actualización de software

Pacman ofrece la opción de actualizar los datos del repositorio y/o actualizar el software existente. Ambas opciones se utilizan junto con -S, y son accesibles con -y (repositorio de actualización) y -U (software de actualización). Por lo tanto, para actualizar los paquetes instalados, uno lo haría

 # Pacman -Syu

Puede verificar las actualizaciones omitiendo -U, y si todos los repositorios se informan como actualizados, puede estar seguro de que no hay actualizaciones.

Buscando software

Necesitará -s nuevamente para buscar software, agregando una S minúscula:

 # Pacman -SS JED

Eliminación de software

Finalmente, la bandera -s está fuera de la escena, y está siendo reemplazado por -r más el nombre del paquete que desea eliminar (e.gramo. Jed, ya que este es nuestro ejemplo para hoy y queremos ser consistentes). También hay una bandera de -nodeps, acortada por -d, si la necesita. Pacman ofrece otras opciones útiles, tanto generales como específicas de la operación, así que recuerde que hay un comando "Man Pacman".

Porteo

Algunos pueden decir que Portage no es un importante sistema de gestión de paquetes, pero personalmente suelo diferir. Aunque Gentoo no es tan popular como solía ser, tiene su lugar bien establecido en el mundo de Linux y no tiene la intención de ir a ninguna parte, con usuarios que lo juran y no usarían nada más. Si bien, al igual que Pacman, no es tan fácil de usar como yum, ofrece muchas capacidades avanzadas y solo pide una pequeña porción de su tiempo para aprender.



Instalación de software

En primer lugar, si eres nuevo en Gentoo y Portage, le recomendamos que use las opciones largas, en lugar de las cortas (como -help vs. -h), ya que son más descriptivos. Después de acostumbrarse, puede guardar algo de escritura utilizando opciones cortas. En segundo lugar, aunque solo hablamos sobre Portage, ese nombre se usa realmente para el conjunto de herramientas relacionadas con el paquete. Utilizará Emerge como la herramienta de gestión de paquetes principales, pero hay otras herramientas a las que utilizará, todas mencionadas en la página manual. Asegúrese de utilizar -Sync antes de instalar el primer paquete, ya que este es el comando de actualización equivalente a Aptitude. Entonces simplemente emerja el paquete que desee:

 # emerge jed

Si, es tan simple. Recuerde que Emerge es una herramienta realmente compleja y poderosa, y no le mostraremos todas las opciones posibles, solo lo básico, pero lo que sea que tenga, probablemente esté allí.

Actualización de software

Al igual que Apt* o Pacman, Emerge realiza la actualización en dos pasos: primero actualizar los datos del paquete desde un host remoto con -sync y luego actualizar el software instalado con

 # EMERGE -UPDATE -Mundo profundo 

El comando de actualización como el anterior es la versión simple, pero también hay otras opciones que puede/debe usar al actualizar, especialmente porque Gentoo está basado en la fuente. Por ejemplo, si cambió algunos indicadores de uso después de la última actualización, se recomienda que use -Newuse para que Emerge tenga conocimiento de dichos cambios y posiblemente vuelva a compilar algunos de los paquetes (o todos) en consecuencia. También puede usar --ask si desea un mensaje de confirmación antes de que la actualización comience o -verbosa para una salida más detallada. Entonces, todos los comandos y opciones descritos anteriormente se traducirán (notará que esta es la forma corta):

 # EMERGE -UDNAV Mundo 

Portage no es solo una herramienta compleja, también está bien documentada. Obtendrá los conceptos básicos de nosotros, pero el resto obtendrá de la guía de Portage.

Buscando software

Emerge ofrece -Search y -SearhDesc para la tarea, y explicaremos cuáles son las diferencias. Aquí hay un ejemplo: -Search'ing for JED nos da la categoría JED está en (editores de aplicaciones, y las categorías en Portage son similares a las que se encuentran en los puertos BSD/PKGSRC), información de licencia, versiones, etc. Usar -SearchDesc ofrece muchos resultados, porque, como su nombre lo indica, emerge buscará el texto que necesita en las descripciones, pero también lleva más tiempo dar los resultados que necesita. Una comparación aproximada sería la diferencia entre la búsqueda de Yum frente a la búsqueda.

Eliminación de software

Dado que la instalación del software se llama emergente en Gentoo-speak, es natural decir que un software unmergés al desinstalar. El comportamiento predeterminado es dejar solo las dependencias, una especie de lo que hace Nodeps en YUM/RPM. Aquí es donde -Depclean sale a jugar: elimina todas las dependencias del paquete para desinstalar, pero para comprender esta funcionalidad, nuevamente recomendamos un viaje a la guía, porque puede deshacer el software importante si no sabe qué sabe qué sabe qué sabe qué sabe qué sabe qué sabe qué sabe qué no sabe qué sabe. estás haciendo.

Conclusión

Cabe señalar que solo las funciones básicas de los sistemas PM mencionados se trataron aquí. Dejamos el resto como un ejercicio para el usuario, ya que todas estas herramientas son capaces de mucho más, como enumerar paquetes instalados o encontrar a qué paquete pertenece un determinado archivo. Recomendamos configurar una máquina de prueba, tal vez en un entorno virtual, y jugar con su PM de elección, porque es la forma segura y probada de aprender.

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cosas que hacer después de instalar Ubuntu 22.04 Jellyfish de Jammy ..
  • Descarga de Linux
  • Ubuntu 20.04 Guía
  • Cosas para instalar en Ubuntu 22.04
  • La mejor distribución de Linux para desarrolladores
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?
  • Comandos de Linux: los 20 comandos más importantes que necesitas ..