GNU/Linux >> Tutoriales Linux >  >> Linux

Ejemplos de comandos DNF para principiantes

Este tutorial explica todos los comandos básicos para aquellos que quieren saber cómo usar el administrador de paquetes DNF. Como ya sabrá, DNF es la versión de próxima generación de YUM y ha sido el administrador de paquetes predeterminado desde Fedora 22. Está destinado a ser el reemplazo de YUM en sistemas basados ​​en RPM como RHEL, CentOS. Comparado con YUM, DNF tiene algunas ventajas significativas, como compatibilidad con varios repositorios, compatibilidad con grupos de paquetes, mayor velocidad de resolución de dependencias y consume menos memoria, se ejecuta en Python 2 y Python 3, documentación API sólida, compatibilidad con YUM y muchas.

Lectura recomendada:

  • Empezando con Pacman

Ejemplos de comandos DNF para principiantes

A partir de Fedora 22, yum se reemplazó con DNF, por lo que no necesita instalarlo si está en Fedora. En CentOS 7 y RHEL 7, puede instalarlo como se describe en el tutorial que se proporciona a continuación.

  • Cómo instalar DNF en CentOS 7

El uso de DNF es muy similar a YUM. Todos los comandos proporcionados aquí se probaron en la edición de servidor mínima de CentOS 7 con raíz usuario.

1. Obtener ayuda

Para enumerar todos los comandos principales, comandos de complementos y opciones, ejecute:

# dnf help

Para obtener ayuda sobre un comando específico, por ejemplo, 'instalar', ejecute:

# dnf help install

Para conocer la versión DNF actualmente instalada, ejecute:

# dnf --version

2. Gestión de paquetes

Esta sección explica la instalación, actualización, listado, búsqueda, descarga, reinstalación y eliminación de paquetes.

Obtención de información del paquete

Para obtener los detalles de cualquier paquete instalado o no instalado, ejecute:

# dnf info vim

Instalación de paquetes

Para instalar un nuevo paquete, por ejemplo vim , ejecuta:

# dnf install vim

También podemos instalar varios paquetes como se muestra a continuación.

# dnf install vim nano emacs

Debe escribir "y" para continuar con la instalación. Si no desea hacer eso cada vez, puede incluir la opción "y" en los comandos para la confirmación automática.

# dnf install vim nano emacs -y

Esto no esperará la confirmación del usuario. En su lugar, simplemente instalará todos los paquetes automáticamente.

Paquetes de listado

Para enumerar todos los paquetes disponibles e instalados:

# dnf list

Para listar solo todos los paquetes instalados, usamos:

# dnf list installed

Para enumerar solo los paquetes disponibles:

# dnf list available

Actualización de paquetes

Para verificar todas las actualizaciones disponibles, haga lo siguiente:

# dnf check-update

O,

# dnf list updates

Para actualizar un solo paquete (por ejemplo, bash), ejecute:

# dnf update bash

Para ver si hay alguna actualización de un paquete instalado, ejecute:

# dnf list yum.noarch 
Using metadata from Sat Feb 10 14:47:22 2018
Installed Packages
yum.noarch 3.4.3-150.el7.centos @System
Available Packages
yum.noarch 3.4.3-154.el7.centos.1 update

Este comando mostrará la versión instalada actualmente y la actualización disponible del repositorio. En el resultado anterior, @system especifica la versión instalada y actualización especifica la actualización disponible del repositorio.

Para actualizar varios paquetes:

# dnf update package1 package2

Pase la opción "y" para la confirmación automática.

# dnf update package1 package2 -y

Para actualizar/actualizar todos los paquetes, ejecute:

# dnf update
# dnf update

Para sincronizar los paquetes instalados con las últimas versiones disponibles:

# dnf distro-sync

Búsqueda de paquetes

Para buscar un paquete desde el repositorio, ejecute:

# dnf search vim

Este comando enumerará todos los paquetes que coincidan con la palabra "vim".

Descarga de paquetes

A veces, es posible que desee descargar un paquete, pero no desea instalarlo en este momento. Si es así, ejecute:

# dnf download vim

Este comando descargará el paquete vim-enhanced-xx.xx.x.rpm, pero no lo instalará.

Para instalar el paquete descargado, ejecute:

# dnf install vim-enhanced-7.4.160-2.el7.x86_64.rpm

Todas las demás dependencias requeridas se descargarán e instalarán desde el repositorio.

Degradación de paquetes

Para degradar un paquete que actualizó previamente, ejecute:

# dnf downgrade bash

Reinstalación de paquetes

¿Tiene algún problema con un paquete ya instalado? ¡No hay problema! Puede volver a instalarlo en cualquier momento.

Para reinstalar un paquete, use:

# dnf reinstall vim

Eliminación de paquetes

Para eliminar un paquete (por ejemplo, vim) del sistema, ejecute:

# dnf remove vim

También puede usar la opción "borrar" como se muestra a continuación.

# dnf erase vim

3. Grupos de paquetes

Un grupo de paquetes es una colección de paquetes que tienen un propósito común, por ejemplo, "Herramientas de desarrollo" o "Servidor web". Cuando instala un grupo de paquetes, todos los paquetes dependientes se descargarán e instalarán. La instalación de grupos le ahorrará una cantidad considerable de tiempo.

Instalación de grupos de paquetes

Para enumerar todos los grupos de paquetes disponibles, ejecute:

# dnf grouplist

Para instalar un grupo de paquetes, por ejemplo, "Herramientas de desarrollo", ejecute:

# dnf groupinstall 'Development Tools'

Este comando instalará todos los paquetes necesarios para configurar un entorno de desarrollo.

Actualización de grupos de paquetes

Para actualizar un grupo de paquetes, ejecute:

# dnf groupupdate 'Development Tools'

Eliminación de grupos de paquetes

Para eliminar un grupo de paquetes, ejecute:

# dnf groupremove 'Development Tools'

4. Trabajar con repositorios

Lista de repositorios instalados

De manera predeterminada, todos los repositorios se agregarán en el directorio /etc/yum.repos.d/ en CentOS/RHEL. Puede listar los repositorios instalados usando el comando:

# dnf repolist

El comando anterior solo mostrará los repositorios habilitados. Para mostrar todos los repositorios (tanto habilitados como deshabilitados), ejecute:

# dnf repolist all

Agregar repositorios

Puede agregar un repositorio creando manualmente un archivo package.repo en el directorio /etc/yum.repos.d/. Sin embargo, DNF lo hace aún más fácil.

Para agregar un nuevo repositorio, ejecute:

# dnf config-manager --add-repo repository_url

Ejemplo:

# dnf config-manager --add-repo http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/

Para ver el repositorio recién agregado, hacemos:

# dnf repolist
created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/ 115 kB/s | 3.5 MB 00:31 
Using metadata from Sat Feb 10 14:47:22 2018
repo id repo name status
base CentOS-7 - Base 9,591
epel Extra Packages for Enterprise Linux 7 - x86_64 12,278
extras CentOS-7 - Extras 388
springdale.math.ias.edu_data_puias_unsupported_7_x86_64_ created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupporte 2,760
updates CentOS-7 - Updates

Para ver solo el archivo .repo:

# cat /etc/yum.repos.d/springdale.math.ias.edu_data_puias_unsupported_7_x86_64_.repo 
[springdale.math.ias.edu_data_puias_unsupported_7_x86_64_]
name=created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/
baseurl=http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/
enabled=1

Habilitación de repositorios

Para habilitar un repositorio, use:

# dnf config-manager --set-enabled <repo-id>

Ejemplo:

# dnf config-manager --set-enabled epel

Podemos verificar ejecutando el siguiente comando para ver solo los repositorios habilitados.

# dnf repolist

Además, podemos combinar las opciones de habilitar e instalar como se muestra a continuación.

# dnf config-manager --set-enabled epel install zsh

El comando anterior habilita el repositorio EPEL e instala el paquete zsh.

Deshabilitar repositorios

Para deshabilitar un repositorio, por ejemplo EPEL, usamos:

# dnf config-manager --set-disabled epel

También podemos combinar las opciones de activación y desactivación como se muestra a continuación.

# dnf --enablerepo=epel --disablerepo=updates

El comando anterior habilitará el repositorio EPEL y deshabilitará el repositorio de actualizaciones.

5. Encontrar lo que proporciona algo

DNF le permite encontrar qué paquete proporciona un comando o archivo específico. Si no recuerda exactamente qué paquete proporciona un comando en particular que desea usar, DNF puede ayudarlo.

Encuentre qué paquete proporciona un comando específico

Echo de menos el viejo comando "ifconfig". Este comando está en desuso y no está disponible en las versiones recientes. Para encontrar qué paquete proporciona esta joya, ejecute:

# dnf provides */ifconfig

Salida de muestra:

Using metadata from Thu Feb 8 15:52:17 2018
net-tools-2.0-0.22.20131004git.el7.x86_64 : Basic networking tools
Repo : base

¡Ah, sí! herramientas de red paquete proporciona este comando. Entonces puede instalar este paquete para usar el comando ifconfig.

Encuentre qué paquete proporciona un archivo

Déjanos saber qué paquete proporciona /bin/ls expediente. Para hacerlo, ejecute:

# dnf provides */bin/ls
Using metadata from Thu Jun 30 12:51:16 2016
coreutils-8.22-18.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo : @System

coreutils-8.22-18.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo : base

Como puede ver en el resultado anterior, coreutils el paquete proporciona el archivo /bin/ls.

Lea también:

  • Cómo encontrar el paquete que proporciona un archivo específico en Linux

6. Trabajar con el historial de DNF

Usando el comando "historial dnf", podemos ver todas las acciones que realizamos con el comando DNF.

# dnf history
Using metadata from Sat Feb 10 14:47:22 2018
ID | Command line | Date a | Action | Altere
-------------------------------------------------------------------------------
 2 | update bash | 2018-02-10 14:55 | Update | 1 
 1 | install vim | 2018-02-10 14:51 | E, I | 33 EE

Como puede ver en el resultado anterior, hubo dos transacciones. Instalé un paquete llamado "vim" y actualicé el paquete "bash". Las transacciones más recientes aparecerán en la parte superior.

Para ver los detalles de una transacción específica, use su ID como se muestra a continuación.

# dnf history list 2

También podemos ver los detalles completos de una transacción específica como se muestra a continuación.

# dnf history info 2
Using metadata from Sat Feb 10 14:47:22 2018
Transaction ID : 2
Begin time : Sat Feb 10 14:55:38 2018
Begin rpmdb : 360:fa7bea798a10e850b2bf800182b377443b481652
End time : 14:55:39 2018 (1 seconds)
End rpmdb : 360:dc9f6bb33b00fe1d74dd205586c0ff8c4674f8f7
User : root <root>
Return-Code : Success
Command Line : update bash
Transaction performed with:
 Installed dnf-0.6.4-2.sdl7.noarch (unknown)
 Installed rpm-4.11.3-21.el7.x86_64 (unknown)
Packages Altered:
 Upgraded bash-4.2.46-21.el7_3.x86_64 (unknown)
 Upgrade 4.2.46-29.el7_4.x86_64 @updates

Como puede ver, la transacción con ID de 2 se usó para actualizar el paquete llamado "bash". Podemos deshacer esta transacción en cualquier momento usando el comando:

# dnf history undo 2

Para rehacer la transacción 'deshacer' anterior, simplemente ejecute:

# dnf history redo 2

7. Creación de caché de metadatos DNF

La caché de metadatos DNF se creará automáticamente a medida que instalemos, actualicemos paquetes. Así que no necesitamos construirlo manualmente. Sin embargo, DNF tiene un comando incorporado para construir el caché para hacer que las transacciones futuras sean más rápidas.

Para crear caché de metadatos, ejecute:

# dnf makecache
Extra Packages for Enterprise Linux 7 - x86_64 155 kB/s | 15 MB 01:35 
created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/ 136 kB/s | 3.5 MB 00:26 
CentOS-7 - Base 195 kB/s | 9.5 MB 00:49 
CentOS-7 - Updates 240 kB/s | 7.9 MB 00:33 
CentOS-7 - Extras 84 kB/s | 820 kB 00:09 
Metadata cache created.

8. Limpiando

Para eliminar paquetes no deseados/huérfanos, ejecute:

# dnf autoremove

Para eliminar todos los paquetes almacenados en caché, ejecute:

# dnf clean all

En lugar de limpiar el caché por completo, es posible que desee realizar una limpieza individual de metadatos, dbcache, paquetes, complementos, etc.

Para eliminar los archivos de caché generados a partir de los metadatos del repositorio:

# dnf clean dbcache

Esto obliga a DNF a regenerar los archivos de caché la próxima vez que se ejecute.

Para eliminar los archivos de cookies locales que indican cuándo se descargaron los metadatos y las listas espejo para cada repositorio, ejecute:

# dnf clean expire-cache

DNF volverá a validar la memoria caché para cada repositorio la próxima vez que se utilice.

Para eliminar los metadatos del repositorio:

# dnf clean metadata

El uso de esta opción hará que DNF descargue todos los metadatos la próxima vez que se ejecute.

Para eliminar todos los paquetes en caché del sistema:

# dnf clean packages

El siguiente comando le dice a todos los complementos habilitados que eliminen sus datos almacenados en caché.

# dnf clean plugins

Estos son suficientes para obtener un uso básico de DNF en Fedora, RHEL y CentOS. Para obtener más detalles, consulte las páginas man.

$ man dnf

Linux
  1. 10 ejemplos de comandos 'rm' para principiantes de Linux

  2. Tutorial de comando cd de Linux para principiantes (8 ejemplos)

  3. Comando killall de Linux para principiantes (8 ejemplos)

  4. 7 ejemplos de comandos Chmod para principiantes

  5. Ejemplos de comandos dnf

Tutorial de comandos OD de Linux para principiantes (6 ejemplos)

Tutorial de comando Linux w para principiantes (5 ejemplos)

Tutorial de comandos ss de Linux para principiantes (8 ejemplos)

Comando de localización de Linux para principiantes (8 ejemplos)

16 ejemplos prácticos del comando Linux LS para principiantes

Comando mv de Linux explicado para principiantes (8 ejemplos)