Estado de la traducción: Este articulo es la versión traducida de Using DNF. Fecha de la ultima traducción 29/10/2023. Puede ayudar a sincronizar la traducción, en caso de haber cambios en la versión original. |
Otros idiomas Deutsch ; English ; Español ; Français ; Nederlands ; 简体中文 ; |
Contents
- 1 Preámbulo
- 2 Instalación y configuración
- 3 Elegir repositorios
- 4 Comandos para iniciarse
- 5 Versiones cortas de los comandos comunes
- 6 Interfaz grafica
- 7 Advertencia sobre el mecanismo de paquetes huérfanos
- 8 Quitar la aplicación de actualización URPMI
- 9 Aplicación de actualización DNF
- 10 Sincronizar repositorios
- 11 Migrar la versión de Mageia mediante DNF
- 12 Configurando un contenedor para una arquitectura diferente a la nativa
- 13 Documentación (en Ingles)
Preámbulo
Casi se ha terminado de implementar DNF como administrador de repositorios alternativo, y es posible comenzar a utilizarlo. Pero antes de utilizar DNF, lea la Advertencia sobre el mecanismo de paquetes huérfanos, y haga una búsqueda en nuestro Bugzilla. Al final de este documento hay enlaces a los manuales.
Instalación y configuración
Estable
Normalmente esta instalado por omisión, de no ser así ejecute como root urpmi dnf
Siguiente generación
En Cauldron también esta disponible la próxima versión de DNF, DNF5
. Es básicamente una completa reescritura. Pero la mayoría de los parámetros y comandos de la versión previa funcionan bien.
Para instalarla: dnf install dnf5
Uso: Solo usela de la misma forma que la versión estable añadiendo un 5 a dnf.
Ejemplo: dnf5 upgrade --refresh --allowerasing
para migrar a una nueva versión de mageia.
Documentación: https://dnf5.readthedocs.io/en/latest/
Elegir repositorios
Por omisión están habilitados dos repositorios y así debe ser siempre: core y core updates; en DNF se nombran como mageia-x86_64 y updates-x86_64 para sistemas de 64 bit; mageia-i586 y updates-i586 para sistemas de 32-bit.
Si ha instalado paquetes de otro repositorio, siempre deberá tener ese repositorio y su versión updates habilitados.
¡Note que esto es importante cuando migra de urpmi a DNF, o si usa ambos; debe tener los repositorios correspondientes habilitados para ambos!
- Si desea activar los repositorios nonfree o tainted, puede hacerlo mediante
dnf config-manager
como se muestra en el ejemplo para sistemas de 64bit (para sistemas de 32 bit reemplace x86_64 por i586) :
dnf config-manager --set-enabled mageia-x86_64-nonfree updates-x86_64-nonfree
- Los repositorios de 32-bit están desactivados de forma predeterminada para sistemas 64-bit. Pueden activarse mediante
dnf config-manager
como se muestra en el ejemplo:
dnf config-manager --set-enabled mageia-i586 updates-i586
Repita si necesita las versiones 32 bit de los repositorios nonfree y tainted (vea ejemplo anterior).
- Para Cauldron, cambie "mageia" por "cauldron" y "updates", "backports", etc. por "cauldron-updates", "cauldron-backports", etc en los comando anteriores.
- Si desea cambiar la selección de servidores por uno que prefiera, puede hacerlo editando los archivos de configuración de los repositorios en
/etc/yum.repos.d
. Descomente la linea "baseurl=" y cambie la URL para que apunte al servidor deseado. Esto ignorara automáticamente las lineas "metalink" y "mirrorlist" para utilizar el servidor deseado. Si lo desea puede comentar las lineas "metalink=" y "mirrorlist=", pero esto anulara el mecanismo de protección en caso de que el servidor "primario" no este funcionando.
Ejemplo: Esta es la lista de repositorios en un sistema 64 bit con los repositorios nonfree, tainted y los repositorios de 32-bit:
$ dnf repolist repo id repo name mageia-i586 Mageia 9 - i586 mageia-i586-nonfree Mageia 9 - i586 - Nonfree mageia-i586-tainted Mageia 9 - i586 - Tainted mageia-x86_64 Mageia 9 - x86_64 mageia-x86_64-nonfree Mageia 9 - x86_64 - Nonfree mageia-x86_64-tainted Mageia 9 - x86_64 - Tainted updates-i586 Mageia 9 - i586 - Updates updates-i586-nonfree Mageia 9 - i586 - Nonfree - Updates updates-i586-tainted Mageia 9 - i586 - Tainted - Updates updates-x86_64 Mageia 9 - x86_64 - Updates updates-x86_64-nonfree Mageia 9 - x86_64 - Nonfree - Updates updates-x86_64-tainted Mageia 9 - x86_64 - Tainted - Updates
Comandos para iniciarse
Vea también la documentación.
Como root:
dnf install ri-li
instala ri-lidnf reinstall ri-li
reinstala ri-lidnf downgrade ri-li
instala la versión previa de ri-lidnf remove ri-li
elimina ri-lidnf makecache
refresca los metadatos (información sobre lo que esta disponible en los repositorios)dnf check-update --refresh
refresca los metadatos y comprueba si hay actualizacionesdnf upgrade --refresh
refresca los metadatos e instala todas las actualizaciones disponiblesdnf upgrade --best
forza la selección de las mejores versiones disponibles, lo que puede ayudar a determinar errores de dependenciasdnf distro-sync --refresh
refresca los metadatos y sincroniza el conjunto de paquetes instalados en la computadora con las versiones disponibles en los repositoriosdnf distro-sync --allowerasing --best
ayuda a la actualización de paquetes que han cambiado de versión mayor, e.j. lib64clang3.8 a lib64clang3.9dnf history list
muestra el historial de los comandos install/remove/upgradednf history info 12
muestra lo acontecido durante la 12da entrada del historialdnf shell
llama a la consola interactiva para realizar varias acciones en una sola transaccióndnf install --enablerepo updates_testing-x86_64 caja
instala el paquete caja desde un repositorio específico (updates_testing-x86_64)
Como usuario (o root):
dnf help
muestra la ayudadnf search fax
muestra todos los paquetes con la palabra "fax" en el nombre o sumario.dnf repolist
muestra los repositorios activos con el espacio ocupado y la última comprobación de los metadatos. Primero descargará la información que no ha sido descargada.
Versiones cortas de los comandos comunes
Desde DNF 2.6.2, hay abreviaciones de los comandos de uso más común:
As root:
dnf in ri-li
instala ri-lidnf ri ri-li
reinstala ri-lidnf dg ri-li
instala una versión anterior de ri-lidnf rm ri-li
elimina ri-lidnf mc
refresca los metadatos (información sobre lo que esta disponible en los repositorios)dnf up
instala todas las actualizaciones disponiblesdnf dsync
sincroniza el conjunto de paquetes instalados en la computadora con las versiones disponibles en los repositoriosdnf sh
llama a la consola interactiva para realizar varias acciones en una sola transacción
Como usuario (o root):
dnf se fax
muestra todos los paquetes con la palabra "fax" en el nombre o sumario.
Si esta en un sistema no-Ingles y necesita la salida en Ingles, entonces añada LANGUAGE=C
antes del comando.
Interfaz grafica
Instale: dnf in dnfdragora
Ejecute: Menu
> Herramientas
> Herramientas del Sistema
> dnfdragora
. ( o en terminal ejecute dnfdragora
)
Fallo: mga#21453 - dnfdragora no recuerda la selección de paquetes.
Advertencia sobre el mecanismo de paquetes huérfanos
Mezclar los mecanismos de urpmi y DNF para eliminar paquetes huérfanos causa que ambos se vuelvan no confiables.
Si va a utilizar DNF, haga el cambio lo más pronto posible tras una instalación limpia.
Quitar la aplicación de actualización URPMI
Desinstale mgaonline
.
Aplicación de actualización DNF
Instale dnfdragora-updater
.
Sincronizar repositorios
En este capítulo demostramos la sincronización "fuera de línea" de paquetes instalados. Esto significa que en la etapa de preparación se evalúa lo que se hará, se verifica con el usuario, se descargan todos los paquetes necesarios y se preparan los scripts. Posteriormente, el usuario ejecuta otro comando que reinicia el sistema y ejecuta el proceso al reiniciar. Esto minimiza la posibilidad de problemas en comparación con cambiar paquetes en un sistema en ejecución.
(Para trabajar en un sistema en ejecución, vea "dnf distro-sync" descrito brevemente arriba.)
Estos comandos sincronizan las versiones de los paquetes instalados, con las de los paquetes disponibles en los repositorios habilitados - actualizando versiones, instalando dependencias, instalando versiones previas y opcionalmente elimina paquetes que no existen en los repositorios.
Por ejemplo, esto es perfecto para ejecutar en un sistema en el que ha estado probando Mageia antes de su publicación, o ha participado probando actualizaciones, y quiere asegurarse de usar solo versiones oficiales - ni más ni menos. Es de gran utilidad si la migración a la nueva versión de Mageia sale mal.
Asegúrese de tener los repositorios necesarios activados, vea Elegir repositorios. Los repositorios pueden deshabilitarse según se necesite, vea el ejemplo a continuación, opción "disablerepo".
Tiene que instalar como root el comando: dnf install 'dnf-command(offline-distrosync)'
El comando a ejecutar es dnf offline-distrosync download --disablerepo=\*cauldron\* --allowerasing
- Nota, puede que no quiera utilizar la opción "--allowerasing" ya que puede borrar algo que necesite y que no pueda ser reinstalado posteriormente. Lo que sigue a --disablerepo es para evitar los repositorios cauldron que puedan estar configurados. Puede hacer lo mismo para los repositorios testing que pueda tener.
Este es un ejemplo ejecutado en un sistema que estaba funcionando con Cauldron antes de la publicación de Mageia 9, y algún tiempo más, antes de cambiar a la versión estable, Note que algunos paquetes tenían versiones incorrectas - DNF llega al rescate :) Como podrá ver se actualizaron versiones, instalaron dependencias, se instalaron versiones previas y se eliminaron paquetes. Este sistema no había utilizado DNF amtes, asi que tuve que habilitar los mismos repositorios que había utilizado con urpmi: nonfree, tainted y repositorios de 32-bit.
$ LANGUAGE=C sudo dnf offline-distrosync download --disablerepo=\*cauldron\* --allowerasing No repository match: *cauldron* Mageia 9 - i586 8.8 kB/s | 2.5 kB 00:00 Mageia 9 - i586 - Updates 5.5 kB/s | 1.5 kB 00:00 Mageia 9 - i586 - Nonfree 6.0 kB/s | 2.0 kB 00:00 Mageia 9 - i586 - Nonfree - Updates 4.3 kB/s | 1.5 kB 00:00 Mageia 9 - x86_64 - Nonfree 4.1 kB/s | 2.0 kB 00:00 Mageia 9 - x86_64 - Nonfree - Updates 4.5 kB/s | 1.5 kB 00:00 Mageia 9 - i586 - Tainted 2.4 kB/s | 1.5 kB 00:00 Mageia 9 - i586 - Tainted - Updates 4.6 kB/s | 1.5 kB 00:00 Mageia 9 - x86_64 - Tainted 4.5 kB/s | 1.5 kB 00:00 Mageia 9 - x86_64 - Tainted - Updates 4.7 kB/s | 1.5 kB 00:00 Mageia 9 - x86_64 7.4 kB/s | 2.5 kB 00:00 Mageia 9 - x86_64 - Updates 5.7 kB/s | 1.5 kB 00:00 Dependencies resolved. =================================================================================================================== Package Architecture Version Repository Size =================================================================================================================== Installing: kernel-desktop x86_64 6.4.9-4.mga9 mageia-x86_64 80 M Installing dependencies: lib64bind9.18.15 x86_64 9.18.15-2.mga9 mageia-x86_64 1.2 M Removing: kernel-desktop x86_64 6.3.9-1.1.mga9 @System 89 M kernel-desktop x86_64 6.4.8-3.mga9 @System 90 M kernel-desktop x86_64 6.4.8-4.mga9 @System 90 M kernel-desktop x86_64 6.4.9-2.mga9 @System 90 M Downgrading: bind-utils x86_64 9.18.15-2.mga9 mageia-x86_64 194 k - 65 lines omitted for this wiki post... - wireless-regdb noarch 20230503-1.mga9 mageia-i586 15 k Transaction Summary =================================================================================================================== Install 2 Packages Remove 4 Packages Downgrade 67 Packages Total download size: 143 M DNF will only download packages, install gpg keys, and check the transaction. Is this ok [y/N]: y Downloading Packages: (1/69): gurpmi-8.131-1.mga9.noarch.rpm 254 kB/s | 25 kB 00:00 - 67 lines omitted for this wiki post... - (69/69): kernel-desktop-6.4.9-4.mga9.x86_64.rpm 1.9 MB/s | 80 MB 00:41 ------------------------------------------------------------------------------------------------------------------- Total 2.2 MB/s | 143 MB 01:06 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Complete! Transaction saved to /var/lib/dnf/system-upgrade/system-upgrade-transaction.json. Download complete! Use 'dnf offline-distrosync reboot' to start the upgrade. To remove cached metadata and transaction use 'dnf offline-distrosync clean' The downloaded packages were saved in cache until the next successful transaction. You can remove cached packages by executing 'dnf clean packages'.
Lea cuidadosamente el reporte. Si lo desea, puede cambiar los repositorios o las opciones del comando y ejecutarlo nuevamente.
Si decide ejecutarlo:
- ¡Guarde su trabajo, y cierre sus aplicaciones!
- Dispare el comando:
dnf offline-distrosync reboot
- /!\ NOTA: ¡Se reiniciará el sistema inmediatamente! /!\
Cuando el sistema esté funcionando de nuevo, asegúrese de desinstalar mageia-repos-cauldron
: dnf remove mageia-repos-cauldron
.
Aquí encontrará documentación adicional.
Migrar la versión de Mageia mediante DNF
Puede migrar a la siguiente versión de Mageia en pocos pasos. Note que todos los comandos deben ejecutarse como root.
- Make sure you have correct repos enabled, see Elegir repositorios.
- Asegúrese de estar completamente actualizado:
dnf --refresh upgrade
- Install the system-upgrade plugin:
dnf install 'dnf-command(system-upgrade)'
- Ejecute:
dnf system-upgrade --releasever <targetversion> download --allowerasing
. Para, por ejemplo, actualizar a Mageia 8, use8
en<targetversion>
.- Se le preguntara antes de descargar los paquetes, y reportara cuanto espacio se requerirá. Ai no tiene lo indicado más algunos cientos de MB de espacio libre en la partición
/var
(si/var
es parte de la partición/
, añada unos cientos de MB más), puede hacer espacio suficiente o añadir la opción--downloaddir carpeta_con_espacio
a este y a los comandos system-upgrade siguientes. También asegúrese de que/
tiene espacio adicional para las aplicaciones de más tamaño. Note que tal vez se necesite espacio para dos kernels (vea Kernels Adicionales mas adelante). Especialmente si la carpeta/boot
es una partición separada. - Cuando sepa que tiene suficiente espacio, responda si para descargar. Se ejecutara una transacción de prueba.
- Se le preguntara antes de descargar los paquetes, y reportara cuanto espacio se requerirá. Ai no tiene lo indicado más algunos cientos de MB de espacio libre en la partición
- Si la descarga y la transacción de prueba tienen exito,
- ¡Guarde su trabajo y cierre las aplicaciones!
- Lance la actualización:
dnf system-upgrade reboot
¡Advertencia! /!\ NOTA: ¡Se reiniciara el sistema inmediatamente! /!\ |
Disfrute de alguna bebida mientras ve las burbujas de nuestra pantalla de arranque - y sobre ellas, los mensajes que detallan lo que esta pasando. Al terminar, se reiniciara, permitiendo disfrutar la nueva versión de Mageia.
Kernels Adicionales
DNF usa un método diferente al instalador de Mageia para seleccionar la variante del kernel que se instalara. Esto puede producir que un sistema que utiliza la variante desktop, tras actualizar tenga tanto la variante desktop como la server instaladas, y la variante server sea la utilizada. Arreglo fácil: seleccione al iniciarla variante desktop, y luego desinstale la variante server. mga#28272
Configurando un contenedor para una arquitectura diferente a la nativa
Desde DNF 2.6.2, es posible crear contenedores para arquitecturas distintas a las del sistema.
El procedimiento para crear un contenedor ARMv7 en un sistema x86_64 es el siguiente:
- Instale
qemu-user-static
en el sistema huésped - Reinicie
systemd-binfmt.service
para que la información sobre el nuevo formato binario tenga efecto - Cree un directorio contenedor para la arquitectura foránea. Ejemplo
/var/lib/machines/mga8armv7hl
- Ejecute DNF como root para crear el entorno inicial:
dnf --installroot=/var/lib/machines/mga8armv7hl --releasever=8 --forcearch=armv7hl --repofrompath=mga8rel,http://mirrors.kernel.org/mageia/distrib/8/armv7hl/media/core/release/ --repofrompath=mga8up,http://mirrors.kernel.org/mageia/distrib/8/armv7hl/media/core/updates/ --disablerepo=* --enablerepo=mga8rel --enablerepo=mga8up --setopt=install_weak_deps=False install basesystem-minimal-core dnf
Finalmente, pruebe el contenedor para ver si las aplicaciones funcionan. El comando sugerido (ejecutado como root): chroot /var/lib/machines/mga8armv7hl /usr/bin/uname -r -m