26 ejemplos de comandos DNF en Fedora / CentOS / RHEL

DNF o Yum es una bifurcación del administrador de paquetes YUM. Se introdujo en Fedora 18 y en Fedora 22. Ahora se ha convertido en el administrador de paquetes predeterminado para manejar los paquetes RPM en CentOS 8, RHEL 8 y Fedora.

DNF resuelve todos los problemas asociados con yum, como bajo rendimiento, alto uso de memoria, lentitud para la resolución de dependencias. DNF puede denominarse como la próxima versión principal del administrador de paquetes YUM. Actualmente, la versión más estable de DNF es la versión 2.6.3

En este tutorial, analizaremos los comandos DNF utilizados para la gestión de paquetes. Este artículo servirá como una hoja de trucos para DNF. Así que empecemos…..

Comando DNF

La sintaxis para usar el comando DNF es bastante similar a usar YUM, por lo que encontrará muchas similitudes entre los dos comandos.

Ejemplo: 1) Lista de repositorios habilitados

Para enumerar todos los repositorios habilitados en el sistema, ejecute

[[email protected] ~]$ sudo dnf repolist
[sudo] password for linuxtechi:
repo id           repo name                                        status
*epel             Extra Packages for Enterprise Linux 7 - x86_64   11,989
*fedora           Fedora 26 - x86_64                               53,912
*updates           Fedora 26 - x86_64 - Updates                    9,405
virtualbox         Fedora 26 - x86_64 - VirtualBox                 10
[[email protected] ~]$

Ejemplo: 2) Listar todos los repositorios (habilitados y deshabilitados)

Si necesitamos ver todos los repositorios que están habilitados o deshabilitados, debemos ejecutar lo siguiente

[[email protected] ~]$ sudo dnf repolist all

dnf-repolist-all-command

Ejemplo: 3) Instalar un paquete

Como yum, usamos ‘Instalar en pc‘ opción seguida del nombre del paquete con dnf para instalar, supongamos que queremos instalar el paquete del servidor web (httpd)

[[email protected] ~]$ sudo dnf install httpd

dnf-instalar-comando-salida

Ejemplo: 4) Eliminar un paquete

Para eliminar un paquete, ejecute lo siguiente desde la terminal,

[[email protected] ~]$ sudo dnf remove httpd
or
[[email protected] ~]$ sudo dnf erase httpd

La salida del comando anterior sería algo como lo siguiente:

comando dnf-remove-package

Ejemplo: 5) Actualizar un paquete

Ejecute el siguiente comando para actualizar un solo paquete en el sistema,

Sintaxis: dnf update {pkg-name}

[[email protected] ~]$ sudo dnf update filezilla

Ejemplo: 6) Comprobar la actualización completa del sistema

Para una verificación de actualización de todo el sistema, ejecute el siguiente comando,

[[email protected] ~]$ sudo dnf check-update

Comando de actualización de comprobación de DNF

Ejemplo: 7) Actualizar todos los paquetes del sistema

Para actualizar todos los paquetes del sistema, ejecute lo siguiente

[[email protected] ~]$ sudo dnf upgrade

Comando de actualización DNF

Ejemplo: 8) Listar todos los paquetes de grupo

Use lo siguiente para enumerar todos los paquetes de grupo

[[email protected] ~]$ sudo dnf grouplist
Last metadata expiration check: 1:40:19 ago on Tue 10 Oct 2017 10:08:39 AM IST.
Available Environment Groups:
   Fedora Custom Operating System
   Minimal Install
   Fedora Server Edition
   Fedora Workstation
   Fedora Cloud Server
   KDE Plasma Workspaces
   Xfce Desktop
   LXDE Desktop
   Hawaii Desktop
   LXQt Desktop
   Cinnamon Desktop
   MATE Desktop
   Sugar Desktop Environment
   Development and Creative Workstation
   Web Server
   Infrastructure Server
   Basic Desktop
Installed Groups:
   LibreOffice
Available Groups:
   3D Printing
   Administration Tools
   Ansible node
   Audio Production
…………………

Ejemplo: 9) Instalación de paquetes de grupo

Los paquetes similares se agrupan y se pueden instalar desde un solo comando, en lugar de usar comandos separados. Para instalar un grupo, ejecute

[[email protected] ~]$ sudo dnf groupinstall "Development Tools"

dnf-groupintsall-command

Ejemplo: 10) Eliminación de paquetes de grupo

Para eliminar un grupo completo de paquetes del sistema, ejecute el siguiente comando dnf,

Sintaxis: dnf groupremove ‘group_name’

[[email protected] ~]$ sudo dnf groupremove "Development Tools"

También podemos usar ‘groupupdate’ para actualizar los paquetes grupales.

Ejemplo: 11) Buscar paquetes

Para buscar un paquete en particular de los repositorios, ejecute

Sintaxis: búsqueda dnf {package_name}

Supongamos que quiero buscar el paquete net-tools

[[email protected] ~]$ sudo dnf search net-tools
=========== Name Exactly Matched: net-tools =========
net-tools.x86_64 : Basic networking tools
[[email protected] ~]$

Ejemplo: 12) Descargar (no instalar) un paquete

Puede haber algunos escenarios en los que necesitamos descargar los paquetes pero no deseamos instalarlos. Use el siguiente comando para descargar el paquete como samba

Sintaxis: dnf descargar paquete_nombre

[[email protected] ~]$ sudo dnf download samba
samba-4.6.8-0.fc26.x86_64.rpm          139 kB/s | 636 kB     00:04
[[email protected] ~]$

Ejemplo: 13) Mostrar todos los paquetes disponibles

Para obtener una lista de todos los paquetes disponibles de los repositorios, abra la terminal y ejecute el comando dnf

[[email protected] ~]$ dnf list available | more

Comando dnf-list-disponible

Ejemplo: 14) Mostrar solo paquetes instalados

Ahora, si solo requerimos una lista de paquetes instalados en el sistema, podemos obtenerla ejecutando el siguiente comando:

[[email protected] ~]$ dnf list installed

dnf-list-installed-packages-command

Ejemplo: 15) Mostrar todos los paquetes instalados y disponibles

Para obtener una lista de todos los paquetes, es decir, instalados y disponibles, ejecute el siguiente comando

[[email protected] ~]$ dnf list

comando de lista dnf

Ejemplo: 16) Habilitar repositorio para instalación

Para usar un repositorio en particular para instalar un paquete, ejecute

[[email protected] ~]$ sudo dnf install --enablerepo=epel mysql
Extra Packages for Enterprise Linux 7 - x86_64     3.9 MB/s |  13 MB  00:03
Dependencies resolved.
================================================================================
 Package                 Arch       Version           Repository        Size
=================================================================================
Installing:
 mariadb                 x86_64      3:10.1.26-2.fc26    updates         6.4 M
Installing dependencies:
 mariadb-common          x86_64      3:10.1.26-2.fc26    updates         100 k
 mariadb-config          x86_64      3:10.1.26-2.fc26    updates         33 k
 mariadb-libs            x86_64      3:10.1.26-2.fc26    updates         663 k
Transaction Summary
=================================================================================
Total download size: 7.2 M
Installed size: 44 M
Is this ok [y/N]: y

Ejemplo: 17) Verifique qué paquete proporciona la función requerida

Si queremos saber qué paquete es responsable de obtener una funcionalidad particular, como si necesitamos saber el nombre del paquete que está asociado con ‘crontab’ o con algún otro comando, entonces podemos usar el comando dnf ‘proporciona‘ opción de la siguiente manera,

[[email protected] ~]$ sudo dnf provides crontab
cronie-1.5.1-5.fc26.x86_64 : Cron daemon for executing programs at set times
Repo        : @System
cronie-1.5.1-5.fc26.x86_64 : Cron daemon for executing programs at set times
Repo        : fedora
[[email protected] ~]$

Se puede hacer lo mismo contra un archivo, también podemos usar el mismo comando con una ubicación de archivo para obtener el nombre del paquete con el que está asociado el archivo,

[[email protected]]$ sudo dnf provides /var/www/html

Ejemplo: 18) Ver información del paquete

Para obtener detalles de un paquete específico, ejecute

[[email protected] ~]$ dnf info cronie
Installed Packages
Name         : cronie
Version      : 1.5.1
Release      : 5.fc26
Arch         : x86_64
Size         : 236 k
Source       : cronie-1.5.1-5.fc26.src.rpm
Repo         : @System
From repo    : anaconda
Summary      : Cron daemon for executing programs at set times
URL          : https://fedorahosted.org/cronie
License      : MIT and BSD and ISC and GPLv2+
Description  : Cronie contains the standard UNIX daemon crond that runs /
specified programs at
             : scheduled times and related tools. It is a fork of the / 
original vixie-cron and
             : has security and configuration enhancements like the /
ability to use pam and
             : SELinux.
[[email protected] ~]$

Ejemplo: 19) Construyendo un caché

Aunque el caché se crea automáticamente con el tiempo, también tenemos la opción de crear manualmente el caché, de modo que las acciones futuras sean rápidas y se completen rápidamente. Para crear un caché manualmente, ejecute

[[email protected] ~]$ sudo time dnf makecache
Last metadata expiration check: 0:04:41 ago on Thu 12 Oct 2017 09:53:00 AM IST.
Metadata cache created.
0.86user 0.12system 0:01.04elapsed 95%CPU (0avgtext+0avgdata 106872maxresident)k
0inputs+1192outputs (0major+39606minor)pagefaults 0swaps
[[email protected] ~]$

Ejemplo: 20) Eliminar un caché

Para eliminar todos los datos almacenados en caché dnf, ejecute los siguientes comandos

[[email protected] ~]$ sudo dnf clean all
34 files removed
[[email protected] ~]$

Ejemplo: 21) Verifique el historial de transacciones

Para verificar todas las transacciones que se han realizado con el comando DNF, ejecute los siguientes comandos

[[email protected] ~]$ sudo dnf history

comando dnf-history

Producirá una lista de todas las transacciones en el orden en que han ocurrido con un número correspondiente. Podemos usar este número para obtener más detalles de esa transacción,

[[email protected] ~]$ sudo dnf history info 5

comando dnf-history-info

Los registros relacionados con la instalación, la eliminación o las actualizaciones se guardan en el archivo de registro /var/log/dnf.log. Con el comando dnf history también podemos revertir las actualizaciones del sistema.

Ejemplo: 22) Eliminación de paquetes huérfanos

Los paquetes huérfanos son aquellos paquetes que alguna vez se instalaron para satisfacer la dependencia de algún otro paquete pero que ahora no son necesarios. Para eliminar dichos paquetes, ejecute

[[email protected] ~]$ sudo dnf autoremove

comando dnf-autoremove

Ejemplo: 23) Sincronizar todos los paquetes con las últimas versiones estables

Ejecute el siguiente comando para sincronizar todos los paquetes con las últimas versiones estables,

[[email protected] ~]$ sudo dnf distro-sync

comando dnf-distro-sync

Si necesitamos sincronizar solo un paquete, mencione ese nombre_paquete al final; de lo contrario, se sincronizarán todos los paquetes.

Ejemplo: 24) Reinstalar un paquete

Para reinstalar un paquete, si es necesario, ejecute el siguiente comando,

[[email protected] ~]$ sudo dnf reinstall postfix
Dependencies resolved.
===========================================================================
 Package         Arch        Version            Repository      Size
===========================================================================
Reinstalling:
 postfix         x86_64       2:3.2.2-1.fc26    fedora           1.4 M
Transaction Summary
===========================================================================
Total download size: 1.4 M
Is this ok [y/N]: y

Ejemplo: 25) Actualizar a una versión particular

Con DNF, también es posible actualizar el paquete rpm a una versión particular, para lograr esto ejecute el siguiente comando,

[[email protected] ~]$ sudo dnf upgrade-to httpd-2.4.27-3.fc26

Ejemplo: 26) Obtener una lista de todos los comandos y opciones DNF

Para obtener una lista de todas las opciones disponibles que se pueden usar con DNF, ejecute

[[email protected] ~]$ dnf help

comando de ayuda dnf

Este fue nuestro tutorial completo para el administrador de paquetes DNF con ejemplos. Deje cualquier consulta o pregunta que tenga para este tutorial en los comentarios a continuación.

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *