Al pasar de una distribución de Linux a otra, puede ser un desafío realizar una transición fluida entre las diferentes interfaces a las herramientas de administración de paquetes. En este artículo, revisaremos algunas operaciones comunes y cómo realizarlas usando tanto dnf
y apt
.
Operaciones básicas
Afortunadamente, la mayoría de las operaciones básicas del día a día se pueden realizar de la misma manera con ambas herramientas. Instalar un paquete por nombre es dnf install
y apt install
y eliminar es dnf remove
y apt remove
. Eliminar dependencias que ya no son necesarias es dnf autoremove
y apt autoremove.
A veces, no sabrá el nombre exacto del paquete que necesita para obtener una determinada herramienta. En esos casos, puede usar dnf search
y apt search
para buscar nombres y descripciones de paquetes. Estas herramientas admiten expresiones regulares, lo que puede ayudar a reducir los resultados.
root@ubuntu:~# apt search ripgrep
Sorting... Done
Full Text Search... Done
elpa-dumb-jump/groovy 0.5.3-1 all
jump to definition for multiple languages without configuration
ripgrep/groovy 12.1.1-1 amd64
Recursively searches directories for a regex pattern
ugrep/groovy 2.4.1+dfsg-1 amd64
faster grep with an interactive query UI
[root@fedora ~]# dnf search ripgrep
Last metadata expiration check: 0:04:09 ago on Sun 25 Oct 2020 09:43:35 PM UTC.
====================== Name Exactly Matched: ripgrep ======================
ripgrep.x86_64 : Line oriented search tool using Rust's regex library
[root@fedora ~]#
Un "te atrapé" a tener en cuenta es que los comandos para actualizar funcionan de manera ligeramente diferente. dnf update
y dnf update
ambos funcionan de la misma manera y combinan los pasos realizados por apt update
y apt upgrade
. Esto significa que un dnf
el sistema intentará recuperar las actualizaciones pendientes de sus repositorios configurados y solicite al usuario que actualice los paquetes, todo en un solo comando. Todavía tiene la opción de realizar la actualización o no, por supuesto, pero puede ser un poco sorprendente para las personas acostumbradas a Ubuntu ver una dnf update
repentinamente solicitando al usuario que actualice los paquetes. dnf distro-sync
funciona de manera similar, combinando las funciones de apt update
y apt dist-upgrade
.
[ A los lectores también les gustó: Crear un repositorio YUM/DNF basado en Apache en Red Hat Enterprise Linux 8 ]
Consulta de información del paquete
Al consultar la información del paquete, dnf
ofrece algunas pequeñas comodidades al combinar algunos apt
funcionalidad en un solo comando. apt show
le dará información sobre un paquete y apt-cache policy
proporcionará información sobre el repositorio del que proviene un paquete y su estado de actualización. dnf
incluye todo esto en dnf info
Y también incluye información del paquete remoto que apt
proporciona a través de apt-cache show
.
root@ubuntu:~# apt show curl
Package: curl
Version: 7.68.0-1ubuntu4
Priority: optional
Section: web
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Alessandro Ghedini <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 411 kB
Depends: libc6 (>= 2.17), libcurl4 (= 7.68.0-1ubuntu4), zlib1g (>= 1:1.1.4)
Homepage: http://curl.haxx.se
Task: server, cloud-image, server-raspi, ubuntu-budgie-desktop
Download-Size: 161 kB
APT-Manual-Installed: no
APT-Sources: http://mirrors.digitalocean.com/ubuntu groovy/main amd64 Packages
Description: command line tool for transferring data with URL syntax
curl is a command line tool for transferring data with URL syntax, supporting
DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3,
POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP.
.
curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form
based upload, proxies, cookies, user+password authentication (Basic, Digest,
NTLM, Negotiate, kerberos...), file transfer resume, proxy tunneling and a
busload of other useful tricks.
root@ubuntu:~# apt-cache policy curl
curl:
Installed: 7.68.0-1ubuntu4
Candidate: 7.68.0-1ubuntu4
Version table:
*** 7.68.0-1ubuntu4 500
500 http://mirrors.digitalocean.com/ubuntu groovy/main amd64 Packages
100 /var/lib/dpkg/status
[root@fedora ~]# dnf info curl
Last metadata expiration check: 0:10:03 ago on Sun 25 Oct 2020 09:43:35 PM UTC.
Installed Packages
Name : curl
Version : 7.69.1
Release : 1.fc32
Architecture : x86_64
Size : 654 k
Source : curl-7.69.1-1.fc32.src.rpm
Repository : @System
From repo : anaconda
Summary : A utility for getting files from remote servers (FTP, HTTP, and others)
URL : https://curl.haxx.se/
License : MIT
Description : curl is a command line tool for transferring data with URL syntax, supporting
: FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, IMAP,
: SMTP, POP3 and RTSP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP
: uploading, HTTP form based upload, proxies, cookies, user+password
: authentication (Basic, Digest, NTLM, Negotiate, kerberos...), file transfer
: resume, proxy tunneling and a busload of other useful tricks.
Available Packages
Name : curl
Version : 7.69.1
Release : 6.fc32
Architecture : x86_64
Size : 289 k
Source : curl-7.69.1-6.fc32.src.rpm
Repository : updates
Summary : A utility for getting files from remote servers (FTP, HTTP, and others)
URL : https://curl.haxx.se/
License : MIT
Description : curl is a command line tool for transferring data with URL syntax, supporting
: FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, IMAP,
: SMTP, POP3 and RTSP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP
: uploading, HTTP form based upload, proxies, cookies, user+password
: authentication (Basic, Digest, NTLM, Negotiate, kerberos...), file transfer
: resume, proxy tunneling and a busload of other useful tricks.
Para enumerar archivos proporcionados por un paquete local, puede usar rpm -ql
en dnf
sistemas y dpkg -L
en apt
sistemas Sin embargo, enumerar los archivos proporcionados por un paquete remoto se vuelve un poco más complicado. En dnf
sistemas, esto se puede hacer a través de dnf repoquery -l
. Para hacer esto en Ubuntu, puede usar una utilidad llamada apt-file
y ejecute apt-file list
. Es posible que deba instalarlo usted mismo, ya que el equipo de apt lo mantiene, pero no forma parte de apt
mismo.
Descargando fuentes
A veces, solo tienes que investigar el código fuente para ver qué está pasando. Afortunadamente, hay una manera fácil de obtener el código fuente directamente a través de su administrador de paquetes. Para mostrar el paquete fuente al nombre del paquete dado, use dnf repoquery -s
y apt-cache showsrc
. Para obtenerlo, dnf download --source
lo descargará rápidamente, al igual que apt-get source
.
En este artículo, hemos repasado algunos dnf
comunes. y apt
operaciones a las que se enfrentarán los ingenieros de sistemas. Para una mirada más profunda a las opciones disponibles en diferentes distribuciones, lo animo a que eche un vistazo a Pacman Rosetta disponible en la wiki de Arch Linux. Aunque está diseñado para usuarios que vienen a Arch desde otras distribuciones, es un gran recurso para cualquiera que busque traducir del administrador de paquetes de una distribución a otra para una amplia gama de operaciones comunes.
[ Curso gratuito en línea:Descripción general técnica de Red Hat Enterprise Linux. ]