Actualización¶
Una nueva versión siempre se extrae en un directorio separado. No debe copiarse sobre la instalación
existente ni extraerse directamente allí. El nuevo update.sh actualiza después exactamente la
instancia indicada como argumento.
Preparación y copia de seguridad¶
Antes de cada actualización debe existir una copia de seguridad completa y verificada. Debe incluir al menos:
El directorio completo de la instancia, especialmente
core/config/QisutuConfig.pmvar/secure/security.keyLa base de datos
Personalizaciones propias de Apache, proxy, TLS y systemd
Si procede, adjuntos externos o ubicaciones de almacenamiento conectadas
security.key es indispensable para restaurar secretos cifrados de correo, OAuth y autenticación
de dos factores. Guárdelo protegido junto con la copia de seguridad correspondiente de la instancia.
Descargar la versión¶
cd /tmp
wget https://ftp.qisutu.de/qisutu-1.0.2.tar.gz
tar xzf qisutu-1.0.2.tar.gz
cd qisutu-1.0.2
Al actualizar a una versión posterior deben utilizarse, naturalmente, la URL y el nombre de directorio de esa versión de destino.
Iniciar la actualización¶
Instancia de producción:
sudo ./update.sh /opt/qisutu
Instancia adicional:
sudo ./update.sh /opt/qisututest
El actualizador lee var/install/instance.conf y muestra antes de la confirmación la ruta de
instalación, el identificador de instancia, la ruta web, la base de datos y el servicio systemd.
Cancele si alguno de estos valores no corresponde a la instancia deseada.
Proceso de actualización¶
El script realiza, entre otros, los siguientes pasos:
Comprobación de sumas de verificación de la versión, versiones, archivo de esquema, sintaxis de Perl y registro de programas.
Creación opcional de un volcado adicional de la base de datos. Compruebe antes el espacio libre en
/var/backups.Activación del modo de mantenimiento, detención del daemon de la instancia y bloqueo de nuevas recuperaciones de correo.
Actualización de todos los archivos de programa administrados por la versión; se añaden archivos nuevos y se eliminan archivos administrados que ya no se publican.
Conservación de archivos locales de la instancia, configuraciones, registros, datos de ejecución y clave de seguridad.
Comparación del esquema de base de datos y ejecución de todas las migraciones SQL y Perl aún no registradas.
Nueva comprobación del estado objetivo e inicio del daemon.
Comprobación posterior¶
Tras finalizar correctamente, compruebe:
systemctl status qisutu-daemon.service
journalctl -u qisutu-daemon.service --since today
A continuación, inicie sesión, compruebe las versiones mostradas de Qisutu y de la base de datos, y pruebe al menos el inicio de sesión, la vista de tickets, la recuperación y el envío de correo. Con varias instancias, esta comprobación se realiza por separado para cada instancia actualizada.
Actualización fallida¶
No ejecute el script repetidamente sin analizar la causa. Guarde la salida y los registros, compruebe el espacio libre, el acceso a la base de datos, los permisos de archivos y el estado del servicio. Si el estado no es claro, restaure conjuntamente la copia completa previamente verificada del directorio del programa y la base de datos.