Linux計算機の環境設定の運用方針

工学系で成熟した分野では,オープンソースの数値モデルの利用が進んでいる.そのようなモデルは大抵Linuxでの利用を前提に開発されているが,設計思想はモデルごとに大きく異なる.特に,各モデルが紐づけているライブラリをきちんと管理しないと,競合が容易に起こる(netCDFとかAnacondaに紐づいたPythonとか).

これを避けるための最も簡単な手段は,モデルごとにユーザーを変えてしまうことである(WSLなら同一ディストロをモデルごとに複製するなども有効だろう,明らかにdockerよりも使い勝手が良い).これは個人用PCならともかく,共用の計算サーバーでは進んでやりたくはない.

そこで,私は自分のPCでは~/.bashrcに記述する環境設定は最小限のものにし,モデルごとの環境設定を個別のshファイルにまとめ,これをエイリアスで呼び出すようにしている.何を言っているかわからないと思うが,たとえば,model1_envs.shというファイルに,

export hogehoge
export fugafuga
export piyopiyo
export PS1='\[\e[33m(model1)\] \[\e[32m\u@\h\] \[\e[34m\w\] \[\e[0m\]$ '

として,~/.bashrcには

alias model1="source <full-path>/model1_envs.sh"

と書く.ターミナルからmodel1と入力すれば,model1_envs.shに書いた環境設定が全部読み込まれる.

最後の行(export PS1=)は,ターミナルのログイン情報にどのモデルをアクティベートしているかを表示する設定.このページが参考になるが,”\[\]“が一組抜けているために改行時におかしな挙動をする.上記を参考にしてほしい.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA