La version web de la mise à jour Docker a fonctionné, la version web de la mise à jour Discourse a échoué.
J’ai réinitialisé la mise à jour échouée, mais l’application web a indiqué que la mise à jour était en cours.
J’ai essayé de mettre à jour Discourse manuellement
cd /var/discourse
./launcher rebuild app
J’ai obtenu l’erreur suivante.
ERROR: Docker version 19.03.13 not supported, please upgrade to at least 20.10.0, or recommend 24.0.7
et j’ai obtenu l’erreur suivante :
E: Impossible d’obtenir le verrou /var/lib/dpkg/lock-frontend. Il est détenu par le processus 10528 (apt-get)
E: Impossible d’acquérir le verrou du frontend dpkg (/var/lib/dpkg/lock-frontend), un autre processus l’utilise-t-il ?
Mon site web Discourse est hors service avec une Oops-Error 500.
Des idées ?
Voici la solution de ChatGPT. La clé était de forcer la fermeture du processus bloqué à l’étape 3.
L’erreur indique qu’un autre processus apt ou de gestion de paquets est déjà en cours d’exécution et détient le fichier de verrouillage /var/lib/dpkg/lock-frontend. Cette situation empêche votre commande apt de continuer. Voici comment résoudre le problème :
Étapes pour résoudre le problème
Vérifier les processus apt en cours d’exécution
Exécutez la commande suivante pour vérifier les autres processus apt :
ps aux | grep apt
Recherchez des processus tels que apt-get, apt ou dpkg. S’il y a un processus en cours d’exécution (par exemple, apt-get ou dpkg), il est possible qu’il soit en train de mettre à jour ou d’installer quelque chose en arrière-plan.
Attendre la fin du processus
Si un autre processus est réellement en cours d’exécution, il est préférable d’attendre qu’il se termine. Parfois, les mises à jour non surveillées ou les installations de paquets s’exécutent en arrière-plan.
Forcer la fermeture du processus bloqué
Si le processus s’exécute depuis un temps anormalement long, vous pouvez le terminer :
sudo kill -9 <PID>
Remplacez <PID> par l’identifiant du processus (par exemple, 10528 dans votre cas).
Supprimer les fichiers de verrouillage
Après avoir terminé le processus, supprimez les fichiers de verrouillage pour vous assurer qu’il n’y a pas de verrous obsolètes :
Reconfigurer la base de données des paquets
Exécutez cette commande pour corriger tout problème potentiel avec le gestionnaire de paquets :
sudo dpkg --configure -a
Réessayer la mise à jour
Maintenant, réessayez votre commande de mise à jour :
sudo apt update && sudo apt upgrade -y
Notes
Si ce problème se produit fréquemment, vérifiez si les mises à jour non surveillées ou les mises à jour automatisées s’exécutent en arrière-plan. Celles-ci peuvent causer des conflits lors de la gestion manuelle des paquets.
Pour désactiver les mises à jour non surveillées, vous pouvez exécuter :