GNU/Linux >> Tutoriales Linux >  >> Linux

Administradores de paquetes de Linux:dnf vs apt

Hay muchas maneras de obtener aplicaciones en un sistema Linux. Algunos, como Flatpak y contenedores, son nuevos. Otros, como DEB y RPM, son formatos clásicos que han resistido la prueba del tiempo.

No existe un instalador universal para ningún sistema operativo. Hoy en día, todos los principales sistemas operativos utilizan una combinación de tiendas de aplicaciones (tanto propias como de terceros), instalación de arrastrar y soltar y asistentes de instalación porque hay innumerables desarrolladores que ofrecen software. Diferentes desarrolladores tienen diferentes requisitos para el código que entregan, y esto informa el método de instalación que cada uno elige.

Más recursos de Linux

  • Hoja de trucos de los comandos de Linux
  • Hoja de trucos de comandos avanzados de Linux
  • Curso en línea gratuito:Descripción general técnica de RHEL
  • Hoja de trucos de red de Linux
  • Hoja de trucos de SELinux
  • Hoja de trucos de los comandos comunes de Linux
  • ¿Qué son los contenedores de Linux?
  • Nuestros últimos artículos sobre Linux

Linux fue pionero en el concepto de un administrador de paquetes , un comando para instalar, administrar y desinstalar aplicaciones. Dos comandos comunes del administrador de paquetes son apt y dnf . El apt comando administra paquetes DEB, mientras que dnf gestiona paquetes RPM. Los dos no son estrictamente excluyentes entre sí en teoría, aunque en la práctica, una distribución de Linux generalmente usa uno u otro. En teoría, es posible ejecutar ambos en un sistema, pero las instalaciones de los paquetes se superpondrían, el control de versiones sería difícil y los comandos serían redundantes entre sí. Sin embargo, si trabaja en un entorno mixto de Linux, interactuando con estaciones de trabajo que ejecutan una distribución y servidores que ejecutan otra, es posible que necesite conocer ambos.

Buscando aplicaciones

Antes de que pueda instalar una aplicación con un administrador de paquetes, necesita saber el nombre del paquete. Por lo general, el nombre de la aplicación y el nombre del paquete son los mismos. El proceso para verificar el nombre del paquete que desea instalar es exactamente el mismo en dnf y apt :

$ sudo dnf search zsh
====== Name Exactly Matched: zsh ======
zsh.x86_64 : Powerful interactive shell
[...]

Con apt :

$ sudo apt search zsh
Sorting... Done
Full Text Search... Done
csh/stable 20110502-4+deb10u1 amd64
  Shell with C-like syntax

ddgr/stable 1.6-1 all
  DuckDuckGo from the terminal

direnv/stable 2.18.2-2 amd64
  Utility to set directory specific environment variables

draai/stable 20180521-1 all
  Command-line music player for MPD
[...]

Para obtener resultados relevantes de apt anteriormente en la búsqueda, puede usar regex:

apt search ^zsh
Sorting... Done
Full Text Search... Done
zsh/stable 5.7.1-1 amd64
  shell with lots of features
[...]

Buscar el paquete de una aplicación

Algunos comandos vienen incluidos con otros comandos, todo en un solo paquete. Cuando eso suceda, puede usar su administrador de paquetes para saber qué paquete proporciona lo que necesita. El dnf y apt los comandos difieren en cómo buscan este tipo de metadatos.

En dnf :

$ sudo dnf provides pgrep
procps-ng-3.3.15-6.el8.x86_64 : System and process monitoring utilities
Repo        : baseos
Matched from:
Filename    : /usr/bin/pgrep

El apt El comando usa un subcomando, apt-file . Para usar apt-file , primero debe instalarlo y luego pedirle que actualice su caché:

$ sudo apt install apt-file
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following additional packages will be installed:
  libapt-pkg-perl libexporter-tiny-perl liblist-moreutils-perl libregexp-assemble-perl
The following NEW packages will be installed:
  apt-file libapt-pkg-perl libexporter-tiny-perl liblist-moreutils-perl libregexp-assemble-perl
0 upgraded, 5 newly installed, 0 to remove and 14 not upgraded.
Need to get 297 kB of archives.
After this operation, 825 kB of additional disk space will be used.
Do you want to continue? [Y/n] y

$ sudo apt-file update
[...]

Puedes usar apt-file para buscar un comando. Puede lanzar una red muy amplia simplemente buscando el comando, pero si conoce la ruta esperada del comando, es más precisa:

$ sudo apt-file search /usr/bin/pgrep
pgreplay: /usr/bin/pgreplay              
procps: /usr/bin/pgrep

Instalando aplicaciones

Instalar aplicaciones es esencialmente idéntico a apt y dnf :

$ sudo apt install zsh

Con dnf , puede instalar un solo paquete usando la misma opción:

$ sudo dnf install zsh

Muchas distribuciones basadas en RPM cuentan con grupos de instalación , que recopilan aplicaciones a veces superficialmente relacionadas en un destino fácil de instalar. Por ejemplo, el grupo Design Suite en Fedora contiene aplicaciones creativas populares. Es probable que muchos artistas que desean una aplicación creativa deseen aplicaciones similares, e instalar todo el grupo es una manera fácil y rápida de comenzar a construir un estudio digital de manera sensata. Puede ver los grupos disponibles con group list (use -v para ver los nombres de los grupos sin espacios):

$ sudo dnf group list -v
[...]
Available Groups:
   Container Management (container-management)
   RPM Development Tools (rpm-development-tools)
   Design Suite (design-suite)
   Development Tools (development)
[...]

Instale un grupo RPM usando la group install subcomandos:

$ sudo dnf group install design-suite

Puedes usar el @ notación para reducir la escritura:

$ sudo dnf install @design-suite

Actualización de aplicaciones

Una ventaja de usar un administrador de paquetes es que es consciente de todos las aplicaciones que ha instalado. Eso significa que no tiene que buscar versiones actualizadas de las aplicaciones. En su lugar, puede decirle a su administrador de paquetes que busque actualizaciones.

Los subcomandos usados ​​por dnf y apt son ligeramente diferentes. Porque apt mantiene un caché de información que requiere una actualización regular, utiliza el upgrade subcomando para actualizaciones de aplicaciones:

$ sudo apt upgrade

Por el contrario, dnf actualiza los metadatos cada vez que usa el comando, por lo que update y upgrade los subcomandos son intercambiables:

$ sudo dnf upgrade

Esto es lo mismo que:

$ sudo dnf update

Eliminar aplicaciones

Si alguna vez ha intentado eliminar una aplicación manualmente en cualquier plataforma, entonces sabe que inevitablemente quedan archivos, como archivos de preferencias, activos o iconos, dispersos por todo el disco duro después de eliminar la aplicación. Otra ventaja más de usar un administrador de paquetes es que su administrador de paquetes conoce todos los archivos instalado con un paquete:

$ sudo dnf remove zsh

El remove el subcomando también se usa para apt :

$ sudo apt remove zsh

Eliminando un paquete con apt no elimina los archivos de configuración de usuario modificados, en caso de que elimine el paquete por accidente. Si quieres apt para eliminar una aplicación y sus archivos de configuración, use purge en una aplicación que hayas eliminado anteriormente:

$ sudo apt purge zsh

Ambos apt y dnf (incluso con purge ) no eliminen datos o archivos de configuración en su directorio de inicio. Para eliminar datos de su directorio de inicio, debe hacerlo manualmente (generalmente se encuentra en ~/.config y ~/.local ).

Gestión de paquetes de aprendizaje

Si su distribución de Linux preferida favorece a apt o dnf , los propósitos de los comandos son básicamente idénticos. Le ayudan a instalar, actualizar y eliminar paquetes. Estos dos, al ser los administradores de paquetes más comunes, reflejan en gran medida los elementos sintácticos más importantes del otro, por lo que cambiar entre ellos es bastante fácil.

Cada uno tiene algunas funciones avanzadas, como la administración de repositorios, que difieren sustancialmente, pero tienden a no ejecutarse con tanta frecuencia como la secuencia clásica de search. y install .

Independientemente del administrador de paquetes que use con más frecuencia, puede descargar nuestra hoja de trucos de apt y la hoja de trucos de dnf para tener la sintaxis más importante a mano cuando más la necesite.


Linux
  1. Gestión de paquetes de Linux con apt

  2. 5 razones para usar los administradores de paquetes de Linux

  3. La evolución de los gestores de paquetes

  4. Administradores de paquetes de Linux comparados:AppImage, Snap y Flatpak

  5. Cómo crear un paquete RPM de Linux

Cómo usar pkgsrc en Linux

Cómo usar apt Package Manager en Ubuntu Linux

Cómo instalar un paquete RPM en RHEL 8 / CentOS 8 Linux

Comando apt en Linux

Comando RPM en Linux

15 ejemplos de comandos apt en Ubuntu / Debian Linux