Cómo actualizar tu NAS de OpenMediaVault 7 a OpenMediaVault 8

close up of a data hub diskstation

Hace unos días, salía una nueva versión de unos de nuestros sistemas favoritos para montar un NAS casero. Aunque OpenMediaVault 8 no incluye mejoras relevantes a nivel de características, pasa a ser la nueva rama estable de este software y será quien reciba las actualizaciones relevantes.

Además, debemos tener en cuenta que está basado en Debian 13 y, por lo tanto, se beneficia de sus novedades a nivel de kernel y paquetes.

Cómo realizar la actualización a OpenMediaVault 8 por SSH.

¡Recuerda! Antes de comenzar a actualizar un NAS, siempre es recomendable hacer una copia de seguridad de las configuraciones y de todos los archivos.

Para comenzar la actualización, el primer paso, e imprescindible, es conectarnos a nuestro servidor OpenMediaVault por SSH usando un terminal.

Antes de comenzar la actualización a OpenMediaVault 8 debemos actualizar todos los paquetes de OpenMediaVault 7 para asegurarnos de que la actualización es lo más fluida posible. Para ello, lanzamos los siguientes comandos:

apt update
apt upgrade
omv-upgrade
Captura de Termius con el terminal de Linux conectado por SSH con los comandos apt update, apt upgrade y omv-upgrade

Para comenzar con la actualización a OpenMediaVault 8, escribimos este comando:

omv-release-upgrade

Una vez introducido el comando, veremos que nos pregunta si realmente queremos actualizar a la versión 8 (Synchrony). Tendremos que verificar si todos nuestros plugins están disponibles para la nueva versión.

En mi caso, utilizo Docker desde los omv-extras, que sí que están disponibles para la versión Synchrony de OpenMediaVault. Por lo tanto, pulsamos Intro y continuamos.

Captura del terminal de Linux por SSH mostrando la primera pantalla de la actualización a OpenMediaVault 8 con el mensaje "¿Realmente quieres actualizar a la versión 8 (Synchrony)? Asegúrae de que todos los plugins instalados están disponibles para esta release" con las opciones Yes y No

Cómo solucionar el error con openmediavault-cterm en la actualización a OpenMediaVault 8

Openmediavault-cterm es un plugin antiguo que ya no existe en OpenMediaVault 8, por lo que el proceso de actualización intentará eliminarlo. Sin embargo, el script de desinstalación que incorpora (postrm) intenta cargar un archivo que ya no existe al haber cambiado la estructura interna del sistema.

Captura del error relacionado con openmediavault-cterm.postrm al actualizar a OpenMediaVault 8. El texto de error completo es: "/var/lib/dpkg/info/openmediavault-cterm.postrm: 6: .: cannot open /usr/share/openmediavault/scripts/helper-functions: No such file
dpkg: error processing package openmediavault-cterm (--remove):
installed openmediavault-cterm package post-removal script subprocess returned error exit status 2
dpkg: too many errors, stopping
Errors were encountered while processing:
openmediavault-cterm
Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)"

Para solucionarlo, tenemos que modificar el script de desinstalación para que dpkg pueda continuar. Para ello, lo abrimos con nano:

nano /var/lib/dpkg/info/openmediavault-cterm.postrm

Borramos todo el contenido hasta que quede solo:

#!/bin/sh
exit 0

Os dejo unas capturas del antes y el después para que veáis las diferencias.

Captura de nano mostrando el contenido original del archivo /var/lib/dpkg/info/openmediavault-cterm.postrm
Antes de modificar el archivo /var/lib/dpkg/info/openmediavault-cterm.postrm
Captura de nano mostrando el contenido modificado del archivo /var/lib/dpkg/info/openmediavault-cterm.postrm en el que se elimina todo el contenido dejando únicamente exit 0
Después de modificar el archivo /var/lib/dpkg/info/openmediavault-cterm.postrm

Pulsamos la combinación Ctrl + X para guardar los cambios, y probamos a forzar la desinstalación. Además, reparamos el estado del gestor de paquetes.

dpkg --remove openmediavault-cterm
apt --fix-broken install
Captura del terminal de Linux por SSH mostrando que la desinstalación del paquete es correcta y todos los paquetes que se van a reparar

Durante la reparación, es normal que pregunte varias veces si queremos mantener la versión editada o la versión original de los archivos de configuración de varios paquetes. Lo normal es usar la opción por defecto, que es mantener la versión modificada.

El comando volverá a lanzar la actualización a OpenMediaVault 8.

Cómo solucionar distintos errores en la actualización a OpenMediaVault 8 y actualizar OMV-extras

Si se ha ejecutado la actualización, pero han surgido errores al ejecutar los scripts de post-instalación, podemos ejecutar el siguiente comando:

sudo wget -O - https://raw.githubusercontent.com/OpenMediaVault-Plugin-Developers/installScript/master/fix7to8upgrade | sudo bash

Esto ejecutará un script realmente completo que eliminará todas las dependencias antiguas de OpenMediaVault, actualizará los paquetes, instalará la nueva versión de omv-extras y actualizará las referencias para que todo apunte a los repositorios correctos de OpenMediaVault 8.

Captura del terminal Linux en el que se muestra la ejecución del script "fix7to8upgrade"

En mi caso, como el script de actualización no llegó a finalizar previamente, el error con el que me encontré es que la versión de PHP no se ha llegado a actualizar. OpenMediaVault 7 utilizaba PHP 8.2, mientras que la nueva versión utiliza PHP 8.4.

Puedes ver que se trata de un fallo en la post-instalación porque en el error indica que el «script post-installation» devolvió un error de salida. En mi caso era este:

/var/lib/dpkg/info/openmediavault.postinst: 949: php8.4: not found
dpkg: error al procesar el paquete openmediavault (--configure):
 el subproceso instalado paquete openmediavault script post-installation devolvió el código de salida de error 127
Se encontraron errores al procesar:
 openmediavault
E: Sub-process /usr/bin/dpkg returned an error code (1)
Captura del terminal Linux en el que se ve un error en el script post-instalación de OpenMediaVault 8

Esto se traducía en que, aunque la interfaz web cargaba, daba errores 502 o errores 500 al introducir las credenciales.

Como vemos, ahora ya tenemos OpenMediaVault en la versión 8.0.5-1.

Captura del navegador Microsoft Edge con la web UI de OpenMediaVault en el apartado Diagnóstico > Información del sistema, y se ve la versión 8.0.5-1
,

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *