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 14:49] – [Procédure post 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 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> 
-        * La base //template0// ne doit pas avoir de collation. Pour Debian 12, nous devrions au final avoir quelque chose comme ceci:<code>+      * La base //template0// ne doit pas avoir de collation. Pour Debian 12, nous devrions au final avoir quelque chose comme ceci:<code>
    datname    | datcollate  | datcollversion | pg_database_collation_actual_version     datname    | datcollate  | datcollversion | pg_database_collation_actual_version 
 --------------+-------------+----------------+-------------------------------------- --------------+-------------+----------------+--------------------------------------
Ligne 119: Ligne 125:
 (7 lignes) (7 lignes)
 </code> </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. +      Il existe également des [[https://gist.github.com/troykelly/616df024050dd50744dde4a9579e152e|scripts Bash capable d'automatiser cette mise à jour des collations]].  
-   Pour le serveur //web-srv//, il a été nécessaire de +  * 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. 
-     * Recréer les //venv// de :  +  Installer Pipx qui remplace l'utilisation de ''%%pip install --user%%'' à partir de Debian 12 : 
-       * GeoNature +    * En tant que //root// installer le paquet : ''sudo apt install pipx'' 
-       GeoNature-Atlas +    * Se connecter en tant que //geonat// sur //db-srv// : '' ssh geonat@db-<sinp-region>-sinp '' 
-       * TaxHub +    * Configurer les chemins d'accès : ''pipx ensurepath'' 
-       * UsersHub +    * Installer Pipenv : ''pipx install pipenv'' 
-     * Relancer les services SystemD de GeoNature, GeoNature-Atlas, TaxHub et UsersHub. +    * Relancer le terminal pour prendre en compte les changement ou essayer : ''source ~/.bashrc'' 
-   * Pour le serveur //bkp-srv//, il a été nécessaire de recréer les //venv// suivant : +    * Vérifier que Pipx est fonctionnel : ''%%pipx --version%%'' 
-       * ''/opt/srvstatus/venv'' : [[serveurs:installation:script-srvstatus#installer_le_script|voir la section Installer le script]]  +  * Réinstaller le venv avec Pipenv dans ''/home/geonat/data/import-parser/''
-       * ''/root/borg-env'' : [[serveurs:installation:bkp-srv:install-borg#installer_borg_sur_bkp-srv|voir la section Installer Borg sur Bkp-Srv]] +    * Supprimer l'ancienne installation du venv : ''cd ~/.local/share/virtualenvs/ ; rm -f import-parser-* '' 
-       * ''/home/backups/borg-env/'' : [[serveurs:installation:bkp-srv:install-borg#installer_borg_sur_bkp-srv|voir la section Installer Borg sur Bkp-Srv]] +    * Retourner dans le dossier du Parser : ''cd ~/data/import-parser/'' 
-       * ''/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]]+    * 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 219: 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 237: 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.1706107774.txt.gz
  • Dernière modification : 2024/01/24 14:49
  • de jpmilcent