GNU/Linux >> Tutoriales Linux >  >> Cent OS

26 ejemplos de comandos DNF en Fedora / CentOS / RHEL

DNF o Dandified 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

Ejemplo:3) Instalar un paquete

Como yum, usamos 'instalar ‘ 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

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:

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) Buscar actualizaciones completas del sistema

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

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

Ejemplo:7) Actualizar todos los paquetes del sistema

Para actualizar todos los paquetes del sistema, ejecute lo siguiente

[[email protected] ~]$ sudo dnf upgrade

Ejemplo:8) Listar todos los paquetes de grupo

Utilice 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"

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 de herramientas de red

[[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 un 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

Ejemplo:14) Mostrar solo los paquetes instalados

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

[[email protected] ~]$ dnf list installed

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

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) Crear 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) Verificar 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

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

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

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

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

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.


Cent OS
  1. Ejemplos de comandos DNF para principiantes

  2. Cómo agregar y eliminar usuarios en CentOS, RHEL y Fedora

  3. Cómo instalar Python 3.5 en CentOS/RHEL y Fedora

  4. 6 ejemplos útiles de comandos journalctl en CentOS / RHEL 7 (hoja de referencia)

  5. Ejemplos de comandos dnf

Instale KVM (QEMU) en CentOS 7 / RHEL 7

Cómo instalar Cockpit en CentOS 7/RHEL 7 y Fedora 28

Cómo instalar pgAdmin 4 en CentOS 7 / RHEL 7 y Fedora 29 / Fedora 28

Cómo acelerar el administrador de paquetes DNF en Fedora, RHEL, CentOS, AlmaLinux, Rocky Linux

Cómo instalar Scala 3 en RHEL 8 / CentOS 8

Ejemplos de comandos KVM Virsh en CentOS y RHEL