Tout d'abord, un peu de contexte. Je m'excuse d'avance pour l'utilisation abusive de la terminologie. Veuillez me corriger si nécessaire.
Pour mon travail, je vais exécuter des simulations à distance via ssh sur plusieurs machines ubuntu. Ces machines sont en réseau et mon compte est lié à toutes les machines. $HOME
es /home/links/Ogaday
et est mis en miroir sur chaque machine. Ainsi, je crée un répertoire sur une machine dans ce dossier, et il apparaît sur une autre machine (c'est un cas où je ne sais pas comment utiliser les termes corrects). Il existe également une mémoire locale sur chaque machine, accessible par chaque utilisateur sur cette machine, appelée /scratch/
. Je vais créer un répertoire dans /scratch/
pour faire mon travail réel, parce que je ne pense pas avoir assez de mémoire sur mon compte pour exécuter les simulations dans $HOME, et ce sera plus rapide parce que tout est local, je suppose.
Or, il y a des logiciels installés sur ces machines que je dois utiliser, et ils sont installés dans des répertoires auxquels je n'ai pas accès en écriture ( /usr/local/software/
). Cependant, ce logiciel possède un bash script qui définit les variables d'environnement. Je suis censé ajouter le script de bash ( source /usr/local/software/etc/bashrc
) à $HOME/.bashrc
afin de définir les variables d'environnement nécessaires. Jusqu'à présent, c'est plutôt standard, cela configure tout pour que ce logiciel s'exécute lorsque je me connecte, n'est-ce pas ? Maintenant, je pense que le logiciel sur ces ordinateurs n'a pas été configuré correctement, parce que les variables d'environnement de l'ordinateur ne sont pas configurées. .../etc/bashrc
est censé définir une variable appelée $SOFTWARE_INST_DIR
le répertoire d'installation. Par défaut, il s'agit de $HOME/software
et il est nécessaire de modifier le fichier bashrc pour qu'il prenne la valeur suivante /usr/local/software
. Bien sûr, je n'ai pas d'accès en écriture à .../etc/bashrc
. Il y a d'autres problèmes similaires, c'est juste la chose qui échoue en premier.
Comme solution, j'ai copié ce fichier dans $HOME/software-etc/bashrc
et ajouté source $HOME/software-etc/bashrc
a $HOME/.bashrc
au lieu d'ajouter source /usr/local/software/etc/bashrc
afin que je puisse modifier les variables qu'il assigne. Y a-t-il quelque chose de fondamentalement erroné ? J'ai pensé qu'une autre solution serait, au lieu de copier le fichier bashrc depuis l'emplacement d'installation du logiciel, de rajouter export $HOME=/scratch/ogaday
à .bashrc, ce qui, je suppose, réassignerait mon répertoire personnel à scratch. Ai-je raison ? Est-ce dangereux ? Je n'utiliserais pas vraiment ces machines pour autre chose que l'exécution de longues simulations.
ps : La solution finale serait de demander aux informaticiens de s'en occuper, je suppose ! Je préférerais cependant faire une réparation rapide si c'est possible.