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.
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.
Cuando la actualización haya terminado, deberíamos de ver un mensaje de éxito o fracaso.
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.