Migration sans réinstallation vers EOLE 2.6

Le passage de la version mineure 2.5.2 vers une version 2.6 constitue un passage vers une version majeure. Le script Upgrade-Auto disponible sur le serveur permet d'effectuer manuellement la migration d'un module vers les dernières versions stables.

RemarqueDKMS

La procédure de migration refusera de s'exécuter si elle détecte des pilotes compilés (DKMS[1]).

Les DKMS sont en effet susceptibles de faire échouer la procédure : impossibilité de démarrer sur le nouveau noyau, fichier présent dans le paquet DKMS fourni par un autre paquet en standard…

Pour des structures avec un faible débit réseau il est possible de limiter la taille du téléchargement en utilisant une image ISO stockée sur une clef USB, un cédérom ou un dépôt local. Dans ce cas, seuls les paquets plus récents que ceux présents sur l'image ISO seront téléchargés.

Truc & astuce

  • Upgrade-Auto --cdrom permet de copier le contenu du nouveau CD d'installation EOLE et évite le téléchargement de l'image ISO et des paquets déjà présents sur le CD.

  • Upgrade-Auto --download permet de procéder uniquement au téléchargement de l'image ISO de la version cible. La migration n'est effectuée qu'après un nouvel Upgrade-Auto.

  • Upgrade-Auto --iso <chemin de l'image ISO> permet de copier le contenu d'une image ISO d'installation EOLE locale. Cela évite son téléchargement et celui des paquets déjà présents sur le CD.

  • Upgrade-Auto --iso <URl de l'iso>, permet de télécharger l'ISO et les fichiers connexes (le MD5, la signature, ...) depuis une adresse ou un dépôt particulier.

  • Ajouter l'option --download à la commande Upgrade-Auto --cdrom permet de copier le contenu du nouveau CD d'installation EOLE. La migration n'est effectuée qu'après un nouvel Upgrade-Auto.

  • Ajouter l'option --download à la commande Upgrade-Auto --iso <chemin de l'image ISO> permet de procéder uniquement à la copie de l'image ISO. La migration n'est effectuée qu'après un nouvel Upgrade-Auto.

  • L'option --limit-rate <bande passante> permet de personnaliser la limite de la bande passante à utiliser pour le téléchargement. Sa valeur est par défaut fixée à 120k (120 kilooctets). Cette option est passée directement à la commande wget, la valeur 0 désactive la limitation.

ExempleExemples d'utilisation

# Upgrade-Auto --limit-rate 0

# Upgrade-Auto --limit-rate 120k

# Upgrade-Auto --download --limit-rate 10M

# Upgrade-Auto --iso /mnt/images/eole-2.7.2-alternate-amd64.iso

# Upgrade-Auto --iso http://mon.mirroir.local/pub/iso/EOLE-2.8/2.8.1/eole-2.8.1-alternate-amd64.iso

Complément

Consulter le manuel de la commande pour voir toutes les options :

# man Upgrade-Auto

Utiliser un fichier meta-release-lts alternatif

Le fichier meta-release-lts contient les adresses de tous les dépôts Ubuntu.

Dans un environnement sans accès direct à internet, on peut définir, via ce fichier, l'emplacement interne des dépôts à utiliser par Upgrade-Auto.

Dans l'interface de configuration du module, en mode expert, aller dans l'onglet Dépôt tiers.

La variable upgrade_auto_meta_release_repo permet de définir où est téléchargé le fichier meta-release-lts.

Upgrade-Auto pour les applications tierces

Vous pouvez inclure l'upgrade d'applications annexes.

Pour cela, il vous faudra créer un fichier .txt à l'emplacement suivant /usr/share/eole/upgrade/source.list.d/.

Puis indiquer à l'intérieur la version cible (donc la version vers laquelle vous voulez faire l'upgrade), le dépôt actuel, et le nouveau dépôt (celui qui permet d'avoir la version souhaitée) séparés par des ";".

ExempleExemple

Créer le fichier /usr/share/eole/upgrade/source.list.d/mtes.txt avec les lignes suivantes :

2.7.2;deb http://ppa.launchpad.net/slimbook/slimbook/ubuntu xenial main;deb http://ppa.launchpad.net/slimbook/slimbook/ubuntu bionic main

2.7.2;deb http://ppa.launchpad.net/libreoffice/ppa/ubuntu xenial main;deb http://ppa.launchpad.net/libreoffice/ppa/ubuntu bionic main

Puis lancer la commande Upgrade-Auto. Toutes les applications installées depuis le dépôt source seront mises à jour vers leur version du dépôt de destination.

Explication du contenu : 2.7.2 est la version vers laquelle nous souhaitons migrer, le premier ppa inscrit est celui qui est actuellement sur le serveur, le second est le ppa souhaité pour la version 2.7.2.

Mise à disposition

Le script Upgrade-Auto est disponible directement sur le serveur EOLE 2.5.2 après mise à jour de celui-ci.

Fonctionnement général

Le script Upgrade-Auto permet d'effectuer la migration de façon automatique.

Les étapes sont :

  1. choix de la version EOLE 2.6 de destination ;

  2. mise à jour des fichiers sources.list ;

  3. téléchargement des paquets ;

  4. installation des paquets ;

  5. mise à jour automatique des fichiers de configuration (*.eol) ;

  6. mise à jour des paramètres du serveur sur le serveur Zéphir si le serveur y est enregistré.

Procédure détaillée

Pré-requis

Par précaution, il est recommandé de faire une sauvegarde du serveur avant de lancer le script de migration.

La mise à jour du système n'est pas automatisée car elle est susceptible de poser des questions à l'utilisateur en cours d'exécution ;

RemarqueDKMS

La procédure de migration refusera de s'exécuter si elle détecte des pilotes compilés (DKMS[1]).

Les DKMS sont en effet susceptibles de faire échouer la procédure : impossibilité de démarrer sur le nouveau noyau, fichier présent dans le paquet DKMS fourni par un autre paquet en standard…

Attention

L'utilisation du script de migration est critique, il n'y a pas de retour en arrière possible une fois les paquets installés.

Réalisation de la migration

  1. Mettre à jour le serveur EOLE 2.5.2 :

    # Maj-Auto

  2. Reconfigurer et re-démarrer le serveur (si nécessaire) :

    # reconfigure

    # reboot

  3. Lancer le script de migration  :

    # Upgrade-Auto

  4. Si le module utilise les conteneurs, comme c'est le cas pour AmonEcole, il faut recréer les conteneurs :

    # gen_conteneurs

  5. Convertir le fichier config.eol du module sauvegardé

    • Si le serveur est enregistré sur un module Zéphir, il est possible de préparer la configuration et de la récupérer avec la commande enregistrement_zephir :

      # enregistrement_zephir

    • Sinon, exécuter l'interface de configuration du module, vérifier les valeurs et enregistrer.

  6. Instancier et re-démarrer le serveur (si nécessaire) :

    # instance

    # reboot

Truc & astuce

Screen est une console virtuelle qui permet de détacher un terminal du processus appelant. Il permet notamment de récupérer la console virtuelle en cas de coupure du tunnel SSH.

Pour utiliser Screen :

# screen

Pour ouvrir une nouvelle console virtuelle :

Ctrl + a puis c

Pour passer d'une console à l'autre :

Ctrl + a + puis barre espace

Pour mettre Screen en tâche de fond :

# screen -D

Pour récupérer une session Screen :

# screen -x