serveurs:mise-a-jour:systeme-debian

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
serveurs:mise-a-jour:systeme-debian [2024/01/24 11:32] – [Procédure de mise à jour] jpmilcentserveurs:mise-a-jour:systeme-debian [2024/06/13 10:33] (Version actuelle) – [Procédure post mise à jour] jpmilcent
Ligne 3: Ligne 3:
 ====== Procédure de mise à jour ====== ====== Procédure de mise à jour ======
   * Informer à l'avance les principaux utilisateurs de l'instance de la mise à jour en cours.   * Informer à l'avance les principaux utilisateurs de l'instance de la mise à jour en cours.
-  * Vérifier que l'instance à mettre à jour a  bien été sauvegardée par le mécanisme de snapshot d'OVH. +  * Vérifier la présence d'une sauvegarde correcte et récente : 
-  Vérifier que la sauvegarde via Borgmatic du système et des éventuelles base de données a bien été réalisé.+    * d'un snapshot de l'instance à mettre à jour sur l'interface d'OVH. 
 +    d'une sauvegarde via Borgmatic du système et des éventuelles base de données.
   * Connectez vous en tant que //root// à l'instance depuis la console VNC du manager OVH. Cela permettra de surveiller l'instance lors des redémarrages.   * Connectez vous en tant que //root// à l'instance depuis la console VNC du manager OVH. Cela permettra de surveiller l'instance lors des redémarrages.
-  * Vérifiez et noter le système d’exploitation actuellement installé sur votre machine : ''lsb_release -a'' +  * Vérifiez et notez : 
-  Vérifiez et noter le noyau actuellement installé : ''uname -mrs'' +    * le système d’exploitation actuellement installé sur votre machine : ''lsb_release -a'' 
-  Vérifier et noter la version de Debian : ''cat /etc/debian_version''+    * le noyau actuellement installé : ''uname -mrs'' 
 +    * la version de Debian : ''cat /etc/debian_version''
   * Sauvegarder les éléments qui pourrait s'avérer nécessaire une fois la mise à jour lancée : <code bash>   * Sauvegarder les éléments qui pourrait s'avérer nécessaire une fois la mise à jour lancée : <code bash>
 cd /home/admin/dwl/ cd /home/admin/dwl/
Ligne 33: Ligne 35:
 </code> </code>
     * Suppression des paquets listés avec ''apt remove <nom-paquet-1> <nom-paquet-1> <nom-paquet-...>''     * Suppression des paquets listés avec ''apt remove <nom-paquet-1> <nom-paquet-1> <nom-paquet-...>''
-  * Supprimer les paquets n'appartenant pas aux dépôts officiel Debian et qui ne sont pas utile sur le serveur. Il faut bien sûr **garder les paquets nécessaire** (Ex. Docker, Postgreql). Utiliser la commande  : <code bash>apt list --installed "?not(?origin(debian))"</code>+  * Supprimer les paquets n'appartenant pas aux dépôts officiel Debian et qui ne sont pas utile sur le serveur. Il faut bien sûr **garder les paquets nécessaire** (Ex. Docker, Postgreql). Utiliser la commande  : <code bash> 
 +apt list --installed "?not(?origin(debian))" 
 +aptitude search '?narrow(?installed, ?not(?origin(Debian)))' 
 +</code>
   * Chercher et supprimer les anciens fichier de configuration devenus inutiles : ''find /etc -name "*.dpkg-*" -o -name "*.ucf-*" -o -name "*.merge-error"''   * Chercher et supprimer les anciens fichier de configuration devenus inutiles : ''find /etc -name "*.dpkg-*" -o -name "*.ucf-*" -o -name "*.merge-error"''
     * Utilisation de ''diff'' pour voir les différences et application des changements aux fichiers de config existants.     * Utilisation de ''diff'' pour voir les différences et application des changements aux fichiers de config existants.
Ligne 54: Ligne 59:
   * Mettez à jour les paquets :''apt update''   * Mettez à jour les paquets :''apt update''
   * Effectuer une mise à niveau minimale (met à niveau tous les paquets existants sans installer ni supprimer d’autres paquets) : ''%%apt upgrade --without-new-pkgs%%''   * Effectuer une mise à niveau minimale (met à niveau tous les paquets existants sans installer ni supprimer d’autres paquets) : ''%%apt upgrade --without-new-pkgs%%''
-  * Au cours du processus de mise à niveau, vous recevrez sans doute diverses questions comme « Voulez-vous redémarrer le service ? » ou bien « Que faire avec ce fichier de configuration ? ». D’une manière générale, répondez Oui pour redémarrez les services et appuyez sur Entrée pour conserver les fichier de configurations existants, sauf si vous savez ce que vous faites.+  * Au cours du processus de mise à niveau, vous recevrez sans doute diverses questions comme « Voulez-vous redémarrer le service ? » ou bien « Que faire avec ce fichier de configuration ? ». D’une manière générale, répondez Oui pour redémarrez les services et appuyez sur Entrée pour conserver les fichier de configurations existants, sauf si vous savez ce que vous faites. Les fichiers de config proposés sont retrouvables par la suite et vont permettre de rechercher les différences pour les appliquer si nécessaire.
   * Effectuer la mise à niveau complète : ''apt full-upgrade''   * Effectuer la mise à niveau complète : ''apt full-upgrade''
   * Une fois la mise à niveau vers la nouvelle version de Debian terminée, redémarrez votre machine : ''systemctl reboot''   * Une fois la mise à niveau vers la nouvelle version de Debian terminée, redémarrez votre machine : ''systemctl reboot''
Ligne 81: Ligne 86:
       * Sauvegarder l'ancien venv : ''mv venv "venv.save$(date +"%Y-%m-%d")"''       * Sauvegarder l'ancien venv : ''mv venv "venv.save$(date +"%Y-%m-%d")"''
       * Réinstaller en suivant [[serveurs:installation:script-srvstatus#installer_le_script|la documentation]] (inule de cloner à nouveau, mettre à jour seulement avec ''git pull'').       * Réinstaller en suivant [[serveurs:installation:script-srvstatus#installer_le_script|la documentation]] (inule de cloner à nouveau, mettre à jour seulement avec ''git pull'').
-  * Pour le serveur //db-srv//, il a été nécessaire de : + 
-    désinstaller la dernière version de Postgresql (16) qui s'est installé automatiquement : +=== Serveur db-srv === 
-      * voir les version actuelles de Postgresql qui fonctionnent : ''pg_lscluster'' +  Désinstaller la dernière version de Postgresql (16) qui s'est installé automatiquement : 
-      * chercher les paquets Postgresql installés : ''apt list --installed|grep postgresql'' +    * voir les version actuelles de Postgresql qui fonctionnent : ''pg_lsclusters'' 
-    * Corriger les collations des bases de données Postgresql :  +    * chercher les paquets Postgresql installés : ''%%apt list --installed|grep postgresql%%'' 
-      * Ressource : [[https://www.postgresql.org/docs/current/sql-altercollation.html#SQL-ALTERCOLLATION-NOTES|Doc Postgresql ALTER COLLATION]] +  * Corriger les collations des bases de données Postgresql :  
-      * Passer en utilisateur //postgres// : ''su - postgres'' +    * Ressource : [[https://www.postgresql.org/docs/current/sql-altercollation.html#SQL-ALTERCOLLATION-NOTES|Doc Postgresql ALTER COLLATION]] 
-      * Lancer //Psql// : ''psql'' +    * Passer en utilisateur //postgres// : ''su - postgres'' 
-      * Lister les problèmes de collations vis à vis des bases de données :<code sql>+    * Lancer //Psql// : ''psql'' 
 +    * Lister les problèmes de collations vis à vis des bases de données :<code sql>
 SELECT datname, SELECT datname,
   datcollate,   datcollate,
Ligne 96: Ligne 102:
 FROM pg_database; FROM pg_database;
 </code> </code>
-      * Pour chaque base avec une collation //datcollversion// différente de //pg_database_collation_actual_version//, il faut : +    * Pour chaque base avec une collation //datcollversion// différente de //pg_database_collation_actual_version//, il faut : 
-        * Basculer sur la base (Ex. pour //geonature2db//) : ''\c geonature2db'' +      * Basculer sur la base (Ex. pour //geonature2db//) : ''\c geonature2db'' 
-        * Liste les éventuels objets à reconstruire : <code sql>+      * Liste les éventuels objets à reconstruire : <code sql>
 SELECT pg_describe_object(refclassid, refobjid, refobjsubid) AS "Collation",   SELECT pg_describe_object(refclassid, refobjid, refobjsubid) AS "Collation",  
   pg_describe_object(classid, objid, objsubid) AS "Object"     pg_describe_object(classid, objid, objsubid) AS "Object"  
Ligne 106: Ligne 112:
 ORDER BY 1, 2; ORDER BY 1, 2;
 </code> </code>
-        * Mettre à jour la collation, une fois les objets reconstruits : <code sql>ALTER DATABASE geonature2db REFRESH COLLATION VERSION;</code> +      * Mettre à jour la collation, une fois les objets reconstruits : <code sql>ALTER DATABASE geonature2db REFRESH COLLATION VERSION;</code> 
-    * Se connecter à //web-srv// pour Relancer les services SystemD de GeoNature, GeoNature-Atlas, TaxHub et UsersHub. L'arrêt de la base de données Postgresql semble leurs poser problème dans certains cas. +      * La base //template0// ne doit pas avoir de collation. Pour Debian 12, nous devrions au final avoir quelque chose comme ceci:<code> 
-   Pour le serveur //web-srv//, il a été nécessaire de +   datname    | datcollate  | datcollversion | pg_database_collation_actual_version  
-     * Recréer les //venv// de :  +--------------+-------------+----------------+-------------------------------------- 
-       * GeoNature + geonature2db | fr_FR.UTF-8 | 2.36           | 2.36 
-       GeoNature-Atlas + template1    | fr_FR.UTF-8 | 2.36           | 2.36 
-       * TaxHub + admin        | fr_FR.UTF-8 | 2.36           | 2.36 
-       * UsersHub + gnatlas      | fr_FR.UTF-8 | 2.36           | 2.36 
-     * Relancer les services SystemD de GeoNature, GeoNature-Atlas, TaxHub et UsersHub. + postgres     | fr_FR.UTF-8 | 2.36           | 2.36 
-   * Pour le serveur //bkp-srv//, il a été nécessaire de recréer les //venv// suivant : + telegraf     | fr_FR.UTF-8 | 2.36           | 2.36 
-       * ''/opt/srvstatus/venv'' : [[serveurs:installation:script-srvstatus#installer_le_script|voir la section Installer le script]]  + template0    | fr_FR.UTF-8 |                | 2.36 
-       * ''/root/borg-env'' : [[serveurs:installation:bkp-srv:install-borg#installer_borg_sur_bkp-srv|voir la section Installer Borg sur Bkp-Srv]] +(7 lignes) 
-       * ''/home/backups/borg-env/'' : [[serveurs:installation:bkp-srv:install-borg#installer_borg_sur_bkp-srv|voir la section Installer Borg sur Bkp-Srv]] +</code> 
-       * ''/home/backups/osc-env/'' : [[serveurs:installation:bkp-srv:install-instance-backup-script#installation_d_openstack_client_ocs|voir la section Installation d'OpenStack Clien OCS]]+      Il existe également des [[https://gist.github.com/troykelly/616df024050dd50744dde4a9579e152e|scripts Bash capable d'automatiser cette mise à jour des collations]].  
 +  * Pour le SINP PACA, il a été nécessaire de se connecter à //web-srv// pour relancer les services SystemD de GeoNature, GeoNature-Atlas, TaxHub et UsersHub. L'arrêt de la base de données Postgresql semble leurs poser problème dans certains cas. 
 +  Installer Pipx qui remplace l'utilisation de ''%%pip install --user%%'' à partir de Debian 12 : 
 +    * En tant que //root// installer le paquet : ''sudo apt install pipx'' 
 +    * Se connecter en tant que //geonat// sur //db-srv// : '' ssh geonat@db-<sinp-region>-sinp '' 
 +    * Configurer les chemins d'accès : ''pipx ensurepath'' 
 +    * Installer Pipenv : ''pipx install pipenv'' 
 +    * Relancer le terminal pour prendre en compte les changement ou essayer : ''source ~/.bashrc'' 
 +    * Vérifier que Pipx est fonctionnel : ''%%pipx --version%%'' 
 +  * Réinstaller le venv avec Pipenv dans ''/home/geonat/data/import-parser/''
 +    * Supprimer l'ancienne installation du venv : ''cd ~/.local/share/virtualenvs/ ; rm -f import-parser-* '' 
 +    * Retourner dans le dossier du Parser : ''cd ~/data/import-parser/'' 
 +    * Ré-installer le venv et les dépendances : '' pipenv install '' 
 +  * Réinstaller le venv avec Pipenv dans ''/home/geonat/data/gn2pg/''
 +    * Supprimer l'ancienne installation du venv : ''cd ~/.local/share/virtualenvs/ ; rm -f gn2pg-* '' 
 +    * Retourner dans le dossier du Parser : ''cd ~/data/gn2pg/'' 
 +    * Ré-installer le venv et les dépendances : '' pipenv install '' 
 + 
 +=== Serveur web-srv === 
 +  * Recréer les //venv// de :  
 +    * GeoNature : ''cd install; ./01_install_backend.sh'' 
 +      Installer le SDK Sentry dans le venv de GN : ''%% pip install --upgrade sentry-sdk[flask] %%'' 
 +      * Pour Debian 12 et Python 3.11, nécessite de modifier le fichier ''backend/requirements-common.txt'' :<code> 
 +lxml==4.9.4 
 +fiona==1.8.22 
 +</code> 
 +    * TaxHub : 
 +       Pour Debian 12 et Python 3.11, nécessite de modifier le fichier ''requirements-common.txt'' :<code> 
 +psycopg2==2.9.5 
 +</code> 
 +    * UsersHub : 
 +      * Pour Debian 12 et Python 3.11, nécessite de modifier le fichier ''requirements-common.txt'' :<code> 
 +Jinja2==2.11.3 
 +psycopg2==2.9.5 
 +MarkupSafe==2.0.1 
 +</code> 
 +    * GeoNature-Atlas : 
 +      * Pour Debian 12 et Python 3.11, nécessite de modifier le fichier ''requirements.txt'' :<code> 
 +greenlet==1.1.3 
 +</code> 
 +    * Relancer les services SystemD de GeoNature, GeoNature-Atlas, TaxHub et UsersHub. 
 + 
 +=== Serveur bkp-srv ===  
 +  * Recréer les //venv// suivant : 
 +    * ''/opt/srvstatus/venv'' : [[serveurs:installation:script-srvstatus#installer_le_script|voir la section Installer le script]]  
 +    * ''/root/borg-env'' : [[serveurs:installation:bkp-srv:install-borg#installer_borg_sur_bkp-srv|voir la section Installer Borg sur Bkp-Srv]] 
 +    * ''/home/backups/borg-env/'' : [[serveurs:installation:bkp-srv:install-borg#installer_borg_sur_bkp-srv|voir la section Installer Borg sur Bkp-Srv]] 
 +    * ''/home/backups/osc-env/'' : [[serveurs:installation:bkp-srv:install-instance-backup-script#installation_d_openstack_client_ocs|voir la section Installation d'OpenStack Clien OCS]]
          
  
Ligne 207: Ligne 260:
     * //web-srv// :      * //web-srv// : 
       * SINP-PACA : <code>Linux 4.19.0-24-cloud-amd64 x86_64</code>       * SINP-PACA : <code>Linux 4.19.0-24-cloud-amd64 x86_64</code>
-      * SINP-AURA : +      * SINP-AURA : <code>Linux 4.19.0-16-cloud-amd64 x86_64</code>
     * //bkp-srv// :      * //bkp-srv// : 
       * SINP-AURA : <code>Linux 4.19.0-25-cloud-amd64 x86_64</code>       * SINP-AURA : <code>Linux 4.19.0-25-cloud-amd64 x86_64</code>
   * Résultat de ''cat /etc/debian_version'' : <code>10.13</code>   * Résultat de ''cat /etc/debian_version'' : <code>10.13</code>
 +  * Résultat de ''aptitude search '?narrow(?installed, ?not(?origin(Debian)))'': 
 +    * SINP AURA :
 +      * web-srv: <code>
 +i   containerd.io                                                   - An open and reliable container runtime                                    
 +i A docker-buildx-plugin                                            - Docker Buildx cli plugin.                                                 
 +i   docker-ce                                                       - Docker: the open-source application container engine                      
 +i   docker-ce-cli                                                   - Docker CLI: the open-source application container engine                  
 +i A docker-ce-rootless-extras                                       - Rootless support for Docker.                                              
 +i   docker-compose-plugin                                           - Docker Compose (V2) plugin for the Docker CLI.                            
 +i A linux-image-4.19.0-16-cloud-amd64                               - Linux 4.19 for x86-64 cloud (signed)  
 +</code>
   *  Fichier ''sources.list'' de Debian 11 : <code apt_sources [enable_line_numbers="true"]>   *  Fichier ''sources.list'' de Debian 11 : <code apt_sources [enable_line_numbers="true"]>
 # Main # Main
Ligne 225: Ligne 289:
 deb-src http://deb.debian.org/debian bullseye-backports main contrib non-free deb-src http://deb.debian.org/debian bullseye-backports main contrib non-free
 </code> </code>
 +  * Résultat de ''find /etc -name "*.dpkg-*" -o -name "*.ucf-*" -o -name "*.merge-error"'': 
 +    * SINP AURA : 
 +      * web-srv : <code> 
 +/etc/default/rkhunter.ucf-dist 
 +/etc/firewalld/firewalld.conf.dpkg-dist 
 +/etc/ca-certificates.conf.dpkg-old 
 +/etc/ssh/sshd_config.ucf-dist 
 +/etc/rkhunter.conf.dpkg-dist 
 +/etc/cron.daily/bsdmainutils.dpkg-remove 
 +/etc/cron.daily/rkhunter.dpkg-dist 
 +/etc/apt/apt.conf.d/50unattended-upgrades.ucf-dist 
 +/etc/cloud/cloud.cfg.dpkg-dist 
 +/etc/nginx/sites-available/default.dpkg-dist 
 +/etc/nginx/nginx.conf.dpkg-dist 
 +</code>
  
  
  • serveurs/mise-a-jour/systeme-debian.1706095927.txt.gz
  • Dernière modification : 2024/01/24 11:32
  • de jpmilcent