Login-Profile

Un article de Informaticiens département des sciences de la Terre et l'atmosphère
Aller à: navigation, charcher

Contrôle de l'environnement / Environment setup

Nouvelle philosophie:
  • contrôle indépendant des modes "interactif", "ssh" et "batch" lors du "login"
    • environnement interactif très riche en possibilités
    • environnements "batch/ssh" "mince et rapide"
  • quantité minimale d'outils rajoutée automatiquement lors du login
    • riche jeu de raccourcis s.ssmuse.dot pour obtenir des ensembles logiciels
  • distribution et contrôle de logiciel basés sur ssm.
New philosophy:
  • separate setup of "interactive", "ssh", and "batch" modes at login time
    • rich interactive mode
    • lean and mean batch/ssh modes
  • minimal toolset automagically added at login time
    • rich set of s.ssmuse.dot hierarchical shortcuts to acquire software
  • software distribution and control based upon ssm.

comment y accéder / how to access

  • . r.ssmuse.dot  profile 
    (à partir de l'ancien environnement )
  • nouveau .profile 
    voir ci-dessous (la variante express n'a pas de commutation )
  • . r.ssmuse.dot  profile 
    ( from the old environment )
  • new .profile 
    see below (the express method has no switching )
express
cd $HOME
rm .profile
mkdir .profile.d
ln -s /home/ordenv/ssm-domains/ssm-setup ECssm
ln -s ECssm/multi/bin/.profile .profile
long
cd $HOME
mv .profile .profile_alternate
mkdir .profile.d
ln -s /home/ordenv/ssm-domains/ssm-setup ECssm
ln -s ECssm/multi/bin/.profile_switch .profile
ln -s ECssm/multi/bin/.profile .profile_default


.profile

Les éléments principaux ( les items en caractères gras sont nécessaires ):
  • .profile
    "soft link", 4 possibilités
    • .profile -> ECssm/multi/bin/.profile (nouvel environnement seulement)
    • .profile -> .profile_switch (pour la période de transition entre les 2 environnements)
    • .profile -> .profile_default (toujours l'environnement no 1)
    • .profile -> .profile_alternate (toujours l'environnement no 2)
  • .profile_switch
    "soft link", une seule possibilité
    .profile_switch -> ECssm/multi/bin/.profile_switch
  • .profile_default
    "soft link" vers l'environnement no 1 (le nouvel environnement dans ce cas)
    .profile_default -> ECssm/multi/bin/.profile
  • .profile_alternate
    "soft link" vers l'environnement no 2 (le vieil environnement dans ce cas)
    .profile_alternate -> /usr/local/env/env_univ/005/.profile
  • .profile.d
    répertoire utilisé par le nouvel environnement
  • .profile.d/.AnSwEr_profile_switch ( fichier contenant 1 caractère)
    contient y ou n, réponse par défaut à la question posée par .profile_switch
  • ECssm
    "soft link" vers le domaine ssm contenant le "setup", plusieurs possibilités
    • ECssm -> /home/ordenv/ssm-domains/ssm-setup (développement)
    • ECssm -> /home/ordenv/ssm-domains/ssm-setup-ops (opérations)
The main components ( bold items are necessary )
  • .profile
    "soft link", 4 options
    • .profile -> ECssm/multi/bin/.profile (new environment only)
    • .profile -> .profile_switch (during the transition between the 2 environments)
    • .profile -> .profile_default (always environment no 1)
    • .profile -> .profile_alternate (always environment no 2)
  • .profile_switch
    "soft link", only one option
    .profile_switch -> ECssm/multi/bin/.profile_switch
  • .profile_default
    "soft link" to environnement no 1 (the new environment setp in this case)
    .profile_default -> ECssm/multi/bin/.profile
  • .profile_alternate
    "soft link" to environnement no 2 (the new environment setp in this case)
    .profile_alternate -> /usr/local/env/env_univ/005/.profile
  • .profile.d
    directory used by the new environment
  • .profile.d/.AnSwEr_profile_switch ( file containing 1 character)
    y or n, default answer to the question asked by .profile_switch
  • ECssm
    "soft link" to the ssm domain containing the environment setup, several options
    • ECssm -> /home/ordenv/ssm-domains/ssm-setup (development)
    • ECssm -> /home/ordenv/ssm-domains/ssm-setup-ops (operations)

raccourcis / shortcuts

( s.ssmuse.dot / r.ssmuse.dot )

. s.ssmuse.dot item_1 item_2 ..... item_n
s.list_ssm_shortcuts

  • À quoi les raccourcis servent-ils ?
    • à encourager la "paresse constructive" (obtenir le résultat avec un effort réduit)
    • à implémenter des opérations composées avec un seul mot clé
  • D'où les raccourcis viennent-ils ?
    • les raccourcis de l'environnement
    • les raccourcis de l'usager (répertoire $HOME/my_ssm_domains)
  • Trois espèces de raccourcis
    • un domaine (raccourci simple, lien direct vers un domaine, de la forme un_nom )
    • un script (raccourci simple, de la forme un_nom.sh )
    • un ensemble (liste de raccourcis simples, de la forme un_nom.bndl )
  • comment obtenir la liste des raccourcis disponibles?
    s.list_ssm_shortcuts
  • comment obtenir la documentation d'un raccourci?
    s.list_ssm_shortcuts --filter=raccourci --doc
  • Why shortcuts?
    • to favor "constructive laziness" (get the result with less work)
    • to implement multiple operations through a single keyword
  • Where are the shortcuts?
    • in the environment
    • user's own ($HOME/my_ssm_domains)
  • Three types of shortcuts
    • a domain (simple shortcut, direct link with a domain, of the form a_name)
    • a script (simple shortcut, of the form a_name.sh)
    • a bundle (simple shortcut list, of the form a_name.bndl)
  • How to list the available shortcuts?
    s.list_ssm_shortcuts
  • How to display a shortcut documentation?
    s.list_ssm_shortcuts --filter=shortcut --doc


raccourcis utiles
  • legacy  : ARMNLIB, AFSISIO et éléments associés
  • ovbin  : mise dans $PATH de $HOME/bin , $HOME/ovbin et associés
  • dot  : mise du répertoire courant (.) dans $PATH

exemples

useful shortcuts
  • legacy  : ARMNLIB, AFSISIO et al..
  • ovbin  : put $HOME/bin , $HOME/ovbin et al.. into $PATH
  • dot  : put the current directory (.) into $PATH

examples

. s.ssmuse.dot dot ovbin legacy
s.list_ssm_shortcuts --filter=pgi10xxshared --doc



ensemble d'outils de base / basic toolkit

Les outils principaux disponibles dans l'environnement de base.
outil -h
ou outil --help permettra habituellement d'obtenir la séquence d'appel d'un outil
si le nom de l'outil se termine en .dot, l'outil ne peut pas être appelé directement, on doit utiliser
.  outil   ( .  outil --help   ou .  outil -h  pour la séquence d'appel)
The main base setup tools.
use tool -h or tool --help to get the calling sequence of a tool
should the name of a tool end in .dot, the tool is not executable and must be sourced as in
.  tool_name   ( .  tool_name --help   ou .  tool_name -h  for the calling sequence)


outils généraux  /  miscellaneous tools
true_path chemin réel après résolution de tous les "soft links" true_path of a file path after resolution of all soft links
cclargs préprocesseur pour analyse des arguments d'un script cracker for script arguments
s.prefix ajouter un préfixe à une liste d'items add a prefix to a list of names
s.mkdir_onebyone créer une hiérarchie de répertoires un niveau à la fois create a directory hierarchy one level at a time
s.set_display_tracking activer le pistage automatique de votre écran X activate automatic tracking of your XWindows screen
ssmuse.dot  / environnement logiciel / software environment control
s.ssmuse.dot
r.ssmuse.dot
rendre disponible un goupe d'outils logiciels pour une session ou un travail
make a group of software tools available to a session/job
s.use définition d'un alias pour la session (travail) command alias definition for the current session (job)
s.which d'où vient la commande ?
where does this command come from ?
s.list_ssm_shortcuts liste des raccourcis de s.ssmuse.dot
list of s.ssmuse.dot shortcuts
s.locate localiser un ou des objets de différents types
locate one or more objects of various types
s.locate_item localiser un objet à partir d'un "path"
locate an item from a PATH
job management / gestion des travaux
ord_soumet soumission de travaux par lots
batch job submission
s.LLQ liste / sommaire des travaux sur les grappes IBM list / summary of jobs on IBM clusters
s.job liste de mes travaux en attente ou en execution
lists my queued or executing batch jobs
s.hcrontab liste de mes travaux hcron actifs lists my active hcron jobs
aide pour SSM / SSM helpers
s.ssm-creat outil d'aide à la création de domaines ssm
ssm helper to create a ssm domain
s.ssm-prep outil d'aide à la création de packages ssm
ssm helper to cerate a ssm package
s.ssm-install raccourci ssm pour installer un package dans un domaine
ssm shorthand to install a package in a domain
s.ssm-publish raccourci ssm pour publier un package
ssm shorthand to publish a package
s.ssm-uninstall raccourci ssm pour désinstaller un package ssm
ssm shorthand to uninstall a package
s.ssm-unpublish raccourci ssm pour dépublier un package ssm
ssm shorthand to unpublish a package
s.set_dir_struct préparer l'arborescence spéciale pour un "package"ssm de type multi-OS et multi architecture
prepare special directory structure for a multi-os multi architecture ssm package
architecture + distribution
s.get_ec_arch obtenir le nom complet de l'architecture logicielle courante get the fully qualified name of the current software architecture
s.set_ec_arch.dot

s.unified_setup-cfg trouver l'emplacement de certains répertoires du setup
find where some setup directories are located
r.get_arch obtenir le nom de l'architecture logicielle d'une machine
get machine software architecture name
r.Distribution obtenir le nom de la distribution Linux ou de l'OS
get local OS or Linux distribution name
r.python_version trouver la version de l'interprète python
find the version of the python interpreter
s.install_opt installation locale de logiciels local install of software packages
s.getqdn obtenir le nom du domaine réseau local (ex: cmc.ec.gc.ca) get the local network domain name (e.g. cmc.ec.gc.ca)

Exemples d'utilisation  /  Examples of usage

s.prefix

averroes 534% echo /$(s.prefix body. 1 2 3 4)/
/body.1 body.2 body.3 body.4 /

s.locate

averroes 507% s.locate --lib rmn_012
/home/ordenv/ssm-domains1/ssm-rmnlib-dev/multi/lib/Linux/pgi9xx/librmn_012.a

s.list_ssm_shortcuts

averroes 507% s.list_ssm_shortcuts

averroes 515% s.list_ssm_shortcuts --filter=pgi9xx      
FROM: /users/dor/armn/mfv/my_ssm_domains/
                                                             
FROM: /home/ordenv/ssm-domains/ssm-setup-1.0/dot-profile-setup_1.0_multi/notshared/data/ssm_domains/
pgi9xx-old           pgi9xx               pgi9xxshared