Manuel de l'administrateur pour l'observation

Installation depuis un disque vide

ATTENTION: toujours effectuer la commande "umask 2" pour liberer l'accès aux autres dévellopeurs

Comme le système d'installation est basé sur les commandes Docopies, Dolinks et interhome, il faut d'abord s'assurer de la disponibilités de ses scripts. Donc si besoin:

exemple avec "cp"

        umask 2
        mkdir ~/scripts
        cd ~/scripts
        cp /net/obsul2/export/home/weber/src/perl/Docopies.pl  ./Docopies
        cp /net/obsul2/export/home/weber/src/perl/Dolinks.pl   ./Dolinks
        mkdir $T4HOME/scripts
        cd $T4HOME/scripts
        cp /net/obsul2/export/home/weber/src/scripts/interhome ./interhome

Puis installation standard:

        mkdir src
        cd src
        Docopies /net/obsul2/export/home/weber/src
        setenv ALPHA_ORG_DIR /net/obsul2/export/home/weber/src
        Full_install.csh

Installation partielle (exemple xaff):

        cd src
        Docopies /net/obsul2/export/home/weber/src
        setenv ALPHA_ORG_DIR /net/obsul2/export/home/weber/src
        Full_install.csh xaff

Installation partielle (exemple perl+modules):

        cd src
        Docopies /net/obsul2/export/home/weber/src
        setenv ALPHA_ORG_DIR /net/obsul2/export/home/weber/src
        Full_install.csh perl perl/LIBASTRO perl/LIBIPC
        mkdir $T4HOME/scripts
        cd $T4HOME/scripts
        cp ~weber/src/scripts/interhome ./interhome

!!! remarque avant de finaliser cette FAQ

attention la mise a jour sour perl est mal gérée dans l'aobsolu il faut faire :

        Docopies        (simond)
        make
        Dolinks
        cd GOP
        Dolinks??
        make
        rm perl/Makefile
        
        Docopies        (weber)
        make
        Dolinks
        cd LIBIPC
        Docopies
        make
        Dolinks
        cd LIBASTRO
        Docopies
        make
        Dolinks
ne pas faire les links avec Compile_lib ,c'est trop tard les Docpies ecrase les makefile...........!!!!!

mise a jour de ok:

Install_ok.csh sous root sur ouranos

Création des directories de base

L'installation peut se faire depuis un disque vierge ou sur un disque déjà en fonction. Seules les commandes nécessaires seront effecuées.

L'ensembles des directories de base se créent avec la commande:

$T4ROOT/beta/src/weber/Mkdir_T4

ou

$T4ROOT/ok/src/Mkdir_T4

Les scripts d'installation se trouve sous ~weber/src, On les accèdent avec la commande standard "Docopies".

Il faut effectuer toutes les opérations d'installations pour chaque environnement (beta et OK) et sous chaque OS (SunOS et Linux).

Ansi la séquence de création est la suivante:

A partir de ce moment, les développeurs peuvent installer leurs directories en beta.

Mise à jour sous et entre différentes versions

Voir les exemples concrets en fin de document--->

La copie des applications entre les version "alpha" et "beta", et "beta" et "ok" est effectuée en fonction de listes définies pour chaque Operating System ($OPSYS) dans des fichiers.

Ces listes définissent deux groupes d'applications:

Les fichier sont nommés:

        pour les applic. standards: "LISTE_APP_$OPSYS"  ex: LISTE_APP_Linux_2.0
        pour les applic. Inters:    "LISTE_INT_$OPSYS"  ex: LISTE_INT_SunOS_5.5

Elles contiennent le nom du devellopeur responsable de l'application et l'application. Exemple:

        jolissai/wfa/
        maire/t120/
        simond/libamc/
        t4/tele/
        weber/gop/

Divers utilitaires les utilisent.

REMARQUES: Les listes et les utilitaires suivent la philosophie du projet et se propagent avec la commande Docopies. Leur directory de base est ~weber/src

Les utilitaires permettent de réaliser divers travaux, tel que:

Il travaillent par défaut avec les fichiers de liste mais on peut nommer les applications selon les priorités suivantes:

  1. liste des applications données sur la ligne de commande
  2. liste des applications données dans les variables d'environnement $LISTE_APP et $LISTE_INT
  3. selon les fichiers de LISTE_*_$OPSYS

Attention, quelque soit le mode de travail utilisé, il est absolument nécessaire de posséder les fichiers de LISTE dans le directory courant car ces fichier servent de référence pour retrouver le nom du dévellopeur.

Exemple, si on tape "Install.csh gop", le script retrouve la ligne "weber/gop" et peut faire l'installation de manière adéquate, il sait où se trouve l'application.

Ces utilitaires peuvent être utilisé de manière identique pour les versions alpha, beta et ok. La seule contrainte est (pour leur utilisation en alpha) est que le dévellopeur ait installé ses applications sous ~/src.

Les utilitaires sont:

Remarque: les opérations sur la version "beta" se font naturellement uniquement sur vos fichiers. Dans ce cas, le scripts extrait (grep) les lignes contenant $USER.

Exemple, si Luc (Weber) fait "Make_inters" en "beta", la mise à jour se fait uniquement sur "ccd" et "spectro". Si Charles (Maire) le fait en "beta", la mise à jour porte sur "t120". Si n'importe qui le fait en "ok" c'est alors "ccd", "spectro" et "t120" qui sont mis à jour.

Il faut savoir que ces opérations ne peuvent se faire que depuis le bon directory. C'est à dire:

Exemples concrets

Remarque préliminaire: Les opérations citées ci-dessous sont à effectuer sous SunOS et sous Linux, cela signifie chaque fois deux login.

Deplus les commandes "ugtool t4" peuvent être remplacée par (notament sous Linux):

source /unige/obs/util/env/t4.csh

        ugtool t4
        cd $T4HOME/src
        Docopies $T4ROOT/beta/src/weber
        Full_install.csh
        ugtool t4
        cd $T4HOME/src
        Install.csh gop
        Update.csh
        login weber
                ugtool t4_beta
                cd $T4HOME/src/weber
                Make_inters
        login maire
                ugtool t4_beta
                cd $T4HOME/src/maire
                Make_inters
        login weber
                ugtool t4_beta
                cd $T4HOME/src/weber
                Full_install.csh
        login weber
                ugtool t4_beta
                cd $T4HOME/src/weber
                Install.csh gop
                Update.csh
        login maire
                ugtool t4_beta
                cd $T4HOME/src/maire
                Update.csh
        login simond
                ugtool t4_beta
                cd $T4HOME/src/simond
                Update.csh
        login ...

Si la dépendence n'existe pas dans le Makefile, la séquence devient:

        login weber
                ugtool t4_beta
                cd $T4HOME/src/weber
                Install.csh gop
                Update.csh
        login maire
                ugtool t4_beta
                cd $T4HOME/src/maire
                rm t120/t120_$OPSYS
                rm t120_srv/t120_srv_$OPSYS
                ...
                Update.csh
        login ...
        ugtool t4
        cd $T4HOME/src/
        Full_install.csh xaff

ou (methode équivalente)

        ugtool t4
        cd $T4HOME/src/xaff
        Docopies $T4ROOT/beta/src/weber/xaff
        make
        Dolinks

Remarque sur les installations

ce qu'il faut savoir si on met à jour alpha, beta ou ok:

pour alpha:

        dtterm ->
        rlogin glspc1 ->
        cd ~weber/src/spectro_srv ->
        make

pour beta:

        dtterm ->
        rlogin glspc1 ->
        source /unige/obs/util/env/t4_beta.csh ->
        cd $T4HOME/src/weber/spectro_srv ->
        (Docopies ~weber/src/spectro_srv) ->
        make

pour ok:

        dtterm ->
        rlogin glspc1 ->
        source /unige/obs/util/env/t4.csh ->
        cd $T4HOME/src/weber/spectro_srv ->
        (Docopies $T4ROOT/ok/src/spectro_srv) ->
        make

Il faut également une fenêtre root pour faire le setuid. Une seule fenêtre est nécessaire même si on met à jour plusieurs versions simultanément. En effet "setuid_root_for_spectro_srv.csh" fait les trois copies!

pour root:

        dtterm ->
        rlogin glspc1 ->
        cd ~weber/src/spectro_srv ->
        su ->            (!!!! attention "su" mais pas "su - root" !!!!!!)
        tcsh ->
        setuid_root_for_spectro_srv.csh

ATTENTION: il faut biensûr relancer le script

"setuid_root_for_spectro_srv.csh" apres chaque make!

Installation de beta/src/maire

Mise a jour du serveur T120

Installation de beta/src/simond

dans /home/simond/T120/scripts
il y a un script install_beta qui fait tout desole mais je croit qu'il marche a l'envers de Docopies il faut etre dans le repertoire source et faire

/home/simond/T120/scripts/install_beta dstdir

Intallation de beta/src/weber

rem: Il faut le mot de passe de root pour installer spectro_srv

Sur sun (ouranos):

Sur glspc1 (obligatoire pour coralie):

        Attention, sous Linux les applications ne doivent pas tourner pour
        que le link aie lieu.

        source /unige/obs/util/env/t4_beta.csh
        cd $T4HOME/src/weber
        Docopies ~weber/src
        Mkdir_T4.csh
        Full_install.csh

        - verifier le dernier listing des links
        
        cd spectro_srv
        su root         (attention pas faire: "su - root" !!!!)
        setuid_root_for_spectro_srv.csh
        - répondre "y" aux trois "cp: overwrite ?"
        exit
        dolinks_for_spectro_srv.csh

Intallation de ok depuis beta

rem: Il faut le mot de passe de root pour installer spectro_srv

Sur sun (ouranos):

Sur glspc1 (obligatoire pour coralie):

        Attention, sous Linux les applications ne doivent pas tourner pour
        que le link aie lieu.

        source /unige/obs/util/env/t4.csh
        cd $T4HOME/src
        Docopies $T4ROOT/beta/src/weber
        Mkdir_T4.csh
        Full_install.csh

        - verifier le dernier listing des links
        
        cd spectro_srv
        su root         (attention pas faire: "su - root" !!!!)
        setuid_root_for_spectro_srv.csh
        - répondre "y" uniquement au "cp: overwrite ?" de la version ok
        exit
        dolinks_for_spectro_srv.csh

Compilation de spectro_srv

Remarques préliminaires

Le spectro_srv doit tourner en mode setuid pour root.

La raison est que spectro_srv accède les ports d'entrée/sortie qui sont inaccessibles aux utilisateurs communs.

Linux ne connaissant que son propre "root", l'exécutable de spectro_srv doit être sur un disque local du PC.

Habituellement les links sur les exécutables se font sur $T4HOME/bin/$OPSYS/ et pointent sur la structure $T4HOME pour beta et ok ou chez le dévellopeur du produit pour la version alpha.

Comme le l'exécutable doit être sur le disque du PC, les exécutables sont mis dans le file system du PC sous /spectro_srv. On a donc (ex):

        /spectro/alpha/spectro_srv_Linux_2.0
        /spectro/beta/spectro_srv_Linux_2.0
        /spectro/ok/spectro_srv_Linux_2.0

les links sous $T4HOME/bin/Linux_2.0 vont vers ces fichiers.

Naturellement, les links pour Sun restent standards.

Ainsi la compilation, le make fabrique les links spécifiques pour Linux avec le script:

dolinks_for_spectro_srv.csh

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Ce script est à appeler manuellement apres une installation générale car malheureusement, les installation genérales fabriquent les links vers les directories standard
Donc si le make fabrique un nouvel exécutable, les links sont fait correctement !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Apres une compilation, le mode d'exécution de l'exécutable doit être mis en setuid root avec le script:

setuid_root_for_spectro_srv.csh

L'opération doit être faite sous root. Le script place les exécutables (alpha, beta et ok) dans les directories /spectro/XXX et les mets en setuid root. L'opérateur est questionné pour effectuer la copie. Habituellement on ne copie que la version que l'on vient de modifier (on sait jamais). Exemple pour un mise à jour de alpha:

[weber@glspc1 spectro_srv]# setuid_root_for_spectro_srv.csh cp: overwrite `/spectro/alpha/spectro_srv_Linux_2.0'? y cp: overwrite `/spectro/beta/spectro_srv_Linux_2.0'? n cp: overwrite `/spectro/ok/spectro_srv_Linux_2.0'? n

Attention, sous Linux, on ne peut pas modifier (copier par exemple) un programme en cours d'exécution. Ainsi, si l'Inter-Coralie est connecté sur spectro_srv, on aura le message suivant:

[weber@glspc1 spectro_srv]# setuid_root_for_spectro_srv.csh cp: overwrite `/spectro/alpha/spectro_srv_Linux_2.0'? y cp: cannot create regular file `/spectro/alpha/spectro_srv_Linux_2.0': Text file busy

Dans ce cas, il fait effectuer un "spectro /quit" sur l'Inter-Coralie et relancer le script.