Ir al contenido
  1. Publicaciones/

Listar paquetes instalados en Fedora Linux

·401 palabras·2 mins

Listado #

Para listar los paquetes instalados manualmente en el sistema, ejecuta el siguiente comando #

dnf history userinstalled
Packages installed by user
aajohan-comfortaa-fonts-3.105-0.1.20210729git2a87ac6.fc39.noarch
...
...
rsms-inter-fonts-3.19-7.fc39.noarch
syncthing-1.26.1-1.fc39.x86_64
tesseract-langpack-spa-4.1.0-6.fc39.noarch
zsh-5.9-8.fc39.x86_64

Para listar todos los paquetes instalados en el sistema #

dnf list installed
Paquetes instalados
Box2D.x86_64                                         2.4.1-11.fc39                       @anaconda
ImageMagick.x86_64                                   1:7.1.1.15-1.fc39                   @anaconda
ImageMagick-libs.x86_64                              1:7.1.1.15-1.fc39                   @anaconda
...
...
...
zram-generator-defaults.noarch                       1.1.2-8.fc39                        @anaconda
zsh.x86_64                                           5.9-8.fc39                          @fedora
zvbi.x86_64                                          0.2.35-21.fc39                      @anaconda
zxing-cpp.x86_64                                     2.0.0-5.fc39                        @anaconda

Listar los paquetes instalados recientemente #

dnf list recent
Fedora 39 - x86_64 - Updates                     16 kB/s |  16 kB     00:00
Fedora 39 - x86_64 - Updates                    653 kB/s | 1.9 MB     00:03
Última comprobación de caducidad de metadatos hecha hace 0:00:09, el mar 19 dic 2023 13:01:07.
Paquetes añadidos recientemente
SDL2.i686                                               2.28.5-1.fc39         updates
SDL2.x86_64                                             2.28.5-1.fc39         updates
lsp-plugins-vst.x86_64                                  1.2.13-2.fc39         updates
...
...
xorg-x11-server-devel.x86_64                            1.20.14-28.fc39       updates
xorg-x11-server-source.noarch                           1.20.14-28.fc39       updates
xxd.x86_64                                              2:9.0.2167-1.fc39     updates

Para saber el numero de paquetes instalados #

dnf list installed | wc -l
1779

Para sacar un listado de todos los paquetes instalados y guardarlos en un fichero #

dnf history userinstalled > /tmp/paquetes.txt
cat /tmp/paquetes.txt
Packages installed by user
aajohan-comfortaa-fonts-3.105-0.1.20210729git2a87ac6.fc39.noarch
anaconda-39.32.6-2.fc39.x86_64
anaconda-install-env-deps-39.32.6-2.fc39.x86_64
anaconda-live-39.32.6-2.fc39.x86_64
...
...
rsms-inter-fonts-3.19-7.fc39.noarch
syncthing-1.26.1-1.fc39.x86_64
tesseract-langpack-spa-4.1.0-6.fc39.noarch
zsh-5.9-8.fc39.x86_64

Volviendo a instalar los paquetes #

Listamos los paquetes instalados por el usuario y los guardamos en un fichero

dnf history userinstalled > /tmp/paquetes.txt
cat /tmp/paquetes.txt
Packages installed by user
aajohan-comfortaa-fonts-3.105-0.1.20210729git2a87ac6.fc39.noarch
anaconda-39.32.6-2.fc39.x86_64
...
...
powerline-fonts-2.8.3-11.fc39.noarch
rsms-inter-fonts-3.19-7.fc39.noarch
syncthing-1.26.1-1.fc39.x86_64
tesseract-langpack-spa-4.1.0-6.fc39.noarch
zsh-5.9-8.fc39.x86_64

Eliminamos la primera fila del fichero /tmp/paquetes.txt para borrar el texto Packages installed by user

tail -n +2 /tmp/paquetes.txt > /tmp/paquetes.txt.tmp && mv /tmp/paquetes.txt.tmp /tmp/paquetes.txt

Ahora basta con ejecutar la siguiente linea para volver a tener todos nuestros programas en nuestro sistema

sudo dnf install -y $(cat /tmp/paquetes.txt)
[sudo] contraseña para carlos:
Última comprobación de caducidad de metadatos hecha hace 0:42:08, el mar 19 dic 2023 15:29:29.
...
...
El paquete hunspell-1.7.2-5.fc39.x86_64 ya está instalado.
Dependencias resueltas.
Nada por hacer.
¡Listo!

En caso de utilizar dnf list installed usaremos awk para limpiar la salida del comando y quedarnos con la primera columna que es la que contiene el nombre del paquete instalado

dnf list installed | awk '{print $1}' > /tmp/paquetes.txt
Paquetes
Box2D.x86_64
ImageMagick.x86_64
ImageMagick-libs.x86_64
LibRaw.x86_64
...
...
zsh.x86_64
zvbi.x86_64
zxing-cpp.x86_64

Y también deberemos de eliminar la primera linea del fichero /tmp/paquetes.txt ya no contiene el nombre de un paquete

tail -n +2 /tmp/paquetes.txt > /tmp/paquetes.txt.tmp && mv /tmp/paquetes.txt.tmp /tmp/paquetes.txt

Y ejecutamos

sudo dnf install -y $(cat /tmp/paquetes.txt)

Espero que te haya gustado, pasa un gran día 🐧