Ejemplos de comandos DNF para principiantes


 

Este tutorial explica todos los comandos básicos para aquellos que quieran saber cómo usar el administrador de paquetes DNF. Como ya sabrán, DNF es la versión de próxima generación de YUM y ha sido el administrador de paquetes predeterminado desde Fedora 22. Se pretende que sea el reemplazo de YUM en sistemas basados en RPM como RHEL, CentOS. Comparado con YUM, DNF tiene algunas ventajas significativas, como soporte para múltiples repositorios, compatibilidad con grupos de paquetes, velocidad de resolución de dependencias más rápida y consume menos memoria, se ejecuta en Python 2 y Python 3, documentación de API sólida, compatibilidad con YUM y más.

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

1. Obtener ayuda

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

 

# dnf help

Para obtener ayuda sobre un comando en particular, por ejemplo ‘instalar’, ejecuta:

# dnf help install

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

# 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.

Obteniendo información del paquete

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

# dnf info vim

 

Instalación de paquetes

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

# dnf install vim

También podemos instalar múltiples paquetes como a continuación.

# dnf install vim nano emacs

Debes escribir “y” para continuar con la instalación. Si no quieres hacer eso cada vez, puedes 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 cambio, simplemente instalará todos los paquetes automáticamente.

Listado de paquetes

Para enumerar todos los paquetes disponibles e instalados:

# dnf list

Para enumerar todos los paquetes instalados solo, usamos:

# dnf list installed

Para enumerar los paquetes disponibles solo:

# dnf list available

Actualización de paquetes

Para verificar todas las actualizaciones disponibles:

# dnf check-update

O,

# dnf list updates

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

# dnf update bash

Para ver si hay actualizaciones para un paquete instalado, ejecuta:

# 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 actualmente instalada y la actualización disponible del repositorio. En el resultado anterior, @systemspecifica la versión instalada y la actualización especifica la actualización disponible del repositorio.

Para actualizar múltiples paquetes:

# dnf update package1 package2

Pasa la opción “y” para la confirmación automática.

# dnf update package1 package2 -y

Para actualizar todos los paquetes, ejecuta:

# dnf update
# dnf upgrade

Para sincronizar paquetes instalados con las últimas versiones disponibles:

# dnf distro-sync

Buscar paquetes

Para buscar un paquete desde el repositorio, ejecuta:

# dnf search vim

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

Descarga de paquetes

A veces es posible que desees descargar un paquete, pero no deseas instalarlo ahora mismo. Si es así, ejecuta:

# dnf download vim

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

Para instalar el paquete descargado, ejecuta:

# 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.

Desactualizar un paquete

Para degradar un paquete que actualizaste previamente, ejecuta:

# dnf downgrade bash

 

Reinstalación de paquetes

¿Tienes algún problema con un paquete ya instalado? ¡Sin preocupaciones! Puedes reinstalarlo en cualquier momento.

Para reinstalar un paquete, usa:

# dnf reinstall vim

 

Eliminar paquetes

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

# dnf remove vim

También puedes usar la opción “erase” como 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 instales un grupo de paquetes, se descargarán e instalarán todos los paquetes dependientes. La instalación de grupos  ahorrará una considerable cantidad de tiempo

Instalando Grupos de paquetes.

Para enumerar todos los grupos de paquetes disponibles, ejecuta:

# dnf grouplist

Para instalar un grupo de paquetes, por ejemplo “Herramientas de desarrollo”, ejecuta:

# 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, ejecuta:

# dnf groupupdate 'Development Tools'

 

Eliminar grupos de paquetes

Para eliminar un grupo de paquetes, ejecuta:

# dnf groupremove 'Development Tools'

Eliminar grupos de paquetes

Para eliminar un grupo de paquetes, ejecuta:

# dnf repolist

El comando anterior solo mostrará los repositorios habilitados. Para mostrar todos los repositorios (Habilitado y Deshabilitado), ejecuta:

# dnf repolist all

El comando anterior solo mostrará los repositorios habilitados. Para mostrar todos los repositorios (Habilitado y Deshabilitado), ejecuta:

# 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 el archivo .repo solamente:

# 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, usa:

# 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 instalación activadas 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 desactivar un repositorio, por ejemplo EPEL, utilizamos:

# dnf config-manager --set-disabled epel

También podemos combinar las opciones habilitar y deshabilitar juntas como a continuación.

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

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

5. Encontrar lo que proporciona algo

DNF  permite encontrar qué paquete proporciona un comando o archivo específico. Si no recuerdas exactamente qué paquete proporciona un comando en particular que deseas utilizar, DNF puede ayudarte.

Encontrar qué paquete proporciona un comando específico

Extraño el buen viejo comando “ifconfig”. Este comando está en desuso y no está disponible en las versiones recientes. Para encontrar qué paquete proporciona esta joya, ejecuta:

# dnf provides */ifconfig

Salida:

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

 

El paquete net-tools proporciona este comando. Entonces puedes instalar este paquete para usar el comando ifconfig.

Encontrar qué paquete proporciona un archivo

Si deseas encontrar qué paquete proporciona el archivo /bin/ls. Para hacerlo, ejecuta:

# 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 la salida anterior, el paquete coreutils proporciona el archivo / bin / ls.

6. Trabajar con history de DNF

Usando el comando “history “, 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
# dnf history list 2

También podemos ver los detalles completos de una transacción específica como 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 con el comando:

# dnf history undo 2

Para rehacer la transacción anterior de “deshacer”, simplemente ejecuta:

# dnf history redo 2

7. Creación de metadatos DNF Caché

El caché de metadatos DNF se creará automáticamente a medida que instalamos, actualizamos paquetes. Entonces no necesitamos construirlo manualmente. Sin embargo, DNF tiene un comando incorporado para construir la memoria caché para hacer que las futuras transacciones sean más rápidas.

Para crear caché de metadatos, ejecuta:

# 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. Limpieza

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

# dnf autoremove

Para eliminar todos los paquetes en caché, ejecuta:

# dnf clean all

 

En lugar de limpiar la caché por completo, puedes 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 fuerza 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 de réplica para cada repositorio, ejecuta:

# dnf clean expire-cache

 

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

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 indica a todos los complementos habilitados que eliminen sus datos en caché.

# dnf clean plugins

Estos son solo suficientes para comenzar a usar DNF. Para obtener más detalles, consulta las páginas man.

$ man dnf

Original

(Visitada 1 veces, 1 visitas hoy )

Responder

avatar
  Suscribirse  
Notificar a

Quizás te interese..

Más de: Tutoriales

No olvides..

maslinux

Linuxero desde el pasado siglo XX :-)

Maslinux.es utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies
Social media & sharing icons powered by UltimatelySocial