Mise à jour manuelle de code-server – LXC BASTION
Cette procédure permet de mettre à jour code-server installé sous forme de paquet Debian (.deb) sur le LXC BASTION.
1. Informations de l'installation
| Élément | Valeur |
|---|---|
| Utilisateur | nancre |
| Architecture | amd64 |
| Installation | Paquet Debian officiel |
| Binaire | /usr/bin/code-server |
| Installation | /usr/lib/code-server |
| Configuration | /home/nancre/.config/code-server/config.yaml |
| Données utilisateur | /home/nancre/.local/share/code-server |
| Service systemd | code-server@nancre.service |
| Port | 8080/TCP |
2. Vérifier la version actuelle
Avant toute modification, vérifier la version installée :
dpkg -l | grep code-server
/usr/bin/code-server --version
Exemple :
ii code-server 4.130.0 amd64 Run VS Code in the browser.
4.130.0 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx with Code 1.130.0
3. Vérifier que le service fonctionne
sudo systemctl status code-server@nancre.service --no-pager
Le service doit être :
Active: active (running)
Vérifier également que le port 8080 est à l'écoute :
sudo ss -ltnp | grep ':8080'
On doit retrouver une écoute sur :
0.0.0.0:8080
4. Sauvegarder la configuration
Avant la mise à jour, sauvegarder la configuration et les données utilisateur.
cp -a ~/.config/code-server \
~/.config/code-server.backup-$(date +%Y%m%d-%H%M%S)
cp -a ~/.local/share/code-server \
~/.local/share/code-server.backup-$(date +%Y%m%d-%H%M%S)
Vérifier que les sauvegardes existent :
ls -ld ~/.config/code-server.backup-*
ls -ld ~/.local/share/code-server.backup-*
5. Définir la version cible
Remplacer 4.137.0 par la version souhaitée.
export CODE_SERVER_VERSION="4.137.0"
Pour vérifier :
echo "$CODE_SERVER_VERSION"
6. Télécharger le paquet officiel
Se placer dans le répertoire temporaire :
cd /tmp
Télécharger le paquet Debian correspondant à l'architecture AMD64 :
wget "https://github.com/coder/code-server/releases/download/v${CODE_SERVER_VERSION}/code-server_${CODE_SERVER_VERSION}_amd64.deb"
Vérifier que le fichier existe :
ls -lh "/tmp/code-server_${CODE_SERVER_VERSION}_amd64.deb"
7. Vérifier le paquet avant installation
Afficher les informations du paquet :
dpkg-deb -I "/tmp/code-server_${CODE_SERVER_VERSION}_amd64.deb" | grep -E 'Package:|Version:|Architecture:'
Le résultat doit indiquer :
Package: code-server
Version: 4.137.0
Architecture: amd64
8. Installer la nouvelle version
sudo dpkg -i "/tmp/code-server_${CODE_SERVER_VERSION}_amd64.deb"
Si des dépendances sont signalées comme manquantes, exécuter :
sudo apt-get install -f
Puis vérifier de nouveau le paquet :
dpkg -l | grep code-server
9. Vérifier la nouvelle version
/usr/bin/code-server --version
Le résultat doit correspondre à la version cible.
Exemple pour la version 4.137.0 :
4.137.0 b11dabdaca0d3369986975be285db92c8795cea5 with Code 1.137.0
10. Recharger la configuration systemd
L'installation d'un nouveau paquet peut modifier les fichiers systemd. Recharger le gestionnaire systemd :
sudo systemctl daemon-reload
Cette étape est importante si systemd affiche le message :
Warning: The unit file, source configuration file or drop-ins
of code-server@nancre.service changed on disk.
Run 'systemctl daemon-reload' to reload units.
11. Redémarrer code-server
sudo systemctl restart code-server@nancre.service
Vérifier immédiatement le service :
sudo systemctl status code-server@nancre.service --no-pager
Le service doit être :
Active: active (running)
12. Vérifier les logs
Afficher les dernières lignes du journal :
sudo journalctl -u code-server@nancre.service -n 50 --no-pager
En cas de problème, rechercher les erreurs :
sudo journalctl -u code-server@nancre.service --no-pager | grep -Ei 'error|failed|fatal'
13. Vérifier le port d'écoute
sudo ss -ltnp | grep ':8080'
Le port doit être ouvert sur :
0.0.0.0:8080
14. Tester localement
Tester la réponse HTTP de code-server :
curl -I http://127.0.0.1:8080
Une réponse :
HTTP/1.1 401 Unauthorized
est normale puisque l'authentification par mot de passe est activée dans config.yaml.
15. Vérifier la configuration
cat ~/.config/code-server/config.yaml
Configuration actuelle attendue :
bind-addr: 0.0.0.0:8080
auth: password
password: 'MON_MOT_DE_PASSE'
cert: false
Ne pas modifier le mot de passe pendant une simple mise à jour.
16. Test fonctionnel dans le navigateur
Ouvrir l'URL habituelle de code-server et vérifier :
- connexion à code-server ;
- ouverture du workspace ;
- terminal intégré ;
- Git ;
- extensions ;
- extension Codex/OpenAI ;
- accès aux fichiers du workspace.
17. Vérification finale
Exécuter :
echo "=== VERSION ==="
/usr/bin/code-server --version
echo "=== PAQUET ==="
dpkg -l | grep code-server
echo "=== SERVICE ==="
sudo systemctl is-active code-server@nancre.service
echo "=== PORT ==="
sudo ss -ltnp | grep ':8080'
La mise à jour est considérée comme réussie si :
- la version correspond à la version cible ;
- le paquet est en état
ii; - le service retourne
active; - le port 8080 est à l'écoute ;
- l'interface web fonctionne.
18. Procédure de rollback
En cas de problème après la mise à jour, il est possible de revenir à la version précédente.
18.1 Identifier la version précédente
grep code-server /var/log/dpkg.log | tail -20
On peut également consulter :
ls -lh /tmp/code-server_*.deb
Si le paquet précédent a été conservé dans /tmp, il peut être réinstallé directement.
18.2 Télécharger l'ancienne version
Définir la version précédente :
export OLD_VERSION="4.130.0"
Télécharger le paquet :
cd /tmp
wget "https://github.com/coder/code-server/releases/download/v${OLD_VERSION}/code-server_${OLD_VERSION}_amd64.deb"
18.3 Réinstaller l'ancienne version
sudo dpkg -i "/tmp/code-server_${OLD_VERSION}_amd64.deb"
18.4 Recharger systemd
sudo systemctl daemon-reload
18.5 Redémarrer code-server
sudo systemctl restart code-server@nancre.service
18.6 Vérifier le rollback
/usr/bin/code-server --version
sudo systemctl status code-server@nancre.service --no-pager
sudo ss -ltnp | grep ':8080'
La version précédente doit être affichée et le service doit être active (running).
19. Rollback de la configuration utilisateur
Si la mise à jour a également provoqué un problème avec la configuration ou les extensions, arrêter code-server :
sudo systemctl stop code-server@nancre.service
Identifier la sauvegarde créée avant la mise à jour :
ls -ld ~/.config/code-server.backup-*
ls -ld ~/.local/share/code-server.backup-*
Restaurer la configuration :
rm -rf ~/.config/code-server
cp -a ~/.config/code-server.backup-YYYYMMDD-HHMMSS ~/.config/code-server
Restaurer les données utilisateur uniquement si nécessaire :
rm -rf ~/.local/share/code-server
cp -a ~/.local/share/code-server.backup-YYYYMMDD-HHMMSS ~/.local/share/code-server
Redémarrer :
sudo systemctl start code-server@nancre.service
YYYYMMDD-HHMMSS par le nom exact de la sauvegarde. Ne pas supprimer les sauvegardes avant d'avoir validé le fonctionnement de la nouvelle version.20. Commandes rapides – mise à jour
Pour une mise à jour ultérieure déjà validée, la séquence minimale est :
export CODE_SERVER_VERSION="X.Y.Z"
cd /tmp
wget "https://github.com/coder/code-server/releases/download/v${CODE_SERVER_VERSION}/code-server_${CODE_SERVER_VERSION}_amd64.deb"
sudo dpkg -i "/tmp/code-server_${CODE_SERVER_VERSION}_amd64.deb"
sudo systemctl daemon-reload
sudo systemctl restart code-server@nancre.service
/usr/bin/code-server --version
sudo systemctl status code-server@nancre.service --no-pager
sudo ss -ltnp | grep ':8080'
21. Résumé de l'architecture
Utilisateur : nancre
│
▼
code-server@nancre.service
│
▼
/usr/bin/code-server
│
▼
/usr/lib/code-server
│
▼
0.0.0.0:8080
│
▼
Reverse proxy / accès web
Important : le service à utiliser est code-server@nancre.service. Le service utilisateur code-server.service n'est pas celui qui exécute l'instance actuelle.
No comments to display
No comments to display