← Terminal y Línea de Comandos en Linux Bloque 8 · Paquetes y estado del sistema · Tema 36 de 43

Tema 36

Otros gestores de paquetes

Tarde o temprano ocurre: las instrucciones de instalación de un programa dicen sudo dnf install, o pacman -S, y tu sistema responde command not found. O al revés: te sientas frente a un servidor con otra distribución, y apt no existe. Y aun sin salir de Ubuntu, apt install firefox instala algo llamado «snap», y la página de una aplicación ofrece un «flatpak». Casi todo lo que hemos aprendido en el curso es igual en cualquier Linux; la administración de paquetes es la gran excepción. La buena noticia es que las ideas del tema anterior valen para todos: lo que cambia es el vocabulario, y este tema es el diccionario.

Cómo leer este tema

Las secciones 3 a 7 describen gestores que solo existen en otras distribuciones: si usas Ubuntu no podrás ejecutar sus comandos, y no hace falta. Léelas como una referencia, para reconocerlos cuando aparezcan y saber traducirlos. Las secciones 9 a 13, sobre snap y flatpak, sí se practican en Ubuntu, y en cualquier otra distribución.

1. Las familias de distribuciones

En el tema 1 dijimos que una distribución es el kernel de Linux más una selección de programas, lista para instalar. Hay cientos, pero casi todas descienden de unas pocas, y lo que más claramente hereda una distribución de su antecesora es el formato de sus paquetes y el programa que los administra.

FamiliaDistribucionesFormatoNivel bajoGestor
DebianDebian, Ubuntu, Linux Mint, Pop!_OS, Raspberry Pi OS, Kali.debdpkgapt
Red HatFedora, Red Hat Enterprise Linux (RHEL), CentOS Stream, Rocky Linux, AlmaLinux, Amazon Linux.rpmrpmdnf
ArchArch Linux, Manjaro, EndeavourOS, CachyOS.pkg.tar.zstpacman, que hace las dos tareas
SUSEopenSUSE Leap y Tumbleweed, SUSE Linux Enterprise.rpmrpmzypper
AlpineAlpine Linux, muy usada en contenedores.apkapk

Los formatos no son intercambiables. Un .deb no se instala en Fedora, ni un .rpm en Ubuntu: aunque el programa de adentro sea el mismo, cada paquete nombra sus dependencias con los nombres que tienen en su distribución, y espera encontrar las bibliotecas en las versiones que esa distribución trae. Por eso las páginas de descarga ofrecen un archivo por familia, y por eso existen los formatos universales de la segunda mitad del tema.

Lo que sí es común son los conceptos del tema 35: paquete, repositorio firmado, dependencias, una base de datos de lo instalado, y la división entre consultar, que hace cualquier usuario, y modificar, que requiere sudo. Quien entendió apt ya entendió los demás; le falta aprender cómo se llama cada cosa.

2. Saber qué distribución y qué gestor tienes

Frente a una máquina desconocida —un servidor al que se entra por ssh, una máquina virtual, un contenedor—, lo primero es identificarla. Todas las distribuciones actuales se presentan en un mismo archivo, /etc/os-release:

terminal, en Ubuntu
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.3 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
…

El archivo tiene la forma NOMBRE=valor de las variables del tema 34, y no por casualidad: está pensado para que un script lo cargue con source. Las dos líneas resaltadas son las que importan aquí.

CampoContiene
IDEl identificador de la distribución, en minúsculas: ubuntu, debian, fedora, arch, rocky, alpine.
ID_LIKELa familia: a qué distribuciones se parece. Es el dato que indica el gestor de paquetes.
VERSION_IDEl número de versión.
VERSION_CODENAMEEl nombre en clave: el noble de los repositorios del tema anterior.
PRETTY_NAMEEl nombre completo, para mostrar a una persona.
el mismo filtro, en cuatro sistemas
$ grep -E '^(ID|ID_LIKE)=' /etc/os-release
ID=linuxmint                    # Linux Mint
ID_LIKE="ubuntu debian"

ID=fedora                       # Fedora: no tiene ID_LIKE, es cabeza de familia

ID="rocky"                      # Rocky Linux
ID_LIKE="rhel centos fedora"

ID=manjaro                      # Manjaro
ID_LIKE=arch

La otra manera es preguntarle a la shell qué gestores encuentra, con el type del tema 3:

terminal, en Ubuntu
$ type apt dnf pacman zypper apk snap flatpak 2> /dev/null
apt is /usr/bin/apt
snap is /usr/bin/snap

Los que no existen producen un error, que el 2> /dev/null descarta; quedan los que sí. En este Ubuntu hay dos, y esa es la situación normal hoy: un gestor de la distribución, y al lado uno o dos de los universales.

3. dnf: Fedora y la familia Red Hat

dnf es a la familia Red Hat lo que apt a la de Debian: el gestor de alto nivel, que consulta los repositorios, resuelve las dependencias y encarga la instalación a la herramienta de abajo, rpm. Es el sucesor de yum, y en los sistemas actuales yum es solo otro nombre del mismo programa: los tutoriales que dicen yum install siguen funcionando.

Sus subcomandos se parecen tanto a los de apt que casi no hay que traducir:

terminal, en Fedora
$ sudo dnf install mc
Last metadata expiration check: 0:12:44 ago on Mon 12 Oct 2026 10:31:07 PM.
Dependencies resolved.
================================================================================
 Package          Architecture    Version               Repository        Size
================================================================================
Installing:
 mc               x86_64          1:4.8.33-1.fc42       fedora           2.1 M
Installing dependencies:
 gpm-libs         x86_64          1.20.7-48.fc42        fedora            20 k

Transaction Summary
================================================================================
Install  2 Packages

Total download size: 2.1 M
Installed size: 7.6 M
Is this ok [y/N]: 

La estructura es la que ya sabemos leer: qué se pidió, qué dependencias se agregan, de qué repositorio sale cada paquete, cuánto se descarga, cuánto ocupará, y una pregunta. El dibujo de la tabla cambia entre versiones de dnf; la información es la misma.

En dnf, la respuesta por defecto es «no»

En [y/N] la mayúscula está en la N: pulsar Enter sin escribir nada cancela la operación. Hay que escribir y. Es lo contrario de apt y de pacman, donde Enter acepta, y quien viene de Ubuntu suele creer que instaló algo cuando en realidad lo canceló.

Hay tres diferencias de comportamiento con apt que conviene conocer, porque no son de nombre sino de fondo.

En aptEn dnf
La lista de paquetes se renueva a mano, con apt update, antes de instalar.Se renueva sola cuando tiene más de unas horas: es la línea Last metadata expiration check. No hay un paso previo.
update renueva la lista; upgrade instala.dnf upgrade instala las versiones nuevas, y dnf update es un sinónimo suyo. Para solo averiguar qué hay, dnf check-update.
remove deja las dependencias, hasta que se ejecuta autoremove.dnf remove quita también las dependencias que quedan sin uso.
remove conserva la configuración y purge la borra.No hay purge. Al quitar un paquete, los archivos de configuración que modificaste se conservan renombrados, con extensión .rpmsave.

La segunda fila es la trampa para quien cambia de familia. sudo apt update es inofensivo; sudo dnf update actualiza el sistema entero.

Se escribeQué hace
dnf check-updateLista los paquetes con una versión nueva disponible, sin instalar nada.
sudo dnf upgradeActualiza todo el sistema.
sudo dnf upgrade --refreshLo mismo, forzando antes la renovación de la lista.
dnf search textoBusca en nombres y descripciones.
dnf info paqueteMuestra la ficha de un paquete.
sudo dnf install paqueteLo instala con sus dependencias.
sudo dnf install ./archivo.rpmInstala un paquete del disco, resolviendo sus dependencias.
sudo dnf remove paqueteLo quita, junto con las dependencias que queden sin uso.
sudo dnf autoremoveQuita las dependencias huérfanas que hubieran quedado.
dnf list --installedLista lo instalado.
dnf provides '*/bin/htop'Dice qué paquete contiene un archivo, esté instalado o no.
sudo dnf clean allVacía la caché.

dnf check-update tiene un detalle útil para lo aprendido en el tema 25: su código de salida es 0 si no hay nada que actualizar y 100 si lo hay. No es un error; es la manera de que un script pueda preguntar «¿hay actualizaciones?». Y dnf provides resuelve con un solo comando lo que en Ubuntu pedía instalar apt-file: ante un command not found, dice qué paquete hay que instalar.

4. rpm: consultar lo instalado

El nombre de un paquete .rpm tiene las mismas piezas que el de un .deb, con otros separadores:

anatomía del nombre de un paquete rpm
mc-4.8.33-1.fc42.x86_64.rpm
 │    │   │  │     │
 │    │   │  │     └─ la arquitectura: x86_64 es lo que Debian llama amd64; «noarch», cualquiera
 │    │   │  └─ la distribución: Fedora 42. En RHEL y derivadas, «el9», «el10»
 │    │   └─ la revisión del paquete
 │    └─ la versión del programa
 └─ el nombre

rpm cumple el papel de dpkg: instala archivos sueltos sin resolver dependencias, y sobre todo consulta la base de datos de lo instalado. Todas sus consultas empiezan con -q, de query, seguida de una letra que indica qué se pregunta.

terminal, en Fedora
$ rpm -q mc                             # ¿está instalado?
mc-4.8.33-1.fc42.x86_64
$ rpm -q ncdu
package ncdu is not installed
$ rpm -qa | wc -l                       # todos los instalados
1912
$ rpm -ql mc | grep /bin/               # los archivos de un paquete
/usr/bin/mc
/usr/bin/mcdiff
/usr/bin/mcedit
/usr/bin/mcview
$ rpm -qf /usr/bin/sort                 # el paquete de un archivo
coreutils-9.6-2.fc42.x86_64
PreguntadpkgrpmLa letra
¿Está instalado este paquete?dpkg -l paqueterpm -q paquete
¿Qué paquetes hay instalados?dpkg -lrpm -qaall
¿Cuál es su ficha?dpkg -s paqueterpm -qi paqueteinfo
¿Qué archivos instaló?dpkg -L paqueterpm -ql paquetelist
¿Cuáles de ellos son de configuración?—rpm -qc paqueteconfig
¿Qué paquete instaló este archivo?dpkg -S archivorpm -qf archivofile
¿Qué contiene este archivo de paquete?dpkg -c archivo.debrpm -qpl archivo.rpmpackage
¿Qué cambió en el disco respecto de lo instalado?—rpm -V paqueteverify

La p se agrega a cualquier consulta para dirigirla a un archivo .rpm en lugar de a la base de datos: rpm -qpi archivo.rpm muestra la ficha de un paquete descargado, antes de instalarlo. Y la última fila es una función que dpkg no ofrece de manera tan directa: rpm -V compara cada archivo del paquete con lo que se instaló, y señala los que fueron modificados o borrados. Si no escribe nada, todo está como llegó.

Para instalar, la recomendación es la del tema anterior: sudo dnf install ./archivo.rpm, y no rpm -i, que falla si falta una dependencia.

5. Repositorios e historial en dnf

Los repositorios se configuran en /etc/yum.repos.d/, con un archivo .repo por cada uno; el nombre del directorio recuerda al antecesor. dnf repolist los enumera:

terminal, en Fedora
$ dnf repolist
repo id                 repo name
fedora                  Fedora 42 - x86_64
fedora-cisco-openh264   Fedora 42 openh264 (From Cisco) - x86_64
updates                 Fedora 42 - x86_64 - Updates
$ ls /etc/yum.repos.d/
fedora-cisco-openh264.repo  fedora.repo  fedora-updates.repo  fedora-updates-testing.repo

El reparto es el de Ubuntu con otros nombres: fedora es la versión tal como se publicó, y updates, las correcciones. Los repositorios adicionales más conocidos de la familia:

RepositorioParaContiene
RPM FusionFedoraLo que Fedora no incluye por licencias o patentes: códecs multimedia, controladores de video.
EPELRHEL, Rocky, AlmaLinuxMiles de paquetes de Fedora preparados para las distribuciones empresariales, que traen muy pocos. Sin EPEL, en un servidor Rocky no hay ni htop.
COPRFedoraRepositorios personales, el equivalente de los PPA de Ubuntu. Se agregan con dnf copr enable usuario/proyecto, y vale para ellos la misma advertencia sobre la confianza.

Donde dnf aventaja con claridad a apt es en el historial. No hay que leer un archivo de registro: hay un subcomando, y las operaciones se pueden deshacer.

terminal, en Fedora
$ dnf history
ID  Command line          Date and time        Action(s)   Altered
 27 dnf install mc        2026-10-12 22:44     Install           2
 26 dnf upgrade           2026-10-11 09:12     Upgrade          64
 25 dnf remove gimp       2026-10-08 18:30     Removed           9
$ dnf history info 27               # el detalle: qué paquetes, quién lo pidió
$ sudo dnf history undo 27          # deshace esa operación: quita mc y gpm-libs

dnf history undo hace la operación inversa de una transacción: desinstala lo que instaló, reinstala lo que quitó. Es la respuesta directa a «instalé algo y trajo veinte paquetes que no quiero».

6. pacman: Arch y sus derivadas

pacman rompe con el estilo de los anteriores. No tiene subcomandos con palabras, sino operaciones de una letra mayúscula, a las que se agregan letras minúsculas que las modifican. Es más críptico al principio, y muy breve una vez aprendido.

anatomía de un comando de pacman
sudo pacman -Syu
             │││
             ││└─ u: actualizar los paquetes instalados (upgrade)
             │└─ y: renovar antes la lista de paquetes
             └─ S: la operación. «Sync», trabajar con los repositorios
OperaciónNombreTrabaja conSe usa para
-SSyncLos repositoriosInstalar, buscar, actualizar.
-QQueryLa base de datos de lo instaladoConsultar. Es el dpkg -l de Arch.
-RRemoveLo instaladoDesinstalar.
-UUpgradeUn archivo de paqueteInstalar un paquete del disco.
-FFilesEl índice de archivos de los repositoriosSaber qué paquete trae un archivo.

Las minúsculas tienen un significado bastante constante de una operación a otra, y eso es lo que hace memorizable el sistema: s busca, i informa, l lista archivos. -Ss busca en los repositorios y -Qs busca entre lo instalado; -Si da la ficha de un paquete disponible y -Qi la de uno instalado.

terminal, en Arch
$ pacman -Ss '^mc$'
extra/mc 4.8.33-1
    A file manager that emulates Norton Commander
$ sudo pacman -S mc
resolving dependencies...
looking for conflicting packages...

Packages (2) libssh2-1.11.1-1  mc-4.8.33-1

Total Download Size:   2.05 MiB
Total Installed Size:  8.31 MiB

:: Proceed with installation? [Y/n] 
$ pacman -Q mc
mc 4.8.33-1
$ pacman -Qo /usr/bin/sort
/usr/bin/sort is owned by coreutils 9.7-1

La salida de -Ss antepone el repositorio al nombre: extra/mc. Arch tiene dos repositorios principales, core, con la base del sistema, y extra, con todo lo demás; se configuran en /etc/pacman.conf, y los servidores desde los que se descargan, en /etc/pacman.d/mirrorlist.

Se escribeQué hace
sudo pacman -SyuRenueva la lista y actualiza todo el sistema. Es el comando de Arch.
sudo pacman -S paqueteInstala un paquete y sus dependencias.
pacman -Ss textoBusca en los repositorios.
pacman -Si paqueteLa ficha de un paquete disponible.
pacman -QLista lo instalado. -Qe, solo lo pedido expresamente; -Qdt, las dependencias huérfanas.
pacman -Qi paqueteLa ficha de un paquete instalado.
pacman -Ql paqueteLos archivos que instaló.
pacman -Qo archivoEl paquete dueño de un archivo.
sudo pacman -R paqueteQuita solo ese paquete.
sudo pacman -Rs paqueteLo quita con las dependencias que queden sin uso.
sudo pacman -Rns paqueteAdemás, sin dejar copias de su configuración. Es la forma habitual de desinstalar.
sudo pacman -U archivo.pkg.tar.zstInstala un paquete del disco.
sudo pacman -ScBorra de la caché los paquetes que ya no están instalados.

Sin la n, pacman -R conserva los archivos de configuración modificados, con extensión .pacsave. Y en las actualizaciones, cuando un paquete trae una versión nueva de un archivo de configuración que cambiaste, la deja al lado como .pacnew para que la compares con diff: es la misma política de las tres familias, con tres extensiones distintas. El registro de todo lo hecho está en /var/log/pacman.log.

7. Actualización continua y AUR

Arch se diferencia de Ubuntu y de Fedora en algo más profundo que su gestor: no tiene versiones.

Una distribución de versiones fijas publica cada cierto tiempo una versión, congela en ella las versiones de sus programas y durante su vida útil solo les aplica correcciones. Una de actualización continua, o rolling release, no tiene versiones: cada programa se actualiza a la última en cuanto está lista, y el sistema se mantiene al día con un solo comando, indefinidamente.

Versiones fijasActualización continua
EjemplosDebian, Ubuntu, Fedora, RHELArch, openSUSE Tumbleweed
Versiones de los programasLas del día de la publicación, con correccionesSiempre las últimas
Una actualización traeCambios pequeños y previsiblesA veces, cambios grandes
Cambio de versiónUna operación aparte, cada seis meses o cada varios añosNo existe
Conviene paraServidores, y equipos que deben seguir igualQuien quiere lo último y acepta atender el sistema
En Arch no se instala sobre un sistema a medio actualizar

La tentación, viniendo de apt, es escribir pacman -Sy paquete: «renovar la lista e instalar», el equivalente de apt update seguido de apt install. En una distribución de actualización continua eso es peligroso. El paquete nuevo llega en su última versión, hecha para las últimas versiones de las bibliotecas; el resto del sistema sigue con las viejas, y algo deja de funcionar. La regla es no usar -Sy solo: o se instala sin renovar, pacman -S paquete, o se actualiza todo junto, pacman -Syu paquete.

La otra pieza característica es el AUR, Arch User Repository. No es un repositorio de paquetes: es una colección, mantenida por los usuarios, de recetas para construir paquetes. Cada receta es un script que descarga el programa de su origen, lo compila y arma un paquete que luego pacman instala. Así hay disponible prácticamente cualquier programa que exista para Linux. Se usa a través de programas auxiliares, como yay o paru, que aceptan las mismas letras que pacman. Y pide más cuidado que un PPA: nadie revisa esas recetas antes de publicarlas, de modo que quien instala del AUR es quien debe leer el script primero.

8. La tabla de equivalencias

Todo lo anterior, reunido. Es la tabla para tener a mano cuando un tutorial habla en otro dialecto.

TareaDebian, UbuntuFedora, RHELArch
Renovar la lista de paquetesapt updateautomático; dnf check-updatepacman -Sy, nunca solo
Actualizar todo el sistemaapt upgradednf upgradepacman -Syu
Buscar un paqueteapt searchdnf searchpacman -Ss
Ver la ficha de un paqueteapt showdnf infopacman -Si
Instalarapt installdnf installpacman -S
Instalar un archivo de paqueteapt install ./x.debdnf install ./x.rpmpacman -U x.pkg.tar.zst
Quitarapt removednf removepacman -R
Quitar, con sus dependenciasapt remove --autoremovednf removepacman -Rs
Quitar, con su configuraciónapt purge—pacman -Rns
Quitar dependencias huérfanasapt autoremovednf autoremovepacman -Rns $(pacman -Qdtq)
Listar lo instaladodpkg -lrpm -qapacman -Q
Listar lo que yo pedíapt-mark showmanualdnf repoquery --userinstalledpacman -Qe
Archivos de un paquetedpkg -Lrpm -qlpacman -Ql
Paquete dueño de un archivodpkg -Srpm -qfpacman -Qo
Paquete que trae un archivo que no tengoapt-file searchdnf providespacman -F
Vaciar la cachéapt cleandnf clean allpacman -Sc
Historial de operaciones/var/log/apt/history.logdnf history/var/log/pacman.log
Configuración de repositorios/etc/apt/sources.list.d//etc/yum.repos.d//etc/pacman.conf
Repositorios de la comunidadPPACOPRAUR
Respuesta por defecto al confirmarSíNoSí

La traducción de los comandos es casi mecánica. La de los nombres de los paquetes, no: cada distribución bautiza los suyos. El servidor web Apache es apache2 en Debian, httpd en Fedora y apache en Arch; los archivos para compilar contra una biblioteca terminan en -dev en Debian y en -devel en Fedora. Cuando un tutorial dice apt install libssl-dev y estás en Fedora, traducir apt por dnf no alcanza: hay que buscar el nombre, con dnf search openssl.

Las dos familias que quedan siguen el estilo de subcomandos, y se leen sin esfuerzo:

TareaopenSUSE: zypperAlpine: apk
Renovar la listazypper refreshapk update
Actualizar todozypper update; en Tumbleweed, zypper dupapk upgrade
Buscarzypper searchapk search
Instalarzypper installapk add
Quitarzypper removeapk del

apk merece recordarse por una razón práctica: Alpine es la base de muchísimas imágenes de contenedores, y es probable que el primer apk add que encuentres esté dentro de un archivo de Docker.

9. Los formatos universales

El modelo del paquete tradicional tiene dos límites, que el tema anterior dejó planteados. Quien publica un programa debe preparar un paquete por cada familia, y a veces por cada versión de cada distribución. Y el usuario de una distribución de versiones fijas se queda con la versión del programa que había cuando se publicó la suya. Los formatos universales atacan los dos problemas a la vez.

Un paquete universal contiene la aplicación junto con las bibliotecas que necesita, de modo que el mismo paquete funciona en cualquier distribución. Lo publica directamente quien desarrolla el programa, se ejecuta aislado del resto del sistema, y se actualiza por su cuenta, con independencia de la versión de la distribución.

A la izquierda, dos aplicaciones tradicionales que comparten las bibliotecas del sistema. A la derecha, dos aplicaciones universales, cada una con sus propias bibliotecas dentro del paquete, apoyadas solo en el kernel Paquete tradicional Aplicación A Aplicación B Bibliotecas del sistema una copia, compartida por todas Paquete universal Aplicación C sus bibliotecas Aplicación D sus bibliotecas cada paquete trae las suyas
El paquete tradicional depende de lo que la distribución tenga instalado. El universal lleva consigo lo que necesita, y por eso no le importa en qué distribución está.
Paquete tradicionalPaquete universal
Funciona enUna distribución, y a veces una sola versiónCualquiera
Lo preparaLa distribuciónPor lo general, quien hace el programa
Versión del programaLa que empaquetó la distribuciónLa última publicada
BibliotecasCompartidasIncluidas en el paquete
TamañoPequeñoGrande: decenas o cientos de megabytes
ArranqueInmediatoAlgo más lento, sobre todo la primera vez
AislamientoNinguno: el programa ve todo lo que ve el usuarioSe ejecuta confinado, con permisos declarados
Corrección de una bibliotecaUna actualización las arregla todasCada paquete debe publicar la suya

La última fila es el precio. Las ventajas del tema 35 sobre las bibliotecas compartidas se pierden, y a cambio se gana independencia. Por eso los dos modelos conviven en lugar de reemplazarse: el sistema base y las herramientas de la terminal siguen llegando como paquetes de la distribución, y las aplicaciones grandes de escritorio —navegadores, editores, programas de mensajería— tienden a llegar en formato universal.

Hay tres formatos, con filosofías distintas:

snapflatpakAppImage
Lo impulsaCanonical, la empresa de UbuntuLa comunidad, con apoyo de Red Hat y GNOMELa comunidad
TiendaUna sola: Snap StoreVarias posibles; en la práctica, FlathubNo hay: se descarga de cada sitio
Viene instalado enUbuntuFedora, Linux Mint, Pop!_OSNo requiere instalación
Sirve paraAplicaciones de escritorio, de terminal y serviciosAplicaciones de escritorioAplicaciones de escritorio
Se actualizaSolo, sin intervenciónCon un comando, o desde la tiendaA mano: se descarga de nuevo
Necesita sudoSíNo, si se instala para el usuarioNo

10. snap

En Ubuntu, snap viene instalado y ya tiene trabajo: varias aplicaciones del sistema llegan en ese formato. Lo comprobamos con el caso que dejamos pendiente en el tema anterior.

terminal, en Ubuntu
$ dpkg -l firefox | tail -n 1
ii  firefox        1:1snap1-0ubuntu5 amd64        Transitional package - firefox -> firefox snap
$ snap list
Name                       Version          Rev    Tracking         Publisher   Notes
bare                       1.0              5      latest/stable    canonical✓  base
core22                     20250923         2139   latest/stable    canonical✓  base
firefox                    143.0.4-1        7024   latest/stable/…  mozilla✓    -
gnome-42-2204              0+git.38ea591    202    latest/stable/…  canonical✓  -
gtk-common-themes          0.1-81-g442e511  1535   latest/stable/…  canonical✓  -
snap-store                 0+git.90575829   1270   2/stable/…       canonical✓  -
snapd                      2.71             25202  latest/stable    canonical✓  snapd

El paquete .deb llamado firefox existe, pero es «de transición»: no contiene el navegador, sino un encargo de instalar el snap. Y el snap lo publica Mozilla, no Ubuntu: la marca junto al nombre indica un editor verificado.

ColumnaContiene
NameEl nombre del snap.
VersionLa versión del programa, con el formato que elija su autor.
RevLa revisión: un número que la tienda asigna a cada publicación. Es lo que identifica de verdad qué está instalado.
TrackingEl canal del que se reciben las actualizaciones.
PublisherQuién lo publica.
NotesSu tipo o su confinamiento: base, classic, snapd.

Los snaps marcados como base no son aplicaciones: son el sistema mínimo sobre el que corren las demás, la parte compartida que evita que cada snap traiga absolutamente todo. snapd es el servicio que administra el conjunto.

Buscar, instalar y quitar

Los subcomandos siguen el estilo conocido. Para practicar usamos hello-world, un snap diminuto que Canonical mantiene para pruebas:

terminal
$ snap find hello-world | head -n 3
Name               Version  Publisher    Notes  Summary
hello-world        6.4      canonical✓   -      The 'hello-world' of snaps
hello-world-gui    0.1      snapcrafters -      A simple GUI hello world
$ sudo snap install hello-world
hello-world 6.4 from Canonical✓ installed
$ hello-world
Hello World!
$ type hello-world
hello-world is /snap/bin/hello-world

No hubo lista de dependencias ni pregunta: un snap se basta a sí mismo. Y la última línea explica un detalle del tema 34: aquel /snap/bin que aparecía al final de PATH es el directorio donde snapd publica los comandos de los snaps instalados.

Se escribeQué hace
snap find textoBusca en la tienda.
snap info nombreLa ficha: descripción, editor, canales y versiones disponibles.
snap listLista los instalados.
sudo snap install nombreInstala.
sudo snap refreshActualiza todos ahora. Con un nombre, solo ese.
snap refresh --listMuestra qué se actualizaría.
sudo snap revert nombreVuelve a la revisión anterior.
sudo snap remove nombreQuita el snap, guardando una copia de sus datos.
sudo snap remove --purge nombreLo quita sin guardar nada.
snap changesEl historial reciente de operaciones.

Actualizaciones automáticas, canales y vuelta atrás

La diferencia de conducta más notable con apt es que los snaps se actualizan solos. snapd consulta la tienda varias veces al día e instala las revisiones nuevas sin preguntar. snap refresh existe para adelantar ese momento, no porque haga falta. Quien necesite controlar cuándo ocurre puede posponerlo, con sudo snap refresh --hold=72h, o retener un snap en particular.

Como contrapartida, snapd conserva la revisión anterior de cada snap, y con snap revert se vuelve a ella en segundos: es la red de seguridad para cuando una actualización automática rompe algo.

Cada snap se publica en varios canales, que indican cuán probada está la versión:

terminal
$ snap info firefox | grep -A 5 '^channels'
channels:
  latest/stable:    143.0.4-1  2026-10-07 (7024) 251MB -
  latest/candidate: 144.0-2    2026-10-09 (7061) 252MB -
  latest/beta:      145.0b3-1  2026-10-11 (7077) 254MB -
  latest/edge:      146.0a1    2026-10-12 (7084) 258MB -
  esr/stable:       140.4.0esr 2026-10-07 (7019) 247MB -
NivelContiene
stableLa versión publicada para todos. Es la que se instala si no se indica otra cosa.
candidateLa próxima versión estable, en su prueba final.
betaUna versión en pruebas.
edgeLo último que salió del desarrollo, sin garantías.

Delante del nivel va la pista, track: latest es la línea principal, y un programa puede ofrecer otras para sus versiones de soporte prolongado, como el esr de Firefox. Se elige al instalar, sudo snap install firefox --channel=esr/stable, o se cambia después, con sudo snap refresh firefox --channel=…. Es la solución a un problema que con apt pedía agregar un PPA: tener una versión distinta de la que ofrece la distribución.

Confinamiento

El confinamiento es el aislamiento con que se ejecuta un snap: el programa no ve el sistema entero, sino una versión restringida, y solo accede a los recursos —la red, la cámara, tus archivos— para los que tiene declarada y concedida una interfaz.

ConfinamientoEl programa puedeSe instala con
strictSolo lo que le permiten sus interfaces. Es el modo normal.snap install nombre
classicTodo lo que podría un programa tradicional: no hay aislamiento.snap install nombre --classic
devmodeTodo, registrando lo que el modo estricto le habría negado. Para quien desarrolla el snap.--devmode

El modo classic existe porque algunos programas necesitan, por su naturaleza, acceso a todo el sistema: los editores de código, los compiladores, las herramientas de administración. La tienda los revisa antes de admitirlos, y snap obliga a pedirlo expresamente: sin la opción --classic, la instalación se niega con un mensaje que explica por qué. Las interfaces de un snap estricto se consultan con snap connections nombre.

Dónde queda todo

RutaContiene
/var/lib/snapd/snaps/Los paquetes: un archivo .snap por cada revisión instalada.
/snap/nombre/revisión/El contenido de cada snap, montado y de solo lectura. /snap/nombre/current es un enlace a la revisión en uso.
/snap/bin/Los comandos que publican los snaps.
~/snap/nombre/Los datos y la configuración de cada snap para tu usuario.

La palabra «montado» tiene una consecuencia visible. Un snap no se desempaqueta en el disco: su archivo se monta como si fuera un pequeño disco de solo lectura, y por eso cada snap instalado aparece como un dispositivo loop en la salida de df, lsblk y mount. Son esas líneas, que no corresponden a ningún disco real, las que aprenderemos a filtrar en el tema 38.

La última fila explica por qué un programa instalado como snap parece «no ver» algunos archivos: confinado, trabaja en su propio directorio dentro de ~/snap, y solo llega a tu directorio personal si tiene la interfaz correspondiente; a los archivos ocultos y a otros discos, a veces ni así.

11. flatpak

flatpak persigue lo mismo que snap, con otras decisiones. Se ocupa solo de aplicaciones gráficas; no depende de una tienda única, aunque en la práctica casi todo está en una, Flathub; y puede instalar para un solo usuario, sin privilegios. Viene de fábrica en Fedora y en Linux Mint. En Ubuntu hay que instalarlo, y decirle de dónde descargar:

terminal, en Ubuntu
$ sudo apt install flatpak
$ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
$ flatpak remotes
Name    Options
flathub system

Un remoto es, en el vocabulario de flatpak, lo que venimos llamando repositorio. Después de agregar el primero conviene cerrar la sesión y volver a entrar, para que las aplicaciones aparezcan en el menú del escritorio.

Las aplicaciones no se identifican por un nombre corto sino por un identificador con forma de dominio de Internet escrito al revés, que garantiza que no haya dos iguales:

anatomía de un identificador de flatpak
org.gnome.Calculator
 │    │       │
 │    │       └─ el nombre de la aplicación
 │    └─ quien la desarrolla: el proyecto GNOME
 └─ su dominio, invertido: gnome.org
terminal
$ flatpak search calculator | head -n 3
Name          Description                        Application ID          Version  Branch  Remotes
Calculator    Perform arithmetic, scientific…    org.gnome.Calculator    48.1     stable  flathub
Qalculate!    Powerful and easy to use…          io.github.Qalculate     5.5.2    stable  flathub
$ flatpak install flathub org.gnome.Calculator
Looking for matches…
Required runtime for org.gnome.Calculator/x86_64/stable (runtime/org.gnome.Platform/x86_64/48) found in remote flathub
Do you want to install it? [Y/n]: y

        ID                                     Branch    Op   Remote    Download
 1.     org.freedesktop.Platform.GL.default    24.08     i    flathub   < 156.2 MB
 2.     org.gnome.Platform                     48        i    flathub   < 380.5 MB
 3.     org.gnome.Calculator                   stable    i    flathub   <   3.4 MB

Proceed with these changes to the system installation? [Y/n]: 

Una calculadora de tres megabytes pide descargar más de quinientos. La explicación está en las dos primeras líneas de la lista.

Un runtime es un conjunto de bibliotecas que varias aplicaciones flatpak comparten: una plataforma común sobre la que se apoyan, que se instala una vez y se actualiza por separado.

Es el término medio entre los dos modelos de la figura de la sección 9. La primera aplicación de GNOME arrastra su plataforma entera; la segunda, la tercera y la décima ya la encuentran instalada, y pesan lo que pesa la aplicación sola. El costo se paga una vez, pero se paga: es habitual que flatpak ocupe varios gigabytes con pocas aplicaciones, sobre todo si usan plataformas distintas.

Instalada, la aplicación se abre desde el menú, o desde la terminal con su identificador:

terminal
$ flatpak run org.gnome.Calculator &
$ flatpak list --app
Name          Application ID          Version  Branch  Installation
Calculator    org.gnome.Calculator    48.1     stable  system
$ flatpak list --runtime | wc -l
3

El & lanza la aplicación en segundo plano, como vimos en el tema 33, para no perder la terminal. A diferencia de snap, flatpak no agrega un comando corto a PATH: la forma de ejecutar es flatpak run con el identificador completo, y quien use mucho una aplicación desde la terminal puede crearle un alias.

Se escribeQué hace
flatpak search textoBusca en los remotos.
flatpak install flathub identificadorInstala una aplicación y los runtimes que necesite.
flatpak run identificadorLa ejecuta.
flatpak list --appLista las aplicaciones; sin la opción, también los runtimes.
flatpak info identificadorLa ficha de una aplicación instalada.
flatpak updateActualiza aplicaciones y runtimes.
flatpak uninstall identificadorQuita una aplicación.
flatpak uninstall --unusedQuita los runtimes que ya no usa ninguna aplicación. Es su autoremove.
flatpak uninstall --delete-data identificadorLa quita, borrando también sus datos.

Las actualizaciones no son automáticas desde la terminal: hay que ejecutar flatpak update, o dejar que lo haga la tienda gráfica del escritorio, que suele encargarse. Y como los runtimes quedan instalados cuando se quita la última aplicación que los usaba, flatpak uninstall --unused es el comando que recupera el espacio.

Para el sistema o para el usuario

Instalación de sistemaInstalación de usuario
Se pide conEs la opción por defecto--user en cada comando
Queda en/var/lib/flatpak~/.local/share/flatpak
La pueden usarTodos los usuariosSolo quien la instaló
Requiere privilegiosSí: pide la contraseña en una ventanaNo

La segunda columna es una posibilidad que ningún gestor de los anteriores ofrece: instalar una aplicación en una máquina donde no se tiene sudo. Los dos tipos de instalación son independientes, y el remoto también debe agregarse con --user para usar el segundo.

Permisos

Cada aplicación flatpak corre en un entorno aislado, y declara qué necesita de afuera. Se puede leer antes de confiar en ella:

terminal
$ flatpak info --show-permissions org.gnome.Calculator
[Context]
shared=network;ipc;
sockets=wayland;fallback-x11;
devices=dri;

Esta calculadora pide red, para las cotizaciones de monedas, pantalla y aceleración gráfica; no pide acceso a ningún archivo. Una línea filesystems=home significaría que puede leer y escribir todo tu directorio personal, y filesystems=host, casi todo el sistema: con permisos así, el aislamiento es más nominal que real, y conviene saberlo. Los permisos se pueden recortar o ampliar con flatpak override, o con la aplicación gráfica Flatseal. Los datos de cada aplicación quedan en ~/.var/app/identificador/.

12. AppImage

El tercer formato es el más simple de explicar: una AppImage es un archivo que es el programa. No hay gestor, ni tienda, ni instalación. Se descarga del sitio de quien lo hace, se le da permiso de ejecución y se lo ejecuta, con lo aprendido en el tema 18:

terminal
$ cd ~/Descargas
$ ls -l *.AppImage
-rw-rw-r-- 1 ana ana 98566328 oct 12 23:40 Programa-2.4.1-x86_64.AppImage
$ chmod +x Programa-2.4.1-x86_64.AppImage
$ ./Programa-2.4.1-x86_64.AppImage

Descargado del navegador, el archivo llega sin permiso de ejecución, por la umask que vimos entonces; de ahí el chmod. El ./ es el de siempre: el directorio actual no está en PATH.

A favorEn contra
No requiere instalar nada, ni privilegios.No se actualiza: hay que descargar cada versión nueva.
Se puede llevar en un pendrive, y tener varias versiones a la vez.No aparece en el menú del escritorio, salvo que se lo agregue a mano.
Desinstalar es borrar el archivo.No tiene aislamiento: corre con todos tus permisos.
No deja nada en el sistema.Nadie lo verificó: la confianza depende entera del sitio de descarga.

Para quien use varias, el lugar natural es el ~/bin del tema 34, que ya está en PATH. Y en Ubuntu 24.04 muchas AppImage se niegan a arrancar con un error que menciona libfuse.so.2: les falta una biblioteca que la distribución ya no instala por defecto, y que se agrega con sudo apt install libfuse2t64.

13. De dónde instalar: un orden de preferencia

Con tantos caminos, la pregunta práctica es cuál tomar cuando un programa se ofrece por varios. No hay una regla única, pero sí un orden razonable, que va de lo más integrado y verificado a lo menos.

  1. El repositorio de tu distribución. Si la versión que trae alcanza, es la opción: verificado, integrado, actualizado con el resto. apt, dnf, pacman
  2. Un paquete universal de la tienda, cuando hace falta una versión más nueva o el programa no está en la distribución. Mejor si el editor está verificado. snap, flatpak
  3. El repositorio o el paquete oficial de quien hace el programa, desde su propio sitio. .deb, .rpm, AppImage
  4. Un repositorio de la comunidad, sabiendo de quién es. PPA, COPR, AUR
  5. Un script de instalación descargado, solo si no hay otra manera, y después de leerlo. último recurso
No se ejecuta como root un script que no se leyó

Muchos programas se instalan, según su página, con una sola línea: curl -fsSL https://ejemplo.com/install.sh | sudo bash. Con lo aprendido en el bloque 5 se lee sin dificultad: descargar un archivo de Internet y entregárselo, por una tubería, a una shell con privilegios de administrador. Lo que haga ese script, lo hará con todo el poder sobre el sistema, sin dejar registro en ningún gestor de paquetes y sin manera limpia de desinstalarlo. Cuando no hay alternativa, se descarga primero a un archivo, se lo lee con less, y recién entonces se lo ejecuta.

Una clase aparte son los gestores de paquetes de los lenguajes de programación: pip para Python, npm para JavaScript, cargo para Rust, gem para Ruby. Instalan bibliotecas y herramientas de su lenguaje, y son asunto de los cursos de cada uno. Aquí interesa una sola regla, porque es fuente de sistemas rotos: no se usan con sudo. Instalar con sudo pip escribe en los mismos directorios que administra el gestor de la distribución, y pisa archivos de paquetes de los que dependen herramientas del sistema. Las distribuciones actuales lo impiden:

terminal, en Ubuntu
$ pip install requests
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.
…

El mensaje indica las salidas correctas: instalar la biblioteca como paquete de la distribución, sudo apt install python3-requests; o trabajar en un entorno virtual, que es una instalación de Python privada de un proyecto; o, si lo que se quiere es un programa y no una biblioteca, usar pipx. La que no hay que tomar es la opción que el mismo mensaje menciona al final para forzar la instalación.

Y queda, fuera de toda lista, el método original: descargar el código fuente y compilarlo. Lo que se instala así va a /usr/local, el directorio que el tema 8 reservó para lo que el gestor de paquetes no administra, justamente para que una cosa no pise la otra.

14. Recetas y errores comunes

Quiero…Comando
Saber qué distribución es estagrep -E '^(PRETTY_NAME|ID|ID_LIKE)=' /etc/os-release
Saber qué gestores de paquetes haytype apt dnf pacman zypper apk snap flatpak 2> /dev/null
Actualizar un sistema Fedora o Rockysudo dnf upgrade
Actualizar un sistema Archsudo pacman -Syu
En Fedora, saber qué paquete trae un comandodnf provides '*/bin/comando'
En Fedora, deshacer la última instalacióndnf history, y sudo dnf history undo N
En Arch, listar los paquetes huérfanospacman -Qdt
Ver qué snaps tengosnap list
Ver qué versiones ofrece un snapsnap info nombre
Volver a la versión anterior de un snapsudo snap revert nombre
Posponer las actualizaciones automáticas de snapsudo snap refresh --hold=72h
Ver qué permisos pide un flatpakflatpak info --show-permissions identificador
Actualizar los flatpakflatpak update
Recuperar el espacio de runtimes sin usoflatpak uninstall --unused
Saber cómo llegó un programa a mi sistematype -a programa; después dpkg -S, snap list, flatpak list
Ejecutar una AppImagechmod +x archivo.AppImage, y ./archivo.AppImage
SíntomaCausaSolución
apt: command not found, o dnf, o pacman.El tutorial es para otra familia de distribuciones.Identificar la propia con /etc/os-release y traducir con la tabla de la sección 8.
Traduje el comando y el paquete «no existe».El paquete tiene otro nombre en esta distribución.Buscarlo: apt search, dnf search, pacman -Ss.
Descargué un .rpm y Ubuntu no lo instala.Es el formato de otra familia.Descargar el .deb, o buscar el programa como snap o flatpak.
En Fedora, pulsé Enter en la confirmación y no se instaló nada.La respuesta por defecto de dnf es «no».Escribir y.
Escribí sudo dnf update para renovar la lista, y actualizó todo.En dnf, update es sinónimo de upgrade.Para solo consultar, dnf check-update.
En Arch, un programa recién instalado falla por una biblioteca que no encuentra.Se instaló con -Sy sobre un sistema sin actualizar.sudo pacman -Syu
snap install responde que el snap was published using classic confinement.El programa necesita acceso completo al sistema, y hay que aceptarlo expresamente.Repetir con --classic, si se confía en el editor.
Un programa instalado como snap no ve mis archivos, o un disco externo.El confinamiento: le falta la interfaz.snap connections nombre; conectarla con sudo snap connect.
Un snap se actualizó solo y ahora falla.Las actualizaciones son automáticas.sudo snap revert nombre
df y lsblk muestran muchos dispositivos loop.Cada snap instalado es un archivo montado.Es lo normal. Tema 38.
Tengo el mismo programa dos veces en el menú.Está instalado por dos vías: paquete de la distribución y snap o flatpak.Decidir cuál queda, y quitar el otro con su propio gestor.
flatpak install dice No remote refs found.No hay ningún remoto configurado, o el identificador está mal.flatpak remotes; agregar Flathub; flatpak search.
La aplicación flatpak recién instalada no aparece en el menú.El escritorio todavía no leyó la lista nueva.Cerrar la sesión y volver a entrar.
Instalar una aplicación pequeña descarga cientos de megabytes.Es la primera que usa ese runtime.Es lo esperado; las siguientes lo comparten.
Una AppImage no arranca, y menciona libfuse.so.2.Falta una biblioteca que el formato necesita.sudo apt install libfuse2t64
pip install responde externally-managed-environment.La distribución protege su Python.sudo apt install python3-nombre, un entorno virtual, o pipx.

La referencia del tema:

Se escribeQué hace
cat /etc/os-releaseIdentifica la distribución y su familia.
sudo dnf upgradeFedora, RHEL: actualiza el sistema.
sudo dnf install, removeInstala; quita.
dnf search, info, providesBusca; describe; dice qué paquete trae un archivo.
dnf history, history undo NLista las operaciones; deshace una.
rpm -qa, -qi, -ql, -qfLista paquetes; ficha; archivos de un paquete; paquete de un archivo.
sudo pacman -SyuArch: actualiza el sistema.
sudo pacman -S, -RnsInstala; quita con dependencias y configuración.
pacman -Ss, -Si, -Q, -Ql, -QoBusca; describe; lista instalados; archivos; dueño de un archivo.
snap list, find, infoLista los snaps instalados; busca; describe.
sudo snap install, remove, refresh, revertInstala; quita; actualiza; vuelve a la revisión anterior.
flatpak install flathub IDInstala una aplicación flatpak.
flatpak run ID, list, update, uninstallEjecuta; lista; actualiza; quita.
chmod +x x.AppImage; ./x.AppImageHabilita y ejecuta una AppImage.

Si instalaste hello-world y la calculadora para practicar, puedes quitarlos con sudo snap remove hello-world y flatpak uninstall org.gnome.Calculator, seguido de flatpak uninstall --unused. Con esto sabemos poner programas en el sistema y sacarlos, en cualquier distribución. Lo que sigue del bloque es mirar el sistema mismo. En el tema 37 le preguntamos qué kernel ejecuta, cuánto hace que está encendido, cuánta memoria tiene libre y qué procesador lleva, con uname, uptime, free y lscpu.

15. Resumen

16. Preguntas de repaso

Intenta responder cada una antes de abrir la respuesta.

1. ¿Por qué un paquete .rpm no se instala en Ubuntu, si el programa que contiene es el mismo?

Porque el paquete nombra sus dependencias con los nombres que tienen en su distribución y espera las versiones de las bibliotecas que esa distribución trae. Además, el gestor de Ubuntu trabaja con otro formato, .deb.

2. Entras por ssh a un servidor desconocido. ¿Cómo averiguas qué distribución es y qué gestor de paquetes usar?

Con cat /etc/os-release: ID dice la distribución e ID_LIKE la familia. También se puede preguntar qué gestores existen, con type apt dnf pacman.

3. ¿Qué hace sudo dnf update? ¿En qué se diferencia de sudo apt update?

dnf update es sinónimo de dnf upgrade: actualiza todos los paquetes del sistema. apt update solo renueva la lista de paquetes disponibles, sin instalar nada.

4. En Fedora, dnf pregunta Is this ok [y/N]: y pulsas Enter. ¿Qué ocurre?

Se cancela la operación, porque la respuesta por defecto es N. Para aceptar hay que escribir y.

5. ¿Cuál es el equivalente con rpm de dpkg -L paquete y de dpkg -S archivo?

rpm -ql paquete y rpm -qf archivo.

6. ¿Qué permite dnf history undo?

Deshacer una operación anterior completa: desinstala los paquetes que esa operación instaló, incluidas sus dependencias, o reinstala los que quitó.

7. Descompón pacman -Syu: ¿qué significa cada letra?

S es la operación de trabajar con los repositorios; y, renovar la lista de paquetes; u, actualizar los paquetes instalados. En conjunto: actualizar todo el sistema.

8. ¿Qué diferencia hay entre pacman -Ss texto y pacman -Qs texto?

La primera busca en los repositorios, entre todo lo disponible. La segunda busca entre los paquetes instalados.

9. ¿Qué es una distribución de actualización continua, y por qué en ella es peligroso pacman -Sy paquete?

Es una distribución sin versiones, donde cada programa pasa a su última versión en cuanto está lista. Instalar tras renovar solo la lista trae un paquete hecho para bibliotecas más nuevas que las instaladas, y puede dejar programas sin funcionar.

10. Un tutorial para Ubuntu dice sudo apt install apache2. ¿Alcanza con escribir sudo dnf install apache2 en Fedora?

No. El comando se traduce bien, pero el paquete tiene otro nombre: en Fedora se llama httpd. Hay que buscarlo con dnf search.

11. ¿Qué dos problemas del paquete tradicional resuelven los formatos universales, y a qué costo?

Que haya que preparar un paquete por distribución, y que el usuario quede atado a la versión que empaquetó la suya. El costo es el tamaño, un arranque algo más lento, y que cada paquete debe actualizar por su cuenta las bibliotecas que incluye.

12. Un snap se actualizó solo y dejó de funcionar. ¿Qué haces?

sudo snap revert nombre, que vuelve a la revisión anterior, que snapd conserva.

13. ¿Qué diferencia hay entre el confinamiento strict y el classic de un snap?

En strict el programa corre aislado y solo accede a lo que le permiten sus interfaces. En classic no hay aislamiento: puede hacer lo mismo que un programa tradicional, y por eso hay que pedirlo con --classic.

14. ¿Por qué instalar una aplicación flatpak de 3 MB puede descargar 500 MB? ¿Ocurre lo mismo con la siguiente?

Porque necesita un runtime, el conjunto de bibliotecas sobre el que se apoya, que todavía no estaba instalado. La siguiente aplicación que use el mismo runtime lo encuentra ya instalado y descarga solo lo propio.

15. Descargaste Editor.AppImage. ¿Qué dos comandos hacen falta para ejecutarla?

chmod +x Editor.AppImage, para darle permiso de ejecución, y ./Editor.AppImage.

16. ¿Qué hace curl -fsSL https://ejemplo.com/install.sh | sudo bash, y por qué es arriesgado?

Descarga un script y lo ejecuta de inmediato como root, sin que nadie lo haya leído. El script puede hacer cualquier cosa en el sistema, y lo que instale no queda registrado en ningún gestor de paquetes.

Para practicar

  1. Muestra /etc/os-release e identifica la distribución, la versión, el nombre en clave y la familia. Extrae solo el valor de VERSION_ID, sin las comillas, con grep y cut o con awk.
  2. Averigua con type cuáles de estos gestores existen en tu sistema: apt, dnf, pacman, zypper, snap, flatpak.
  3. Sin ejecutarlos, traduce a dnf y rpm, y a pacman, esta sesión de Ubuntu: sudo apt update && sudo apt upgrade; apt search htop; sudo apt install htop; dpkg -L htop; dpkg -S /usr/bin/htop; sudo apt purge htop.
  4. Explica con palabras qué hace cada uno: pacman -Qi bash, pacman -Ql bash, pacman -Qdt, rpm -qc openssh-server, dnf provides '*/bin/dig'.
  5. Ejecuta snap list. ¿Cuántos snaps hay, cuáles son de tipo base y quién publica cada uno? Comprueba con dpkg -l firefox si el paquete es de transición.
  6. Con snap info, mira los canales de un snap instalado. ¿Qué versión hay en stable y cuál en edge? ¿Qué confinamiento tiene?
  7. Instala hello-world con snap, ejecútalo y localízalo con type. Lista /snap/hello-world/ y ~/snap/. Quítalo con --purge, y revisa la operación con snap changes.
  8. Si tienes entorno gráfico, instala flatpak, agrega Flathub e instala una aplicación pequeña. Anota cuánto descargó la primera, y cuánto una segunda del mismo escritorio. Lee los permisos de las dos.
  9. Cuenta cuántos programas tienes por cada vía: paquetes pedidos expresamente con apt-mark showmanual, snaps que no sean base, y aplicaciones flatpak. ¿Hay alguno instalado por dos vías a la vez?
  10. Busca en Internet las instrucciones de instalación de un programa que conozcas y que ofrezca varias vías. Ordénalas según la sección 13, y decide cuál usarías y por qué.