Hay muchas maneras de obtener aplicaciones en un sistema Linux. Algunos, como Flatpak y contenedores, son nuevos. Otros, como DEB y RPM, son formatos clásicos que han resistido la prueba del tiempo.
No existe un instalador universal para ningún sistema operativo. Hoy en día, todos los principales sistemas operativos utilizan una combinación de tiendas de aplicaciones (tanto propias como de terceros), instalación de arrastrar y soltar y asistentes de instalación porque hay innumerables desarrolladores que ofrecen software. Diferentes desarrolladores tienen diferentes requisitos para el código que entregan, y esto informa el método de instalación que cada uno elige.
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
Linux fue pionero en el concepto de un administrador de paquetes , un comando para instalar, administrar y desinstalar aplicaciones. Dos comandos comunes del administrador de paquetes son apt
y dnf
. El apt
comando administra paquetes DEB, mientras que dnf
gestiona paquetes RPM. Los dos no son estrictamente excluyentes entre sí en teoría, aunque en la práctica, una distribución de Linux generalmente usa uno u otro. En teoría, es posible ejecutar ambos en un sistema, pero las instalaciones de los paquetes se superpondrían, el control de versiones sería difícil y los comandos serían redundantes entre sí. Sin embargo, si trabaja en un entorno mixto de Linux, interactuando con estaciones de trabajo que ejecutan una distribución y servidores que ejecutan otra, es posible que necesite conocer ambos.
Buscando aplicaciones
Antes de que pueda instalar una aplicación con un administrador de paquetes, necesita saber el nombre del paquete. Por lo general, el nombre de la aplicación y el nombre del paquete son los mismos. El proceso para verificar el nombre del paquete que desea instalar es exactamente el mismo en dnf
y apt
:
$ sudo dnf search zsh
====== Name Exactly Matched: zsh ======
zsh.x86_64 : Powerful interactive shell
[...]
Con apt
:
$ sudo apt search zsh
Sorting... Done
Full Text Search... Done
csh/stable 20110502-4+deb10u1 amd64
Shell with C-like syntax
ddgr/stable 1.6-1 all
DuckDuckGo from the terminal
direnv/stable 2.18.2-2 amd64
Utility to set directory specific environment variables
draai/stable 20180521-1 all
Command-line music player for MPD
[...]
Para obtener resultados relevantes de apt
anteriormente en la búsqueda, puede usar regex:
apt search ^zsh
Sorting... Done
Full Text Search... Done
zsh/stable 5.7.1-1 amd64
shell with lots of features
[...]
Buscar el paquete de una aplicación
Algunos comandos vienen incluidos con otros comandos, todo en un solo paquete. Cuando eso suceda, puede usar su administrador de paquetes para saber qué paquete proporciona lo que necesita. El dnf
y apt
los comandos difieren en cómo buscan este tipo de metadatos.
En dnf
:
$ sudo dnf provides pgrep
procps-ng-3.3.15-6.el8.x86_64 : System and process monitoring utilities
Repo : baseos
Matched from:
Filename : /usr/bin/pgrep
El apt
El comando usa un subcomando, apt-file
. Para usar apt-file
, primero debe instalarlo y luego pedirle que actualice su caché:
$ sudo apt install apt-file
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libapt-pkg-perl libexporter-tiny-perl liblist-moreutils-perl libregexp-assemble-perl
The following NEW packages will be installed:
apt-file libapt-pkg-perl libexporter-tiny-perl liblist-moreutils-perl libregexp-assemble-perl
0 upgraded, 5 newly installed, 0 to remove and 14 not upgraded.
Need to get 297 kB of archives.
After this operation, 825 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
$ sudo apt-file update
[...]
Puedes usar apt-file
para buscar un comando. Puede lanzar una red muy amplia simplemente buscando el comando, pero si conoce la ruta esperada del comando, es más precisa:
$ sudo apt-file search /usr/bin/pgrep
pgreplay: /usr/bin/pgreplay
procps: /usr/bin/pgrep
Instalando aplicaciones
Instalar aplicaciones es esencialmente idéntico a apt
y dnf
:
$ sudo apt install zsh
Con dnf
, puede instalar un solo paquete usando la misma opción:
$ sudo dnf install zsh
Muchas distribuciones basadas en RPM cuentan con grupos de instalación , que recopilan aplicaciones a veces superficialmente relacionadas en un destino fácil de instalar. Por ejemplo, el grupo Design Suite en Fedora contiene aplicaciones creativas populares. Es probable que muchos artistas que desean una aplicación creativa deseen aplicaciones similares, e instalar todo el grupo es una manera fácil y rápida de comenzar a construir un estudio digital de manera sensata. Puede ver los grupos disponibles con group list
(use -v
para ver los nombres de los grupos sin espacios):
$ sudo dnf group list -v
[...]
Available Groups:
Container Management (container-management)
RPM Development Tools (rpm-development-tools)
Design Suite (design-suite)
Development Tools (development)
[...]
Instale un grupo RPM usando la group install
subcomandos:
$ sudo dnf group install design-suite
Puedes usar el @
notación para reducir la escritura:
$ sudo dnf install @design-suite
Actualización de aplicaciones
Una ventaja de usar un administrador de paquetes es que es consciente de todos las aplicaciones que ha instalado. Eso significa que no tiene que buscar versiones actualizadas de las aplicaciones. En su lugar, puede decirle a su administrador de paquetes que busque actualizaciones.
Los subcomandos usados por dnf
y apt
son ligeramente diferentes. Porque apt
mantiene un caché de información que requiere una actualización regular, utiliza el upgrade
subcomando para actualizaciones de aplicaciones:
$ sudo apt upgrade
Por el contrario, dnf
actualiza los metadatos cada vez que usa el comando, por lo que update
y upgrade
los subcomandos son intercambiables:
$ sudo dnf upgrade
Esto es lo mismo que:
$ sudo dnf update
Eliminar aplicaciones
Si alguna vez ha intentado eliminar una aplicación manualmente en cualquier plataforma, entonces sabe que inevitablemente quedan archivos, como archivos de preferencias, activos o iconos, dispersos por todo el disco duro después de eliminar la aplicación. Otra ventaja más de usar un administrador de paquetes es que su administrador de paquetes conoce todos los archivos instalado con un paquete:
$ sudo dnf remove zsh
El remove
el subcomando también se usa para apt
:
$ sudo apt remove zsh
Eliminando un paquete con apt
no elimina los archivos de configuración de usuario modificados, en caso de que elimine el paquete por accidente. Si quieres apt
para eliminar una aplicación y sus archivos de configuración, use purge
en una aplicación que hayas eliminado anteriormente:
$ sudo apt purge zsh
Ambos apt
y dnf
(incluso con purge
) no eliminen datos o archivos de configuración en su directorio de inicio. Para eliminar datos de su directorio de inicio, debe hacerlo manualmente (generalmente se encuentra en ~/.config
y ~/.local
).
Gestión de paquetes de aprendizaje
Si su distribución de Linux preferida favorece a apt
o dnf
, los propósitos de los comandos son básicamente idénticos. Le ayudan a instalar, actualizar y eliminar paquetes. Estos dos, al ser los administradores de paquetes más comunes, reflejan en gran medida los elementos sintácticos más importantes del otro, por lo que cambiar entre ellos es bastante fácil.
Cada uno tiene algunas funciones avanzadas, como la administración de repositorios, que difieren sustancialmente, pero tienden a no ejecutarse con tanta frecuencia como la secuencia clásica de search
. y install
.
Independientemente del administrador de paquetes que use con más frecuencia, puede descargar nuestra hoja de trucos de apt y la hoja de trucos de dnf para tener la sintaxis más importante a mano cuando más la necesite.