|
Ceci est une courte introduction dédiée à " l'installation et la mise en marche " de votre compte sur les systèmes SunFire d'HPCVL. Elle est destinée à donner aux utilisateurs une idée de base
sur les fichiers nécessaires et les variables d'environnement impliquées.
Questions:
1. Pourquoi tous ces différents shell?
2. Comment est-ce que j'installe mon shell?
3. Comment est-ce que je défini des variables d'environnement?
4. Quelles sont les variables d'environnement nécessaires?
5. Comment est-ce que je commence avec l'élaboration de mon code?
6. Comment est-ce que je me sert des logiciels pré-installés?
7. Comment exécuter un code parallèle?
8. Comment modifier mon terminal pour travailler avec ce système?
9. Comment utiliser un " shell sécurisé "
10. Encore des problèmes! Où obtenir de l'aide?
Réponses:
1. Pourquoi tout ces différents shell?
Quand vous sollicitez un compte vous avez le choix entre 4 différents shell:
csh (C-shell)
ksh (Korn-shell)
bsh (Bourne-shell) et
bash("Bourne again" shell).
Ils diffèrent dans leur " apparence " et dans leur manière de manipuler les commandes du système. le ksh et le bash partagent et comprennent en grande partie la même syntaxe de commande. le csh est quelque peu différent.
Les puristes trouvent souvent que csh est meilleur parce qu'il est le plus simple. Il a une syntaxe semblable au langage de programmation C (d'où le nom). Beaucoup de fichiers script pour Unix sont écrits en csh , et c'est une bonne
idée de mettre à jour un bon fichier d'installation pour csh , même si csh n'est pas votre shell de login. Ceci facilitera votre vie quand vous aurez à installer quelque chose ou à exécuter des scripts.
Le ksh offre plus d'options comparés à csh. Par exemple, vous pouvez rappeler les commandes que vous avez tapées précédemment. Avec ksh , ceci est habituellement fait en appuyant sur la touche "
escape " , et en faisant défiler les commandes précédentes avec les touches de déplacement du curseur. Cependant, la syntaxe est plutôt différente, de sorte que des commandes csh ne puissent pas habituellement être exécuté par
ksh.
le bash est le shell de " GNU " qui utilise des fonctionnalités de csh et de ksh . Il est très populaire parce qu'il offre beaucoup d'options commodes, tels que l'accomplissement de commandes et
de noms de fichiers en appuyant sur la touche "Tab". Sa syntaxe de script est presque identique au ksh , ce qui vous permet d'utiliser des fichiers ksh.
Le choix d'un shell de login est en grande partie une question de goût. Cependant, quelques programmes exigent qu'un shell spécifique soit appelé. Vous pouvez toujours appeler un shell en tapant " / bin/nom_du_shell ",
où le nom_du_shell pourraient être csh, ksh, bsh, bash ou sh (ce dernier est un autre shell standard qui est souvent utilisé pour les scripts). Assurez vous que les fichiers shell que vous
utilisez sont toujours mis à jour, même s'ils ne sont pas vos shell de login.
Dans les fichiers script, les shells sont appelés habituellement grâce au symbole" #! " suivi d'une séquence qui ressemble à: #! / bin/csh dans la première ligne. Dans ce cas-ci, il peut se produire que des variables
d'environnement, telles que le PATH soit reinitialisées à des valeurs prises par défaut.
Tous les shells sont documentés dans les pages manuels: " man nom_du_shell " pour de plus amples informations.
Le dos pour dépasser..
2. Comment est-ce que j'installe mon shell?
Il y a plusieurs fichiers d'installation dans votre répertoire local . Selon le shell que vous utilisez, ces fichiers diffèrent dans leur structure et la syntaxe de leurs commandes.
Pour csh le fichier d'installation de base est .cshrc . À cause du "." précédant son nom ce fichier ne sera pas visible si vous tapez " ls "; vous devrez taper " ls -la " pour le voir. L'édition
de ce fichier vous permettra de changer le comportement de base de votre shell. Si vous n'avez pas le fichier .cshrc, vous pouvez utiliser ce fichier. Notez qu'il y a d'autres fichiers d'installation que vous pouvez utiliser. csh exécute
le fichier .login quand vous ouvrez une session, et le fichier .logout quand vous quittez une session. Tous ces fichiers doivent être placés dans la répertoire racine de votre répertoire local.
Pour ksh le fichier correspondant est .profile. Ce fichier est également " invisible ". Si vous ne le possédez pas, vous pouvez utiliser ce fichier. bash utilise pour ses scripts une syntaxe semblable à ksh, et exécute le fichier .profile quand vous ouvrez une session. Vous pouvez donc utiliser le même fichier que pour ksh si vous avez besoin d'un fichier témoin. D'autres fichiers d'installation tel que .bash_login durant l'étape de connexion et .bash_logout lorsque vous quittez le système, sont exécutés aussi.
Ils sont, cependant, facultatifs.
Les fichiers d'installation sont principalement utilisés pour définir des variables d'environnement telles que le PATH, et pour exécuter quelques commandes quand le shell est appelé. Notez que tous les shells exécutent d'abord
une séquence d'installation définit par défaut, et fournissent par conséquent, les valeurs par défaut pour les variables les plus communes. Vous pouvez vérifier les valeurs actuelles de toutes les variables d'environnement en tapant " setenv
" pour csh, ou " set " pour ksh.
Le dos pour dépasser..
3. Comment est-ce que je défini les variables d'environnement?
La majeure partie des instructions dans les fichiers d'installation se ramène à la configuration des variables d'environnement. Ce sont les variables dont se sert votre shell pour déterminer ses actions sur le système.
Pour csh , la commande pour changer une variable est setenv:
setenv VARIABLE VALEUR
où VARIABLE est le nom de la variable d'environnement, et VALEUR est la valeur affectée . Ceci pourrait être un nombre, ou une chaîne de caractères, dans ce dernier cas, il est entouré par des doubles guillemet.
Pour ksh ou bash la commande se réduit à l'opérateur binaire ' = ':
VARIABLE=VALEUR (la commande ' set ' peut être utilisée, mais n'est pas nécessaire).
Souvent ceci est suivi de la commande " export ", qui rend l'affectation de la variable effective:
export VARIABLE
Note: Il est possible de placer " export " devant l'affectation de la variable au lieu d'émettre deux commandes séparées.
Pour utiliser la valeur d'une variable d'environnement, vous devez taper " $ " devant celle-ci. Par exemple, si vous voulez voir quelle valeur est contenue dans votre PATH, vous tapez:
echo $PATH
où echo est une commande standard d'Unix, et " $PATH" renvoie la valeur du PATH . La commande suivante ajoutera un nouveau répertoire à la variable précédemment définie (pour csh):
setenv PATH=$PATH ":/voici/un/autre/repertoire"
Ici, " PATH " dénote la variable et " $PATH" dénote sa valeur actuelle.
Le dos pour dépasser..
4. Quelles sont les variables d'environnement nécessaires?
Cela dépend naturellement beaucoup des applications que vous exécutez. La variable d'environnement la plus importante est PATH, qui indique au système où chercher les commandes que vous executez, ou bien, où chercher
les fichiers qui sont utilisés quand vous exécutez une commande dans ce shell. Il est préférable d'indiquer à votre shell l'emplacement de quelques répertoires contenant les commandes du système et les commandes du shell.
Je suggère que vous ayez comme strict minimum (pour ksh):
PATH=./.:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin; export PATH
". /. " est le répertoire courant, " /usr/bin " et "/bin" contiennent les commandes du système, et " /usr/local/bin " contient les logiciels installés localement. Vous pourriez
vouloir inclure " /bin " sous le répertoire " /opt " (pour "optional") pour permettre à votre shell de trouver ces commandes. Notez que les éléments dans les listes telles que PATH sont séparés
par deux points.
Une autre variable d'environnement qui est souvent utile est MANPATH . C'est pour les page manuels d'Unix, elle indique au système où rechercher la documentation en ligne. Un exemple pour définir la variable MANPATH serait (pour csh):
setenv MANPATH " / usr/man:/usr/local/man:/opt/SUNWspro/man:/opt/SUNWhpc/man "
Une autre variable fréquemment utilisée est LD_LIBRARY_PATH. Elle doit parfois être définie pour les applications qui utilisent des librairies dynamiques. La variable indique à l'environnement d'exécution l'endroit où rechercher ces librairies,
et votre programme ne pourrait pas s'exécuter si cette variable n'est pas correctement définit. Si vous éprouvez des problèmes avec des librairies manquantes, essayez de les rajouter avec LD_LIBRAY_PATH, sinon il vaut mieux ne pas définir
cette variable.
Parfois une variable doit être reinitialisée pour une application spécifique. Il est alors recommandé d'écrire un script qui définit ces variables et commence l'application, plutôt que de définir les variables globalement dans vos fichiers
de démarrage.
Le dos pour dépasser..
5. Comment est-ce que je commence avec l'élaboration de mon code?
Pour cette question, il y a le " quick'n'dirty " fichier d'aide de disponible. Il répond à quelques questions au sujet de la manière d'utiliser les compilateurs et les outils de développement sur les machines SunFire pour préparer et exécuter votre code séquentiel et/ou parallèle. Consultez
la page programmation parallèle FAQ
Vous devriez inclure " /opt/SUNWspro/bin/ " et " /opt/SUNWhpc/bin " dans votre PATH et vous devriez aussi inclure " /opt/SUNWspro/lib " et "
/opt/SUNWhpc/lib " dans votre LD_LIBRARY_PATH, si vous voulez compiler et exécuter votre propre code sur les machine SUN. Les compilateurs disponibles (et l'éditeur de liens) s'appellent alors simplement en appelant les
commandes f90, cc, ou CC, pour le Fortran, C ou C++, respectivement.
Tous les drapeaux et options du compilateur sont documentés dans les pages manuels. Assurez-vous lorsque vous appelez " man cc " que vous avez définit MANPATH correctement, c.-à-d. que /opt/SUNWspro/man
apparaît au début. Autrement vous obtenez la documentation au sujet des autre compilateurs C sur le système.
Vous trouverez aussi le compilateur GNU Pascal de GNU sur les machines SunFire. Puisqu'il n'est pas un compilateur inclus dans les produits de SUN, il n'est pas documenté dans le système.
Cependant, vous pouvez obtenir des informations de base et des pages manuel (taper man gpc ). Il y a aussi le site web qui documente ce compilateur. Le non de la commande pour lancer le compilateur est "gpc ".
Le dos pour dépasser..
6. Comment est-ce que je me sert des logiciels pré-installés?
Les systèmes SunFire ont des logiciels pré-installés. Certains logiciels exigent des accords de licence spécifique pour que vous puissiez les utiliser, d'autres programmes sont librement accessible. Voici quelques étapes à suivre
si vous voulez travailler avec des logiciels pré-installés:
a) Vérifiez la documentation du logiciel en question. Nous essayons de mettre à jour des fichiers simples d' " Introduction " qui vous aideront à démarrer dans votre travail. Ils sont plutôt désignés comme
une simple introduction et auront habituellement, des pointeurs vers une documentation plus complète du logiciel, y compris des pages web.
b) Informez-vous au sujet des licences. Certains logiciels exige de chaque utilisateur individuel d'avoir une licence, certains sont couvert par un accord de licence collectif, d'autre n'exige pas de licence. Par exemple, le code
de de calcul de dynamique des fluides " Fluent " exige que tous les utilisateurs soient couverts par leur propre licence, tandis que l'accord de licence pour le code de structure électronique " Gaussian "
est fait pour le site, et couvrent tous les utilisateurs d'une machine spécifique. Finalement, des logiciels tel que " Gamess " (un autre programme de chimie quantique) sont libres pour tous les utilisateurs, bien que leur distributeur
encourage les utilisateurs du logiciel à enregistrer leurs noms.
c) Définissez les variables d'environnement appropriées. Ceci peut habituellement être fait dans vos fichiers d'installation de shell, puisque vous aurez à exécuter le même code pour la plupart des occasions que vous vous connectez.
Ces variables pourraient inclure le PATH, mais également des variables spécifiques pour le programme en question. Vous trouverez dans la plupart des cas, des information sur ces logiciels dans nos fichiers " Intro ". Si vous ne pouvez
pas les trouver, envoyez un email à Hartmut Schmider (il vous informera sur l'emplacement, ou bien en produira un).
d) Exécutez les simples tests d'essai du système et envoyez-nous les résultats étranges ou qui ont des comportements bizarres. Il est fort probable que quelque choses ne soient pas installées correctement, et si le programme ne fonctionne toujours pas
bien, nous, ainsi que le vendeur du logiciel, voudrons être informé du problème.
Le dos pour dépasser..
7. Comment exécuter un code parallèle ?
Ceci dépend de la façon dont le code " est parallélisé ". S' il est écrit pour faire du " multi-threading " grâce au compilateur (de manière automatique ou par l'intermédiaire des directives du compilateur), il suffit
alors d'affecter à la variable d'environnement PARALLEL le nombre de processeurs qui devraient être utilisés. Assurez-vous que LD_LIBRARY_PATH inclut " /opt/SUNWspro/lib " et que " /opt/SUNWspro/bin
" est dans votre PATH. Vérifiez la documentation correspondante sur le site web de SUN.
Si c'est un code MPI, un environnement de calcul parallèle spécial doit être utilisé. La commande dans ce cas est mprun, qui possède plusieurs options indiquant au compilateur combien, et quels processeurs utiliser.
Il y a une documentation sur le site Web de SUN pour ce qui est de l'environnement de calcul parallèle CRE (Cluster Runtime Environment). CRE dispose de beaucoup
des commandes qui vous donnent la possibilité de soumettre, annuler et contrôler les programmes utilisant MPI. Vous aurez besoin de rajouter " /opt/SUNWhpc/lib " dans votre LD_LIBRARY_PATH, et " /opt/SUNWhpc/bin
" dans votre PATH pour pouvoir l'utiliser.
Certains programmes sont fournit avec leur propre environnement de calcul parallèle, et vous devrez consulter la documentation les accompagnant pour savoir comment les utiliser. Ceci peut être très ardu dans certains cas.
Certaines questions posées dans ce contexte sont traitées dans notre FAQ de programmation parallèle.
Le dos pour dépasser..
8. Comment modifier mon terminal pour travailler avec ce système?
La plupart des utilisateurs Font une connexion notre système à partir d'un ordinateur à distance distant. Souvent l'ordinateur n'est pas un SUN, ainsi une variable d'environnement doit être définit pour informer notre système du type de
terminal que vous utilisez. Cette variable est TERM. Souvent le système établi automatiquement à TERM une valeur " raisonnable ", parfois ceci doit être fait manuellement.
Par exemple, si vous ouvrez une session à partir d'un fenêtre " telnet " sous Windows, votre type de terminal est habituellement un vt100 (ou vt220, avec des différences mineures entre les deux). Dans ce cas-ci vous aurez à taper
" setenv TERM vt100 " pour csh ou " export TERM=vt100 " pour ksh ou bash. Si vous vous branche toujours à partir du même terminal, vous
pourriez aussi bien mettre ces commandes dans votre fichier d'installation (.chsrc ou .profile ou .bashrc). Si vous êtes chanceux, vous n'aurez pas à vous en souciez, parce que SUN peut le résoudre tout seul.
Dans le cas ci-dessus, vous ne pourrez pas exécuter des programmes avec des interfaces graphiques (GUI), puisque le vt100 est un terminal texte seulement. Un autre type de terminal commun dans l'environnement de travail sous X-Window est
" xterm ". Si vous vous rancher à partir d'une station de travail IBM tournant sous AIX, vous devriez aussi utiliser " xterm ", puisqu'en dehors des machines IBM le programme " aixterm " est inconnu.
C'est un cas où la détection automatique ne sera pas utile.
Si vous voulez exécuter des applications graphiques qui ouvrent une fenêtre sur votre terminal vous devrez définir une autre variable d'environnement appelée " DISPLAY ". Ceci est fait comme suit:
setenv DISPLAY=adresse_ip:0.0 pour csh et
DISPLAY=adresse_ip:0.0; export DISPLAY pour les autres.
L'adresse IP est le code à 4 nombres de votre terminal, si vous ne le connaissez pas, vous pouvez habituellement le trouver dans le fichier /etc/hosts énuméré comme " loghost ". Une fois cette variable d'environnement
défini, cela affichera-t-il alors toutes les interfaces appelées sur votre terminal? .... Pas tout à fait. Il vous reste à appeler une fonction " xhost " sur votre machine locale (habituellement celle qui vous sert pour vous branche).
Taper " xhost + " sur votre terminal, ce qui permettra à l'affichage des machines distantes d'apparaître sur votre écran. (Notez que parfois vous devez rechercher l'emplacement de " xhost " sur votre machine;
sur SUN, il est situé dans /usr/openwin/bin). Maintenant, vous êtes prêt.
Le dos pour dépasser..
9. Comment utiliser un "shell sécurisé"?
Le shell sécurisé (ssh) est un programme terminal qui crypte les données que vous envoyez et recevez d'un système à distance. Il y a un petit ssh FAQ séparé expliquant son installation et son utilisation. Notez que l'utilisation d'un programme
sécurisé assurant la connexion et le transfert de données, est dans la politique d'utilisation de HPCVL
10. Encore des problèmes. Où trouver de l'aide?
Une grande variété de documentation spécifique à SUN peut être trouvée dans http://docs.sun.com. Si vous avez des questions que vous ne pouvez pas résoudre en consultant la documentation, vous pouvez appeler ou envoyer un email à une de nos personnes responsable du support aux utilisateurs: Lyudmil
Aleksandrov (Carleton), Nabil Benabbou (Ud'O), ou Hartmut Schmider (Queen's). Nous répondrons aussi rapidement que possible. Si vous n'obtenez pas de réponse à votre
courriel dans un jour ou deux, essayez de téléphoner. Si nous ne pouvons pas vous aider immédiatement, nous communiquerons avec Sun Microsystems pour davantage d'aide.
Le dos pour dépasser..
|