Installer et désinstaller des logiciels.

Dans cette section est proposée une procédure d'installation (et de désinstallation) des logiciels sur les Clients Linux qui repose sur des scripts lancés sur les clinux à chaque démarrage.

Remarque

Cette procédure ne freine pas l'ouverture de session car le script se déroule arrière plan. Elle garantie une ouverture de session optimale.

Procédure

  1. Se connecter sur le SE4FS en root

  2. Déposer le script installer_logiciel_unefois.sh dans le répertoire /var/sambaedu/clinux/once/

    Remarque

    Ce répertoire /var/sambaedu/clinux/once/ contient l'ensemble des scripts qui sont lancés au démarrage des clinux, lorsqu'ils se trouvent à la racine de ce répertoire.

    Dans ce répertoire, vous pouvez créer des sous-répertoires mais les scripts qui sont dans ces sous-répertoires ne seront pas lancés.

    Pour la structure de vos scripts, vous pouvez vous inspirer du script installer_sweethome3d_unefois.sh qui sert d'exemple. Quelques commentaires de ce script vous donneront les indications nécessaires.

    ExempleInstallation de Sweethome3D

    Le script fourni ci-dessous concerne l'installation du logiciel Sweethome3D, il faudra adapter le script en fonction du logiciel que vous voulez installer.

    script installer_sweethome3d_unefois.sh

    1
    #!/bin/bash
    2
    #
    3
    #***********************************************
    4
    # installer_sweethome3d_unefois.sh
    5
    #
    6
    # installation de sweethome3d
    7
    #
    8
    # Peut servir de modèle pour les scripts unefois (ou chaquefois)
    9
    # → rajoutez votre programme            → voir en bas de ce fichier
    10
    # → rajoutez un texte pour le témoin    → variable texte_temoin
    11
    #
    12
    # Si c'est un script chaquefois, commentez la ligne tester_temoin
    13
    #
    14
    # 20210505
    15
    #***********************************************
    16
    17
    texte_temoin="sweethome3d installé"    # Mettre ici un texte court
    18
    19
    # Témoin de passage du script sur le client
    20
    script_nom="$(basename ${0})"   # nom du script, sans le chemin
    21
    nom="${script_nom%.*}"          # et sans l'extension
    22
    temoin=/root/temoins/temoin.${nom}
    23
    24
    tester_se4()
    25
    {
    26
        # pour éviter de lancer le script sur le se4fs
    27
        # On rend le script "crétin-résistant"
    28
        [ -e /var/sambaedu/clinux ] && echo "Malheureux... Ce script est à exécuter sur les clients-Linux, pas sur le serveur !" && exit 1
    29
    }
    30
    31
    tester_temoin()
    32
    {
    33
        # On teste si le temoin est présent ou non
    34
        if [ ! -e "${temoin}" ]
    35
        then
    36
            # pas de témoin : on peut donc continuer
    37
            true
    38
        else
    39
            # le témoin existe : on sort du programme
    40
            exit 0
    41
        fi
    42
    }
    43
    44
    poser_temoin()
    45
    {
    46
        # on pose un témoin d'exécution du programme
    47
        echo "${texte_temoin}" > ${temoin}
    48
    }
    49
    50
    installer_sweethome3d()
    51
    {
    52
        # On installe sweethome3d
    53
        apt-get update && apt-get -y install sweethome3d
    54
    }
    55
    56
    #*****
    57
    # programme
    58
    tester_se4      # pour éviter de lancer le script sur le se4fs
    59
    tester_temoin   # à commenter pour un script chaquefois
    60
    # ↓ votre programme : début ↓
    61
    installer_sweethome3d
    62
    # ↑ votre programme : fin ↑
    63
    poser_temoin
    64
    exit 0
    65
    # fin du programme

    ComplémentMéthode pour déposer le script sur le serveur

    Copier le contenu du script à déposer,

    se positionner sur le serveur dans le dossier indiqué,

    exécuter les commandes suivantes :

    nano installer_sweethome3d_unefois.sh # cela créé le fichier (s'il n'existe pas) et l'édite

    Ctrl+Maj+v # cela copie le contenu du presse papier

    Ctrl+o # pour enregistrer le fichier

    Ctrl+x # pour quitter l'édition du fichier

  3. Résultat

    Et c'est tout ! Votre logiciel sera en place sur l'ensemble des clinux.

Truc & astuceSi l'installation ne se fait pas sur certains des clients

Il faut commenter dans le script, la ligne :

tester_temoin # à commenter pour un script chaquefois

en mettant un # en début de ligne :

#tester_temoin # à commenter pour un script chaquefois

Ainsi le script se relancera à chaque fois. Cela n'a pas d'impact sur les clients qui ont déjà le logiciel d'installé.

Conseil

Pour désinstaller un logiciel, il suffit de modifier le script en remplaçant la commande d'installation par une commande de désinstallation.

Modifiez aussi le nom du script.