Update du 02/10/2024 : SpinUpWP a publié, une procédure de rétablissement plus complète : https://spinupwp.com/doc/nginx-dependency-errors/
Si comme moi vous utilisez SpinUPWP vous devez avoir remarqué la suggestion récente de SpinUp d’activer Brotli sur votre hébergement.
Cela se fait en 1 clic et se passe normalement très bien.
Toutefois, suite à cette opération, vous pouvez avoir envie de mettre à jour votre machine avec les traditionnels :
sudo apt update
sudo apt upgrade
Langage du code : Bash (bash)
Or, il s’avère qu’il y a actuellement un problème avec les paquets de Nginx, comme on peut le voir sur ces deux issues GitHub :
https://github.com/oerdnj/deb.sury.org/issues/2099
https://github.com/oerdnj/deb.sury.org/issues/2118
Vous vous retrouvez alors lors du process de mise à jour avec des lignes du type :
Aug 02 10:42:07 monserveur.com nginx[3059099]: nginx: configuration file /etc/nginx/nginx.conf test failed
Aug 02 10:42:07 monserveur.com systemd[1]: nginx.service: Control process exited, code=exited, status=1/FAILURE
Aug 02 10:42:07 monserveur.com systemd[1]: nginx.service: Failed with result 'exit-code'.
Aug 02 10:42:07 monserveur.com systemd[1]: Failed to start A high performance web server and a reverse proxy server.
Warning: The unit file, source configuration file or drop-ins of nginx.service changed on disk. Run 'systemctl daemon-reload' to reload units.
dpkg: error processing package nginx (--configure):
installed nginx package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of libnginx-mod-http-brotli-filter:
libnginx-mod-http-brotli-filter depends on nginx-abi-1.26.1-1; however:
Package nginx-abi-1.26.1-1 is not installed.
Package nginx which provides nginx-abi-1.26.1-1 is not configured yet.
dpkg: error processing package libnginx-mod-http-brotli-filter (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libnginx-mod-http-brotli-static:
libnginx-mod-http-brotli-static depends on nginx-abi-1.26.1-1; however:
Package nginx-abi-1.26.1-1 is not installed.
Package nginx which provides nginx-abi-1.26.1-1 is not configured yet.
dpkg: error processing package libnginx-mod-http-brotli-static (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of nginx-common:
nginx-common depends on nginx (>= 1.26.1-2+ubuntu22.04.1+deb.sury.org+1); however:
Package nginx is No apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because MaxReports is reached already not configured yet.
nginx-common depends on nginx (<< 1.26.1-2+ubuntu22.04.1+deb.sury.org+1.1~); however:
Package nginx is not configured yet.
dpkg: error processing package nginx-common (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
nginx
libnginx-mod-http-brotli-filter
libnginx-mod-http-brotli-static
nginx-common
needrestart is being skipped since dpkg has failed
E: Sub-process /usr/bin/dpkg returned an error code (1)
Langage du code : Bash (bash)
La solution pour relancer Nginx
Assez simple (à appliquer) qui est issue d’un des fils GitHub ci-dessus :
sudo dpkg --remove libnginx-mod-brotli
sudo apt --fix-broken install
sudo apt install libnginx-mod-brotli
Langage du code : Bash (bash)
(Vous validez toujours avec Y ou appuyez sur entrée lorsque vous êtes face à des écrans vous demandant quels services vous voulez redémarrer)
Une fois que vous avez fini la réinstallation de libnginx-mod-brotli alors vous pouvez reprendre votre processus de mise à jour avec :
sudo apt upgrade
En théorie, tout rentre dans l’ordre, Nginx est redémarré et vous pouvez éventuellement redémarrer la machine.
Conseil : disposer de snapshots
Si vous en avez la possibilité, je vous recommande fortement de disposer d’un snapshot sur votre hébergeur avant toute intervention de ce type, ça n’évite pas les problème, mais en cas de « panique », ça permet de restaurer la machine dans un état antérieur fonctionnel.