Instalar una aplicación en un sistema informático es bastante simple. Copie archivos de un archivo (como un archivo .zip) en la computadora de destino en un lugar en el que el sistema operativo espera que haya aplicaciones. Debido a que muchos de nosotros estamos acostumbrados a tener sofisticados "asistentes" de instalación para ayudarnos a obtener software en nuestras computadoras, parece que el proceso debería ser técnicamente más complejo de lo que es.
Más recursos de Linux
- Hoja de trucos de los comandos de Linux
- Hoja de trucos de comandos avanzados de Linux
- Curso en línea gratuito:Descripción general técnica de RHEL
- Hoja de trucos de red de Linux
- Hoja de trucos de SELinux
- Hoja de trucos de los comandos comunes de Linux
- ¿Qué son los contenedores de Linux?
- Nuestros últimos artículos sobre Linux
Qué es complejo, sin embargo, es el tema de lo que constituye una aplicación. Lo que los usuarios consideran una sola aplicación en realidad contiene código prestado de bibliotecas de software (es decir, .so
archivos en Linux, .dll
archivos en Windows y .dylib
en macOS) dispersos en un sistema operativo.
Para que los usuarios no tengan que preocuparse por esa verdadera matriz de código interdependiente, Linux utiliza un sistema de gestión de paquetes para realizar un seguimiento de qué aplicación necesita qué biblioteca, y qué biblioteca o aplicación tiene actualizaciones de seguridad o funciones, y qué archivos de datos adicionales se instalaron con cada título de software. Un administrador de paquetes es, esencialmente, un asistente de instalación. Son fáciles de usar, proporcionan interfaces gráficas e interfaces basadas en terminales, y le facilitan la vida. Cuanto mejor conozca el administrador de paquetes de su distribución, más fácil será su vida.
Instalando aplicaciones en Linux
Si es un usuario ocasional de escritorio que quiere instalar una aplicación en Linux, entonces puede estar buscando el software GNOME, un navegador de aplicaciones de escritorio.
Funciona como cabría esperar:hace clic en su interfaz hasta que encuentra una aplicación que le parece útil y, a continuación, hace clic en Instalar. botón.
Alternativamente, puede abrir .rpm
o .flatpakref
paquetes descargados de la web en el software GNOME para que los instale por usted.
Si te inclinas a controlar tu computadora con comandos escritos, ¡sigue leyendo!
Buscar software con dnf
Antes de que pueda instalar una aplicación, es posible que deba confirmar que existe en los servidores de su distribución. Por lo general, buscar el nombre común de una aplicación con dnf
es suficiente Por ejemplo, supongamos que recientemente leyó un artículo sobre Cockpit y decide que quiere probarlo. Podrías buscar cockpit
para verificar que tu distribución lo incluye:
$ dnf search cockpit
Last metadata expiration check: 0:01:46 ago on Tue 18 May 2021 19:18:15 NZST.
==== Name Exactly Matched: cockpit ====
cockpit.x86_64 : Web Console for Linux servers
==== Name & Summary Matched: cockpit ==
cockpit-bridge.x86_64 : Cockpit bridge server-side component
cockpit-composer.noarch : Composer GUI for use with Cockpit
[...]
Hay una coincidencia exacta. El paquete listado como coincidencia se llama cockpit.x86_64
, pero el .x86_64
parte del nombre solo denota la arquitectura de CPU con la que es compatible. De forma predeterminada, su sistema instala paquetes con arquitecturas de CPU coincidentes, por lo que puede ignorar esa extensión. Por lo tanto, ha confirmado que el paquete que está buscando se llama simplemente cockpit
.
Ahora puede instalarlo con confianza con dnf install
. Este paso requiere privilegios administrativos:
$ sudo dnf install cockpit
La mayoría de las veces, ese es el típico dnf
flujo de trabajo:buscar e instalar.
A veces, sin embargo, los resultados de dnf search
no le quedan claros o desea obtener más información sobre un paquete además de su nombre común. Hay algunos dnf
relevantes subcomandos, según la información que busques.
Metadatos del paquete
Si siente que su búsqueda lo llevó a cerrar al paquete que desea, pero aún no está seguro, a menudo es útil echar un vistazo a los metadatos del paquete, como la URL y la descripción del proyecto. Para obtener esta información, utilice la agradablemente intuitiva dnf info
comando:
$ dnf info terminator
Available Packages
Name : terminator
Version : 1.92
Release : 2.el8
Architecture : noarch
Size : 526 k
Source : terminator-1.92-2.el8.src.rpm
Repository : epel
Summary : Store and run multiple GNOME terminals in one window
URL : https://github.com/gnome-terminator
License : GPLv2
Description : Multiple GNOME terminals in one window. This is a project to produce
: an efficient way of filling a large area of screen space with
: terminals. This is done by splitting the window into a resizeable
: grid of terminals. As such, you can produce a very flexible
: arrangements of terminals for different tasks.
Este volcado de información le informa la versión del paquete disponible, qué repositorio registrado con su sistema lo proporciona, el sitio web del proyecto y una descripción larga de lo que hace.
¿Qué paquete proporciona un archivo?
Los nombres de los paquetes no siempre coinciden con lo que está buscando. Por ejemplo, suponga que está leyendo documentación que le indica que debe instalar algo llamado qmake-qt5
:
$ dnf search qmake-qt5
No matches found.
El dnf
La base de datos es extensa, por lo que no tiene que limitarse a buscar coincidencias exactas. Puede usar el dnf provides
comando para saber si algo proporciona lo que está buscando como parte de un paquete más grande:
$ dnf provides qmake-qt5
qt5-qtbase-devel-5.12.5-8.el8.i686 : Development files for qt5-qtbase
Repo : appstream
Matched from:
Filename : /usr/bin/qmake-qt5
qt5-qtbase-devel-5.15.2-3.el8.x86_64 : Development files for qt5-qtbase
Repo : appstream
Matched from:
Filename : /usr/bin/qmake-qt5
Esto confirma que la aplicación qmake-qt5
es parte de un paquete llamado qt5-qtbase-devel
. También le dice que la aplicación se instala en /usr/bin
, para que sepa exactamente dónde encontrarlo una vez instalado.
¿Qué archivos se incluyen en un paquete?
Hay momentos en los que me encuentro acercándome a dnf
desde un ángulo completamente diferente. A veces, ya confirmé que una aplicación está instalada en mi sistema; Simplemente no puedo entender cómo lo conseguí. Otras veces, sé que tengo un paquete específico instalado, pero no tengo claro exactamente qué puso ese paquete en mi sistema.
Si alguna vez necesita aplicar "ingeniería inversa" a la carga útil de un paquete, puede usar dnf repoquery
comando junto con --list
opción. Esto analiza los metadatos del repositorio sobre un paquete y devuelve una lista de todos los archivos proporcionados por ese paquete:
$ dnf repoquery --list qt5-qtbase-devel
/usr/bin/fixqt4headers.pl
/usr/bin/moc-qt5
/usr/bin/qdbuscpp2xml-qt5
/usr/bin/qdbusxml2cpp-qt5
/usr/bin/qlalr
/usr/bin/qmake-qt5
/usr/bin/qvkgen
/usr/bin/rcc-qt5
[...]
Estas listas pueden ser largas, por lo que ayuda canalizar el comando a través de less
o tu localizador favorito.
Eliminar una aplicación
Si decide que ya no necesita una aplicación instalada en su sistema, puede usar dnf remove
para desinstalarlo, todos los archivos que se instalaron como parte de su paquete y las dependencias que ya no son necesarias:
$ dnf remove bigapp
A veces, las dependencias se instalan con una aplicación y luego otras aplicaciones que instalas las encuentran útiles. En caso de que dos paquetes requieran la misma dependencia, dnf remove
no eliminar la dependencia. No es extraño terminar con un paquete perdido aquí y allá después de instalar y desinstalar muchas aplicaciones. Aproximadamente una vez al año, realizo una dnf autoremove
para borrar cualquier paquete no utilizado:
$ dnf autoremove
Esto no es necesario, pero es un paso de limpieza que me hace sentir mejor con mi computadora.
Conociendo dnf
Cuanto más sepa sobre cómo funciona su administrador de paquetes, más fácil le resultará instalar y consultar aplicaciones cuando sea necesario. Incluso si no eres un dnf
regular usuario, puede ser útil saberlo cuando se encuentre interactuando con una distribución basada en RPM.
Habiéndome graduado de yum
, uno de mis administradores de paquetes favoritos es el dnf
dominio. Si bien no me gustan todos sus subcomandos, creo que es uno de los sistemas de administración de paquetes más robustos que existen. Descarga nuestro dnf
hoja de trucos para acostumbrarse al comando, y no tenga miedo de probar algunos trucos nuevos con él. Una vez que te familiarices con él, puede que te resulte difícil usar cualquier otra cosa.