LINUX

Cómo instalar y eliminar paquetes usando DNF

instalar y eliminar paquetes usando dnf

DNF (Dandified YUM) se puede considerar como la versión actualizada de la utilidad YUM. La utilidad DNF es mucho mejor que otros administradores de paquetes cuando se trata de uso de memoria, uso de CPU y varios otros factores relacionados con el rendimiento.

En este tutorial, analicemos cómo usar la herramienta de administración de paquetes dnf para instalar y eliminar paquetes con ejemplos.

Cómo instalar paquetes

Antes de comenzar a instalar paquetes, es prudente buscar y verificar si el paquete está disponible. Hacemos esto usando la opción ‘buscar’ como se muestra a continuación.

dnf search package-name

En este ejemplo, buscamos si el paquete httpd está disponible para su instalación.

dnf search httpd

Salida de muestra

# dnf search httpd
Last metadata expiration check: 0:15:31 ago on Sun 04 Feb 2018 02:36:58 PM UTC.
===================================================================== Name Exactly Matched: httpd ======================================================================
httpd.x86_64 : Apache HTTP Server
==================================================================== Summary & Name Matched: httpd =====================================================================
radicale-httpd.noarch : httpd config for Radicale
drupal8-httpd.noarch : HTTPD integration for drupal8
owncloud-httpd.noarch : Httpd integration for ownCloud
openqa-httpd.noarch : openQA httpd (Apache) integration
iipsrv-httpd-fcgi.noarch : Apache HTTPD files for iipsrv
nextcloud-httpd.noarch : Httpd integration for NextCloud
libmicrohttpd-doc.noarch : Documentation for libmicrohttpd
anyterm-httpd.x86_64 : Httpd proxy configuration for anyterm
gambas3-gb-httpd.x86_64 : Gambas3 component package for httpd
mingw32-libmicrohttpd.noarch : MinGW package for libmicrohttpd
mingw64-libmicrohttpd.noarch : MinGW package for libmicrohttpd
libmicrohttpd-devel.i686 : Development files for libmicrohttpd
libmicrohttpd-devel.x86_64 : Development files for libmicrohttpd
httpdtap.noarch : Tool for querying httpd using SystemTap scripts

En la salida anterior, se resaltan todas las posibilidades del paquete httpd.

Para instalar un paquete, inicie sesión como usuario root y ejecute el siguiente comando. En este ejemplo, estamos instalando el servidor web Apache.

$ sudo dnf install httpd

Cómo instalar paquetes desde un repositorio específico

Con el comando DNF también podemos elegir un repositorio específico para la instalación de un paquete. Primero veamos los repositorios disponibles instalados en nuestro sistema Fedora 27 ejecutando el siguiente comando.

dnf repolist

Producción

Last metadata expiration check: 0:56:19 ago on Sun 04 Feb 2018 02:36:58 PM UTC.
repo id                                        repo name                                                          status
*fedora                                        Fedora 27 - x86_64                                                 54,801
*updates                                       Fedora 27 - x86_64 - Updates                                       10,909

Instalemos ahora un paquete llamado nano desde el repositorio * fedora.

$ sudo dnf --enablerepo=*fedora install nano

Cómo eliminar paquetes

DNF también le brinda la posibilidad de eliminar paquetes que ya no necesita en su computadora. Similar al comando de instalación, todo lo que necesita hacer es identificar el paquete y luego ejecutar el comando en su terminal:

$ sudo dnf remove httpd

Después de esto, se eliminarán los paquetes relacionados con httpd.

Nota: Alternativamente, podemos usar la opción ‘borrar’ en lugar de eliminar, lo que también desinstalará los paquetes del sistema.

dnf erase httpd

El comando anterior elimina todos los paquetes relacionados con httpd y el resultado será el mismo.

Cómo eliminar todos los paquetes de un repositorio seleccionado

Para eliminar todos los paquetes de un repositorio en particular, primero necesitamos obtener su ID de repositorio. Para hacer eso, ejecutamos el siguiente comando

dnf -v repolist

Salida de muestra

Last metadata expiration check: 0:16:19 ago on Thu 08 Feb 2018 11:11:11 AM EAT.

Repo-id      : fedora
Repo-name    : Fedora 27 - x86_64
Repo-revision: 1509861107
Repo-updated : Sun 05 Nov 2017 08:51:47 AM EAT
Repo-pkgs    : 54,801
Repo-size    : 57 G
Repo-metalink: https://mirrors.fedoraproject.org/metalink?repo=fedora-27&arch=x86_64
  Updated    : Thu 08 Feb 2018 11:11:11 AM EAT
Repo-baseurl : http://mirror.liquidtelecom.com/fedora/fedora/linux/releases/27/Everything/x86_64/os/ (9 more)
Repo-expire  : 604,800 second(s) (last: Thu 08 Feb 2018 11:11:11 AM EAT)
Repo-filename: /etc/yum.repos.d/fedora.repo

Repo-id      : updates
Repo-name    : Fedora 27 - x86_64 - Updates
Repo-revision: 1518007515
Repo-updated : Wed 07 Feb 2018 04:11:08 PM EAT
Repo-pkgs    : 11,334
Repo-size    : 21 G
Repo-metalink: https://mirrors.fedoraproject.org/metalink?repo=updates-released-f27&arch=x86_64
  Updated    : Thu 08 Feb 2018 11:10:29 AM EAT
Repo-baseurl : http://mirror.wbs.co.za/fedora-enchilada/updates/27/x86_64/ (246 more)
Repo-expire  : 21,600 second(s) (last: Thu 08 Feb 2018 11:10:29 AM EAT)
Repo-filename: /etc/yum.repos.d/fedora-updates.repo
Total packages: 66,135

Como puede ver en el resultado anterior, tenemos 2 repo-ids -fedora y actualizaciones.

Ahora puede proceder a eliminar todos los paquetes de un repositorio específico usando el siguiente comando

dnf repository-packages repo-id remove

Por ejemplo, si queremos eliminar todos los paquetes de fedora repositorio que ejecutamos

dnf repository-packages fedora remove

Aquí, fedora es el repo-id.

Nota:

Para los identificadores de repositorios principales, recibirá una alerta en la terminal de que algunos paquetes están protegidos por el sistema. p.ej

dnf repository-packages fedora remove

Salida de muestra

Problem 1: The operation would result in removing the following protected packages: dnf, kernel-core, systemd, systemd-udev
Problem 2: The operation would result in removing the following protected packages: dnf, kernel-core, systemd, systemd-udev
Problem 3: The operation would result in removing the following protected packages: dnf, kernel-core, systemd, systemd-udev
Problem 4: The operation would result in removing the following protected packages: dnf, kernel-core, systemd, systemd-udev

Cómo enumerar y eliminar paquetes

Puede utilizar el comando dnf list para obtener una lista de los paquetes instalados y disponibles.

Para generar una lista de paquetes instalados, ejecute el siguiente comando:

$ sudo dnf list installed | cat -n

El argumento ‘cat -n’ se usa para numerar los paquetes en la salida del terminal.

Salida de muestra

 1  Last metadata expiration check: 1:22:04 ago on Sun 04 Feb 2018 02:36:58 PM UTC.
     2  Installed Packages
     3  GeoIP.x86_64                             1.6.11-3.fc27                   @anaconda
     4  GeoIP-GeoLite-data.noarch                2017.10-1.fc27                  @anaconda
     5  acl.x86_64                               2.2.52-18.fc27                  @anaconda
     6  apr.x86_64                               1.6.3-1.fc27                    @updates
     7  apr-util.x86_64                          1.6.1-2.fc27                    @updates
     8  audit.x86_64                             2.7.8-1.fc27                    @anaconda
     9  audit-libs.x86_64                        2.7.8-1.fc27                    @anaconda
    10  audit-libs-python3.x86_64                2.7.8-1.fc27                    @anaconda
    11  basesystem.noarch                        11-4.fc27                       @anaconda
    12  bash.x86_64                              4.4.12-12.fc27                  @anaconda
    13  bind99-libs.x86_64                       9.9.11-2.fc27                   @anaconda
    14  bind99-license.noarch                    9.9.11-2.fc27                   @anaconda
    15  bzip2.x86_64                             1.0.6-24.fc27                   @anaconda
    16  bzip2-libs.x86_64                        1.0.6-24.fc27                   @anaconda
    17  c-ares.x86_64                            1.13.0-3.fc27                   @anaconda

Sin embargo, si desea enumerar los paquetes disponibles para la instalación, ejecute el siguiente comando:

$ sudo dnf list available | cat -n

Nuevamente, el argumento ‘cat -n’ se usa para numerar los paquetes en la salida del terminal.

Salida de muestra

 1  Last metadata expiration check: 0:08:29 ago on Mon 05 Feb 2018 02:04:09 PM EAT.
     2  Available Packages
     3  0ad.x86_64                               0.0.22-2.fc27                   fedora
     4  0ad-data.noarch                          0.0.22-1.fc27                   fedora
     5  0install.x86_64                          2.12.1-1.fc27                   fedora
     6  0xFFFF.x86_64                            0.3.9-15.fc26                   fedora
     7  2048-cli.x86_64                          0.9.1-4.fc27                    fedora
     8  2048-cli-nocurses.x86_64                 0.9.1-4.fc27                    fedora
     9  2048-cli-sdl.x86_64                      0.9.1-4.fc27                    fedora
    10  2ping.noarch                             4.1-1.fc27                      fedora
    11  389-admin.i686                           1.1.46-1.fc27.3                 fedora
    12  389-admin.x86_64                         1.1.46-1.fc27.3                 fedora
    13  389-admin-console.noarch                 1.1.12-3.fc27                   fedora
    14  389-admin-console-doc.noarch             1.1.12-3.fc27                   fedora
    15  389-adminutil.i686                       1.1.23-4.fc27                   fedora

Opción de eliminación automática

La opción ‘autoremove’ se utiliza para desinstalar paquetes que se instalaron inicialmente como dependencias de paquetes instalados pero que ya no son necesarios para dichos paquetes. Para desinstalar las dependencias, ejecute el siguiente comando:

$ dnf autoremove

Gracias por leer y comparta sus sugerencias y pensamientos en la sección de comentarios a continuación.

Leer también:

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba
Cerrar