Gensoft propose un ensemble de packages au format .rpm (pour centos8) et .deb (pour ubuntu 20.04 LTS (Focal Fossa))
ces packages sont proposé pour faciliter l'utilisation de containers docker et // ou singularity.
les packages ainsi proposés sont, à ce jour, la copie de ce qui est disponible sur le cluster tars. l'arborescence des logiciels respecte celle de tars.
les logiciels utilisant des banques ou des indexs, tout comme sur le cluster tars vont aller chercher ceux-ci dans un point de montage /local/databases/
- ces packages s'installent dans l'arborescence
/opt/gensoft - ces packages appartiennent à l'utilisateur gensoft, groupe gensoft. cet utilisateur et ce groupe sont crées automatiquement lors de l'installation
- ces packages nécessitent l'utilisation de l'environnement module. il vous faut donc installer le package
gensoft-modulesen complément
règle nomage des .rpm // .deb.#
la règle de nomage des packages est la suivante
gensoft-
- name: est le nom du package que vous voulez installer
- version: est le numéro de version du package que vous souhaitez
- donc tout "module" disponible sur maestro se transcrit en gensoft-
-
Packages publics et packages privés#
Gensoft propose des logiciels (.rpm ou .deb) de 2 types:
- Packages publics: utilisable et distribuables sans restrictions. il vous est possible de distribuer des containers dockers//singularity les contenants à vos collaborateurs externes
- packages privés: ces packages correspondent à des soft soumis à licence et//ou dont la redistribution est interdite. L'utilisation de ceux-ci ne peut se faire qu'en interne, ie uniquement sur le campus. La distribution de containers dockers//singularity les contenants est STRICTEMENT INTERDITE
Packages RPM#
pour utiliser ces packages il vous faut:
1) inclure les repositories correspondant dans le répertoire /etc/yum.repos
pour ce faire :
.rpm publics cf https://gensoft.pasteur.fr/repos/pub/yum/redhat/rhel8.8-x86_64/
.rpm privés.cf https://gensoft.pasteur.fr/repos/priv/yum/redhat/rhel8.8-x86_64/rappel il est STRICTEMENT INTERDIT de distribuer ces rpms dans un container ou sous tout autre forme
Code Block (text)
cat <<EOT > /etc/yum.repos.d/gensoft.repo
[gensoft]
name=gensoft (public) for RHEL / Rocky $releasever - $basearch
baseurl=https://gensoft.pasteur.fr/repos/pub/yum/redhat/rhel$releasever-$basearch
gpgcheck=0
[gensoft_private]
name=gensoft (private) for RHEL / Rocky $releasever - $basearch
baseurl=https://gensoft.pasteur.fr/repos/priv/yum/redhat/rhel$releasever-$basearch
gpgcheck=0
EOT
NB ces repositories sont signés
2) mettre à jour le gestionnaire de packages de votre distribution
Code Block (text)
yum update
3) installer le paquet pré-requis gensoft-modules
Code Block (text)
yum install gensoft-modules-4.4.0
4) activer module selon votre shell
- famille des bourne shell, ie sh, bash, zsh
Code Block (text)
source /etc/profile.d/gensoft_modules.sh
- famille des cshell: ie csh, tcsh
Code Block (text)
source /etc/profile.d/gensoft_modules.csh
Packages DEBIAN#
à ce jour la liste de paquets proposés pour debian ne sont pas à jours par rapport à ce qui est disponible sur maestro. il en manque un certain nombre, voire un nombre certain
pour utiliser ces packages il vous faut
1) ajouter les repositories à vos sources.list
.deb publics cf https://gensoft.pasteur.fr/repos/pub/apt/pool/main/
.deb privés.cf https://gensoft.pasteur.fr/repos/priv/apt/pool/main/rappel il est STRICTEMENT INTERDIT de distribuer ces paquets dans un container ou sous tout autre forme
Code Block (text)
cat <<EOT > /etc/apt/sources.list.d/gensoft.list
deb https://gensoft.pasteur.fr/repos/pub/apt focal main
deb https://gensoft.pasteur.fr/repos/priv/apt focal main
EOT
2) télécharger la clef pgp de ces repositories signé. la clef est la même pour les 2 repositories
Code Block (text)
wget -P /etc/apt/trusted.gpg.d/ https://gensoft.pasteur.fr/keys/gensoft.asc && apt-key add gensoft.asc
3) mettre à jour le gestionnaire de packages de votre distribution
Code Block (text)
apt-get update
4) installer le paquet pré-requis pour disposer de l'environnement modules
Code Block (text)
apt-get install gensoft-modules-4.4.0
Utilisation au sein d'un container singularity.#
golden.recipe: un exemple de "apptainer recipe file" qui installe le paquet golden/3.3 et exécutera la commande passée en argument.
Code Block (text)
Bootstrap: docker
From: registry.access.redhat.com/ubi8/ubi:8.6
%post
#---- add gensoft repos
cat > /etc/yum.repos.d/gensoft.repo << EOT
[gensoft]
name=gensoft (public) for RHEL / Rocky $releasever - $basearch
baseurl=https://gensoft.pasteur.fr/repos/pub/yum/redhat/rhel$releasever-$basearch
gpgcheck=0
[gensoft_private]
name=gensoft (private) for RHEL / Rocky $releasever - $basearch
baseurl=https://gensoft.pasteur.fr/repos/priv/yum/redhat/rhel$releasever-$basearch
gpgcheck=0
EOT
yum update -y
#---- install golden and gensoft module (required as dependency)
yum install -y gensoft-modules-4.4.0 gensoft-golden-3.3
yum clean all
%runscript
# 1) singularity container will hinerit environement from user.
# it may contains among other things LOADEDMODULES and _LMFILES_ that may breaks module load inside the container.
# it is safer to purge it
# 2) AUTOLOADMODULE=1 allow "module load" of module dependencies
source /opt/gensoft/adm/etc/profile.d/modules.sh && module purge && AUTOLOADMODULE=1 module load golden/3.3 && exec ${1+"$@"}
ce container apptainer sera alors généré en utilisant la commande suivante
Code Block (text)
apptainer build golden.simg golden.recipe
puis exécuté de la manière suivante par exemple
Code Block (text)
golden run -B ${HOME} -B /local/databases -B /pasteur -B /local/scratch golden.simg golden uniprot:q8I1R6
explications:
- -B ${HOME} => monte le home de l'utilisateur dans le container
- -B /local/databases => montage des banques dans le container à l'emplacement attendu par les outils gensoft
- -B /local/scratch => montage du répertoire tmp dans le container
- -B /pasteur => montage des répertoires sous la racine /pasteur, ex les répertoire projets