Actualización de versión

Consideraciones

La actualización a Zentyal 7.1 se debe realizar desde un Zentyal 7.0 totalmente actualizado. Las versiones anteriores a 7.0 se deberán actualizar progresivamente. La sucesión completa de actualizaciones desde la versión Zentyal 3.2 es la siguiente:

3.2 -> 4.x -> 5.x -> 6.0 -> 6.1 -> 6.2 -> 7.0 -> 7.1

Advertencia

Estas instrucciones son válidas para actualizar la versión 7.0 de la Edición Development a la version 7.1 de la Edición Development. Para ediciones comerciales, debemos ponernos en contacto con el Equipo de Soporte. Si no tenemos acceso al Portal de Soporte [1] debemos contactar al Equipo de Zentyal [2] para solicitar acceso.

[1]Portal de soporte: https://zentyal.atlassian.net/servicedesk/customer/portal/4/
[2]Contacto: https://zentyal.com/es/contactanos/

Antes de comenzar con la actualización, recomendamos encarecidamente realizar una serie de comprobaciones previas para tratar de minimizar posibles incidencias. Dichas comprobaciones se detallan en la siguiente sección.

Es de vital importancia disponer de un backup del servidor antes de proceder con la actualización. La actualización es un proceso complejo y puede fallar dejando el sistema dañado o, incluso, irrecuperable.

Advertencia

Recordad que una backup de configuración no es una copia de seguridad completa tal y como se detalla aquí [3].

[3]Backup de configuración: https://doc.zentyal.org/es/backup-conf.html

Comprobaciones previas

A continuación se indican las acciones a comprobar previas a la actualización.

Errores en los logs

Una de las tareas más importantes es confirmar que en los archivos de log más críticos del sistema no haya errores. Los archivos que deberemos revisar como mínimo serán:

  • /var/log/zentyal/zentyal.log
  • /var/log/syslog

Espacio en disco

Al ser una actualizar minor, el tamaño en disco necesario es reducido. Si el sistema operativo no tiene actualizaciones pendientes, con menos de 200MB será suficiente:

df -h

Acceso a Internet

Para poder descargar los paquetes necesarios para realizar la actualización es necesario que el servidor tenga acceso a Internet:

ping -c5 google.com

Acceso a los repositorios

Otra de las tareas críticas a revisar es el acceso a los repositorios de Ubuntu y Zentyal. Para ello, bastará con ejecutar el siguiente comando para confirmar que no hay errores:

sudo apt update

Paquetes disponibles

Para revisar si el sistema operativo está actualizado, tendremos que ejecutar los siguientes comandos:

sudo apt update
sudo apt list --upgradable

Paquetes rotos

Es imperativo que revisemos que no haya ningún paquete roto, de lo contrario, la actualización nos fallara.

dpkg -l | egrep -v '^(ii|rc)'

En caso de haber paquetes en mal estado, en la sección de Troubleshooting [4] se explica como tratar de repararlos.

[4]Troubleshooting: https://doc.zentyal.org/es/upgrade.html#id15

Errores en las bases de datos

Otra tarea importante a revisar si hay algún error en las bases de datos alojadas en MySQL que usa Zentyal para sus módulos:

mysqlcheck -u root -p$(sudo cat /var/lib/zentyal/conf/zentyal-mysql.passwd) --all-databases 2> /dev/null

En caso de usar el módulo controlador de dominio [5], también es altamente recomendable confirmar su estado:

sudo samba-tool dbcheck --cross-ncs

En caso de detectar un error en esta última base de datos, tendremos que seguir [6] este enlace.

[5]Controlador de dominio: https://doc.zentyal.org/es/directory.html
[6]Documentación sobre la base de datos de Samba: https://wiki.samba.org/index.php/Dbcheck

Reporte del sistema

Podemos obtener los resultados de las comprobaciones mencionadas en este apartado y muchas más información generando un reporte del sistema [7] y analizándolo antes de programar la actualización del servidor.

[7]Reporte del sistema: https://doc.zentyal.org/es/smart-admin.html#informe-del-estado-del-sistema

Actualización

Una vez que hayamos revisado el sistema y confirmado su estabilidad, podremos proceder a su actualización. Tenemos dos formas de hacerlo:

1. Desde el botón disponible en el Dashboard de la Interfaz de Administración de Zentyal.

Botón de la actualización

Botón de la actualización

Advertencia

Si el servidor no tiene conexión a Internet, no se mostrará el botón.

Una vez iniciado el upgrade, podremos ver el proceso en una ventana modal.

Actualización en progreso

Actualización en progreso

Cuando la actualización haya terminado, deberíamos de ver un mensaje de éxito o fracaso.

Actualización terminada

Actualización terminada

Advertencia

Si no obtenemos ninguno de esos mensajes, es posible que la sesión del navegador web haya expirado, por lo que tendremos que revisar el archivo de log /var/log/zentyal/zentyal.log. Si la actualización ha terminado, simplemente tendremos que refrescar la página.

2. Desde la línea de comandos (opción recomendable para detectar errores en el proceso):

sudo bash -x /usr/share/zentyal/release-upgrade

Advertencia

La terminal desde donde se esté ejecutando el comando no podrá cerrarse hasta que el proceso haya terminado.

Truco

Una buena práctica es almacenar en un archivo de texto el output generado por el script por si fuera necesario analizarlo con detenimiento.

Comprobaciones posteriores

Una vez que la actualización haya terminado, tendremos que revisar lo siguiente antes de reiniciar el servidor:

1. Que la versión de Ubuntu siga siendo 20.04:

lsb_release -a

2. Que los paquetes de Zentyal se hayan actualizado a 7.1:

dpkg -l | egrep 'zen(tyal|buntu)-'

3. Que no haya paquetes rotos:

dpkg -l | egrep -v '^(ii|rc)'

Si todo lo anterior es correcto, podremos proceder a reiniciar el servidor.

4. Una vez que haya iniciado, analizaremos los siguientes archivos de logs para confirmar que no se han producido errores:

  • /var/log/zentyal/zentyal.log
  • /var/log/syslog

5 Finalmente comprobaremos el funcionamiento de cada módulo para cerciorarnos de la estabilidad del mismo tras la actualización.

Troubleshooting

En caso de que la actualización haya fallado, deberemos de identificar el punto en el que se encuentra el servidor antes de considerar de restaurar una copia de seguridad.

Estado actual del servidor

Para confirmar el estado del servidor tras el fallo durante la actualización, las preguntas que deberemos hacernos y tratar de responder son:

1. ¿Se actualizó la versión de Ubuntu a una diferente a la 20.04? Si la respuesta es afirmativa,
habrá que restaurar una copia de seguridad, ya que Zentyal 7.1 se basa en Ubuntu 20.04.
2. ¿Se llegó a actualizar algún módulo de Zentyal? Si ningún módulo llegó a actualizarse y tampoco
hay paquetes rotos, en principio sólo se realizaron ejecuciones de lectura, por lo que no debería ser necesario restaurar una copia de seguridad.
3. ¿Hay paquetes rotos? Si hay algún paquete de Zentyal roto, con la ayuda de los logs se podría
recuperar y terminar de actualizar el servidor sin necesidad de restaurar una copia de seguridad.

4. ¿Qué errores se ven en los archivos de log? NOTA: Se deberá de revisar también el archivo /var/log/dpkg.log

Paquetes rotos

Si tenemos paquetes rotos, podremos tratar de solucionarlos con los siguientes comandos.

Para solucionar todos los paquetes a la vez:

sudo dpkg --configure -a

Advertencia

Posiblemente sea necesario ejecutar el comando varias veces.

En caso de que no haya funcionado, habrá que hacerlo de paquete en paquete:

sudo dpkg --configure nombre_del_paquete

Advertencia

Posiblemente tengamos que hacer varias pasadas hasta solucionar todos los paquetes.