Est-ce le même processus pour mettre à jour Discourse via le navigateur, ou via le terminal en utilisant ./launcher rebuild app ?
Si oui, y a-t-il des avantages de l’un par rapport à l’autre, autres que de pouvoir mettre à jour les plugins individuellement ?
Je ne suis pas un expert en la matière, donc je m’excuse si je dis quelque chose qui n’a pas de sens.
Je pose cette question, car c’est la deuxième fois que j’essaie de mettre à jour via le navigateur et que cela reste bloqué. La première fois, cela a commencé et s’est bloqué au milieu du processus de mise à jour, et puis hier soir (2ème fois), j’ai cliqué sur le bouton de mise à jour, je suis allé me coucher, et ce matin, cela n’avait même pas commencé. J’ai dû annuler et redémarrer.
Utilisez l’interface utilisateur lorsque cela est possible pour minimiser les temps d’arrêt (quelques secondes)
Parfois, certaines formes de mise à jour (par exemple, mise à jour de la version de postgres) nécessitent une mise à jour en ligne de commande. Ceci est nécessaire dans ces cas, mais entraîne un temps d’arrêt sur une installation standard. Généralement environ 20 minutes. Choisissez une période creuse.
Ces occasions devraient être évidentes à partir de l’interface utilisateur.
Si vous souhaitez ajouter ou supprimer un plugin, vous devrez utiliser la reconstruction de la console.
Alors que je mets à jour maintenant, j’ai remarqué que le forum fonctionne toujours, mais qu’il est parfois un peu plus lent. C’est bien par rapport à l’utilisation du terminal, qui semble rendre le forum complètement inopérant. Merci d’avoir clarifié cela.
Même pour un non-expert comme moi ? Je veux dire, y aura-t-il quelque chose qui m’indiquera que je devrais utiliser le terminal à la place ?
D’un point de vue technologique, pensez-vous que cela changera un jour, où nous pourrons tout faire dans le navigateur ? Je ne connais pas les aspects techniques de ce processus, c’est pourquoi je pose la question.
Je soupçonne que cela restera toujours ainsi lors de l’installation standard.
Vous pouvez trouver des ressources ici pour configurer un « écran nous sommes hors ligne, revenez plus tard » afin d’atténuer ces 20 minutes, mais ce n’est pas l’installation standard et je vous suggérerais de garder les choses simples et faciles à prendre en charge.
Voici ce que j’ai remarqué, mais je ne sais pas si c’est une coïncidence : lorsqu’il est bloqué dans cet état où rien ne se passe, je clique sur Réinitialiser la mise à jour. J’essaie de redémarrer, rien ne se passe. Ensuite, je retourne à la page avec toutes les mises à jour et je clique sur le bouton Mettre à jour. Cette fois, la mise à jour démarre. Je ne suis pas sûr s’il y a quelque chose de cassé dans le code qui, après une réinitialisation, le bouton pour redémarrer ne fait rien ? Je n’en ai aucune idée, mais je partage juste mon expérience.
Maintenant, il se met à jour à nouveau, après que j’ai fait ce que je viens de décrire.
Je suis confus maintenant… ça a encore planté, mais quand j’ai actualisé le navigateur, il disait que Discourse était à la dernière version…
Quand je suis allé sur la page principale des mises à jour où se trouvent les plugins, elle montrait bien Discourse comme étant mis à jour
Il semble que ce message d’erreur soit devenu très courant dernièrement, et qu’il ait toujours été résolu en créant un swap. Je ne sais pas pourquoi, car les exigences officielles de Discourse n’ont pas changé.
Alors ./discourse-setup aurait dû créer un espace d’échange automatiquement. Je ne suis pas bien renseigné sur les arcanes de l’administration système, donc je laisserai d’autres en dire plus à ce sujet.
Cela dit, même avec plus que les exigences, des utilisateurs ont rencontré ce problème, donc il y a quelque chose de louche.
Quant à la mise à jour via l’interface, je l’ai trouvée un peu peu fiable au fil des années. Je ne sais pas pourquoi, il semble qu’elle échoue parfois sans raison apparente alors qu’une reconstruction fonctionne.
Y a-t-il un moyen, via le Terminal, de voir s’il y en a déjà un ? (Peut-être que cela répond à ma question ? Je ne suis pas très versé dans les arcanes de l'administration système)
Ok, donc je ne suis pas seul ici.
Je suis un peu confus… utiliser le Terminal, ce sont 2 choses différentes ? Mise à jour et Reconstruction ? Parce que je n’ai utilisé que ./launcher rebuild app et cela fonctionne toujours.
Ah d’accord, maintenant ça a du sens
Oui, c’est aussi mon expérience.
Le seul inconvénient est que la reconstruction arrête complètement le forum, ce qui n’est pas idéal, mais bon… on fait ce qu’on peut.
Sans expertise en la matière, j’ai utilisé Claude et ChatGPT pour m’aider à comprendre les choses. Ainsi, comme suggéré, j’ai opté pour la méthode du fichier d’échange (swapfile), mais comme il a été souligné, j’avais peut-être déjà un fichier d’échange en fonction de la façon dont j’ai installé Discourse. Pour m’en assurer, j’ai exécuté
sudo swapon --show
dans le Terminal et j’ai obtenu ceci :
J’ai donc regardé la colonne « USED » et j’ai pensé : « Eh bien, si le fichier d’échange est utilisé pour aider les choses à fonctionner plus fluidement lorsque la RAM n’est pas suffisante, mais il indique que le fichier d’échange utilise 1,9 Go sur 2 Go, cela n’aidera pas »
J’ai donc demandé à ChatGPT si je pouvais simplement effacer/vider le fichier d’échange et j’ai obtenu cette commande :
sudo swapoff -a && sudo swapon -a
Je l’ai exécutée, j’ai laissé faire et j’ai réexécuté l’autre commande :
sudo swapon --show
Maintenant, je vois ceci :
Je suppose donc qu’il est bon de passer par ce processus de nettoyage/vidage du fichier d’échange de temps en temps ?
La reconstruction depuis la ligne de commande consomme moins de RAM.
Avec une installation à deux conteneurs, vous pouvez construire un nouveau conteneur pendant que l’ancien continue de fonctionner (si vous avez suffisamment de RAM). Cela vous permet d’avoir peu de temps d’arrêt.
Vous devez parfois faire une reconstruction en ligne de commande parce que les bibliothèques sous-jacentes doivent être mises à jour, et cela ne peut pas être fait à partir de l’interface utilisateur.
Vous pouvez
cd /var/discourse
grep swap discourse-setup
pour voir les commandes qu’il exécute pour créer le swap. Si vous exécutez swapoff (pour que le fichier ne soit plus utilisé), vous pouvez ensuite exécuter les commandes qui créent le fichier (fsallocate) en l’agrandissant si désiré, le formater en swap (mkswap) et enfin utiliser swapon -a pour le réactiver.
Si vous avez beaucoup de plugins, il vous faut probablement au total 5 ou 6 Go.