
A L'EPFL
Claude
Lecommandeur, Martin
Ouwehand et Anne
Possoz, SIC
Pour visualiser la mise à jour de la documentation de ASIS , cliquez ici.
Table des matières
Les
logiciels multi-plateforme à l'EPFL: historique
Les utilisateurs des logiciels publics (freeware, shareware,
copyleft, etc.) et de certains logiciels sous licence connaissent bien
Nestor et sa partition distribution. Mais Nestor, «le fidèle
serveur de fichiers», va prendre sa retraite fin mars 1997 et sa
succession doit être assurée. A cette occasion, une réflexion
et une évaluation de la situation actuelle ont conduit aux remarques
suivantes.
Avantages
de la distribution sur Nestor
Pour les responsables de stations de travail, les principaux avantages
de la distribution des logiciels sur Nestor sont les suivants:
- par un simple lien au bon endroit, un responsable de station de travail
peut mettre à disposition de ses utilisateurs toute une famille
(X11R5, gnu, cognac...) de logiciels prêts à l'emploi;
- tous ces logiciels sont rassemblés dans une partition bien séparée
de tout le reste: /logiciels;
- une copie locale de l'arborescence d'une famille propre à l'architecture
ainsi que de l'arborescence partageable (share) et un lien au bon
endroit permettent de devenir indépendant des humeurs de Nestor.
Inconvénients
de la distribution sur Nestor
Par contre, le système de distribution tel qu'il était
conçu avait un certains nombre d'inconvénients:
- il n'y avait pas de possibilité de mettre en test une nouvelle
version d'un produit sans écraser l'ancienne version;
- pour les utilisateurs par lien direct vers Nestor, la mise à
jour brutale d'un logiciel pouvait constituer de sérieux désagréments;
- pour les responsables de logiciels, il était difficile de garder
une trace de ce qui avait été fait pour que l'installation
soit bonne;
- la mise à disposition simultanée de 2 versions d'un même
produit n'était pas toujours aisée alors que certains utilisateurs
avaient de bonnes raisons d'utiliser pour un temps une ancienne version;
- la mise à disposition d'un produit public à l'EPFL
demandait à chaque responsable de refaire les mêmes erreurs
que d'autres responsables de grands sites, sans pouvoir bénéficier
facilement des expériences de chacun;
- la copie partielle de certaines familles (pour limiter l'espace disque
des copies locales) n'était pas aisée;
- le path de l'utilisateur pouvait parfois devenir très
long car les binaires étaient dans de nombreux répertoires;
- il n'y a pas de mécanisme pour savoir qui fait quoi;
- il n'y a pas de système intégré de documentation.
Recherche
d'une nouvelle solution
En discutant avec les responsables des logiciels publics au CERN, une collaboration s'est installée entre le CERN et l'EPFL autour
du projet ASIS.
Le
projet ASIS: avantages et inconvénients
L'acronyme ASIS vient de l'anglais: Application Software Installation
Server. Ce projet a débuté au CERN avec pour but de mettre
facilement à disposition de tous les responsables de stations de
travail les logiciels du CERN et certains logiciels publics. Au
CERN, ce projet a débuté en 1993 et est utilisé en
routine depuis 1995. La collaboration avec l'EPFL a surtout permis de rendre
l'outil portable sur un site autre que le CERN. Elle implique aussi d'inclure
d'autres mécanismes pour prendre en compte les serveurs de départements
et de cellules. Cette partie est en cours de développement.
Les avantages
de ASIS
Pour
les responsables de produits
- Toutes les étapes nécessaires à l'installation
d'un logiciel sur le site, depuis le fichier tar compressé
jusqu'à la phase de test prévu par ce logiciel, sont résumées
dans un seul fichier. Ce fichier peut être échangé
entre les responsables de différents sites (aujourd'hui le CERN
et l'EPFL mais d'autres sites souhaitent se joindre à nous).
- Lors d'une nouvelle version disponible sur le net, l'utilisation de
ce fichier permet généralement d'installer la nouvelle version
sans énergie supplémentaire.
- Une interface graphique permet de suivre simplement ce qui se passe
en parallèle sur chaque type d'architecture, avec des signaux visuels
en cas d'erreur.
Pour
les responsables de stations de travail
- Une interface graphique permet une configuration complète de
tout ce qui est souhaité, produit par produit, avec des possibilités
de choix modulables au niveau global, au niveau des familles et au niveau
de chaque produit.
- La mise à jour peut se faire automatiquement par une ligne dans
le fichier crontab, si le responsable le souhaite.
Pour tous
- Une version peut être mise en test sans que les autres utilisateurs
soient perturbés. Les personnes qui acceptent d'être testeurs
de certains produits peuvent sélectionner la version en test et
communiquer au responsable tout problème qu'ils rencontrent.
- Un système de documentation intégré pour le Web
permet la mise à disposition systématique de la documentation
(pour autant que le responsable ait bien fait son travail...).
- Si un utilisateur souhaite une version spécifique d'un produit,
il peut sélectionner cette version et non la dernière à
disposition.
Le
répertoire des logiciels ASIS
Tous les logiciels compilés pour ASIS seront installés
localement dans le répertoire /usr/local. Ceci est à
la fois un avantage et un inconvénient.
Avantages
de /usr/local
- Les logiciels publics sont dans un seul répertoire (avec
quelques exceptions pour X11, gnu et les logiciels sous licence) et le
path de l'utilisateur est donc simple (idem pour le manpath).
- La majorité des logiciels publics sont bien configurés
pour être installés dans ce répertoire, qui est par
prédilection le répertoire des logiciels publics.
Ce choix permet même dans certains cas de prendre directement des
versions compilées.
Inconvénients
de /usr/local
- Les responsables de stations ont parfois décidé de faire
des installations particulières dans ce répertoire. Il semble
toutefois que rien ne soit insurmontable à ce propos. En effet,
ASIS n'écrasera jamais un fichier dans ce répertoire si ce
n'est pas lui qui l'y a installé, à moins d'autorisation
explicite de la part du responsable de la station de travail.
- Il peut aussi être délicat d'écrire dans la partition
/usr mais on verra dans la suite que seuls des liens y sont créés.
Remarques
Si nous avions essayé de modifier ce choix pour l'EPFL, nous
n'aurions plus pu bénéficier du grand avantage du partage
des fichiers d'installation avec le CERN. A long terme, ce partage pourra
même être fait au niveau des versions déjà prêtes
à l'emploi, mais cela impose un même répertoire d'installation.
Phase de
transition
Toute personne qui souhaite tester le nouveau système de distribution
des logiciels est bienvenue. Référez-vous à l'adresse
http://castor.epfl.ch/asis/
pour la mise à jour du présent document. Les tests peuvent
commencer dès maintenant. Tout n'a pas été compilé
à ce jour car certains produits qui étaient installés
sont probablement périmés. Donc, à vous de nous faire
signe pour demander ce qui vous manque. Et bien sûr, tous les commentaires,
remarques, propositions... sont bienvenus. Aujourd'hui, les architectures
prises en compte sont alpha_osf, hp700_ux9, hp700_ux10, irix5 et sun_solaris2.5.
ASIS
et son installation sur une station de travail
Prérequis
Le serveur ASIS
Tous les logiciels de ASIS se trouvent dans le répertoire /asis
sur castor qui doit être monté dans /net/castor/asis
sur les clients (si l'automounter ne s'en charge pas). Ce répertoire
contient aussi les outils d'installation d'ASIS.
L'utilisateur
asis et les répertoires concernés
Par mesure de sécurité, il est prévu que ce sera
l'utilisateur asis (uid=449, gid=449) qui installera les logiciels de ASIS
sur une station de travail. Cet utilisateur aura le droit d'écriture
(récursif) dans /usr/local, là où seront installés
les produits de ASIS (uniquement sous forme de liens). Pour les copies locales, il créera aussi un répertoire /asis.local
qui sera l'endroit où seront copiés localement les produits
pour lesquels une copie locale est demandée. Il faut donc prévoir
que ce répertoire ait suffisamment d'espace. ASIS y créera
2 autres répertoires, l'un se référant à l'architecture
de la machine et l'autre étant le répertoire partageable
(share). Trois arborescences sont donc impliquées dans l'utilisation
de ASIS:
- /net/castor/asis: qui contient toute la distribution de ASIS
- /asis.local: qui contiendra les copies locales demandées
mais ne sera jamais accédé directement par l'utilisateur
- /usr/local: qui contiendra tout ce dont les utilisateurs ont
besoin; tout ce qui se trouve installé par ASIS dans ce répertoire
le sera toujours sous forme de liens (optimisés) vers l'un ou l'autre
des deux répertoires précédents.
Dénomination
complète d'un produit dans ASIS
Chaque logiciel est référencé par 3 paramètres:
la famille, le produit et la version. Un logiciel
est alors complètement spécifié par la chaîne:
famille/produit-version.
La famille
Une famille regroupe un ensemble de produits suivant un thème
donné. Par exemple GNU.EDIT regroupe tous les logiciels du gnu
qui concernent l'édition. Aujourd'hui nous avons les familles suivantes
en commun avec le CERN:
| DB: |
outils de base de données |
| GNU.EDIT: |
éditeurs de texte et graphiques du gnu |
| GNU.LANG: |
outils de programmation du gnu |
| GNU.SYS: |
version gnu de commandes unix courantes (ls, dd, tar,...) |
| GNU.MISC: |
autres produits du gnu, les inclassables |
| INET: |
outils du net tels que messageries, news, web... |
| PERL: |
l'interpréteur perl, ses librairies et des outils écrits
en perl |
| SECURITY: |
les outils de sécurité (pgp) |
| TCL: |
l'interpréteur tcl, ses librairies et des outils écrits
en tcl |
| TEX: |
l'environnement pour TeX |
| X11.R6.: |
la librairie X11 du MIT et les contributions |
| MISC: |
les inclassables |
| LICENSES: |
tous les logiciels sous licence qui peuvent être inclus dans
ASIS. |
Le produit
Le produit est ce qui caractérise un logiciel, avec parfois
un ensemble d'utilitaires associés. Par exemple emacs fait partie
de la famille GNU.EDIT.
La version
La version est le numéro de la version du logiciel concerné.
Par exemple 19.34b est la version actuelle de emacs. Un logiciel est alors
complètement spécifié par la chaîne: famille/produit-version,
par exemple GNU.EDIT/emacs-19.34b.

La
configuration des produits pour l'installation
La configuration pour l'installation de produits ASIS sur une station
de travail se fait au moyen d'une interface graphique tkwsm, interface
tk pour Workstation Manager.
Le choix
des produits
Pour simplifier l'installation, les produits peuvent être référencés
sous trois formes:
- <All>/<All> concerne tous les produits sans distinction;
il suffira de alors de configurer les options de cette classe pour avoir
une installation par défaut pour tous les produits. Si l'on souhaite
être plus spécifique,
- famille/<All> concerne tous les produits d'une famille,
qui peuvent ainsi être groupés pour l'installation locale.
Si l'on souhaite être encore plus spécifique,
- famille/produit concerne un seul produit, au cas où une
configuration particulière est souhaitée, par exemple si
on souhaite utiliser la version en test.
Remarque: ASIS va donc regarder la configuration demandée,
depuis le niveau le plus spécifique, jusqu'à <All>/<All>.
Attention, si rien n'est dit à aucun niveau, le produit sera installé
en LinksOnly.
Les états
d'un produit
La version d'un produit peut être dans différents états:
- UnderCertification: version soumise pour test;
- Certified: version testée mais pas encore mise en production
ou retirée de production;
- InProduction: version en production (il peut parfois y en avoir plusieurs
pour un produit donné).
Souvent, un responsable de station ne souhaite pas se préoccuper
du numéro précis d'une version. Ce qu'il souhaite, c'est
la dernière version fiable, ou la version en test s'il accepte d'être
testeur. Dans ce but, 4 catégories ont été définies.
Ce sont les états (state) du produit:
- InProduction: la (ou les) version(s) InProduction; dans de
rares cas, le responsable d'un produit peut décider d'en mettre
plusieurs en production, par exemple pour perl4 et perl5;
- Latest: la dernière version parmi Certified et InProduction;
- InTest: la dernière version parmi UnderCertification,
Certified et InProduction;
- Specific: un numéro de version spécifique parmi
Certified et InProduction; ceci est utilisé si plusieurs
versions sont disponibles et que l'utilisateur ne souhaite pas nécessairement
la dernière (dans certains cas il est même possible d'avoir
deux versions simultanées, mais c'est souvent hybride).
Les accès
aux produits L'utilisateur va pouvoir choisir entre différentes
façons d'accéder au produit:
- Default: le moyen d'accès par défaut pour le site
(linksOnly pour l'EPFL) à moins que le responsable du produit n'en
ait décidé autrement (pas encore implémenté);
- LocalCopy: le produit sera recopié localement dans le
répertoire /asis.local et des liens seront établis
entre /usr/local et ce répertoire /asis.local. Toutefois,
pour ceux qui auraient moins d'espace disque, voir options LinksOnly
plus bas;
- LinksOnly: des liens seront établis entre /usr/local
et le serveur ASIS (par nfs);
- Ignore: ce produit ne sera pas installé. Cette option
est indispensable, si on ne souhaite pas qu'un produit soit installé
ou si l'on souhaite le désinstaller.
Les autres
options D'autres options peuvent être configurées:
- les flags: aujourd'hui un seul flag est implémenté
et il s'agit de Force. Si ce flag n'est pas actif et que ASIS essaye
de faire un lien dans /usr/local mais qu'un fichier correspondant
à ce lien existe, ASIS ne touchera pas à ce fichier mais
en informera l'utilisateur. Si ce flag est activé, il autorise ASIS
à remplacer un fichier existant dans /usr/local par un lien du même
nom.
- les options LinksOnly: ces options permettent d'économiser
de l'espace disque en ne copiant pas localement les répertoires
sélectionnés. Ceci peut être utile pour ceux qui n'ont
pas beaucoup d'espace disque et ne souhaitent pas recopier des répertoire
tels que man doc, (cette option n'est pas encore implémentée
à ce jour).
Configuration
par défaut
Lors de la première utilisation de tkwsm, l'interface
de configuration et d'installation, une configuration par défaut
est donnée. Elle correspond à:
- aucun produit sous licence n'est installé (LICENSES/<All>
InProduction Ignore);
- tous les autres produits sont installés sous forme de liens
vers le serveur ASIS, la version la plus récente en production étant
prise en compte (<All> /<All> InProduction LinksOnly).
Remarque: si vous supprimez la ligne <All> /<All>,
cela ne revient pas à dire d'ignorer ces produits mais simplement
que vous n'avez pas de préférence et ASIS supposera que vous
souhaitez tout sous forme de liens vers le serveur.
Documentation
ASIS contient aussi une documentation intégrée: http://castor.epfl.ch/asis/Welcome.html.
Conclusion
La phase de test est en route. Les responsables de produits testent
cet outil depuis quelques mois et, les premières frayeurs passées,
tout cela nous semble bien confortable. Merci à nos collègues
du CERN.
La migration de nestor à castor pourra-t-elle se faire avec un
grand sourire :-)
Asis.Support@epfl.ch
http://castor.epfl.ch/asis/