Linuxの設定

環境設定

シェルの起動スクリプト(~/.bashrcや~/.zshrc)に書いておく。

alias setupATLAS='source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh'
alias setup_root6='source /cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.16.00/x86_64-centos7-gcc48-opt/bin/thisroot.sh'
alias root='root -l'
export LPDEST=hpxprint1
# Personal
prompt="%m:%/>"
export EDITOR='emacs -nw'
alias cds="cd /nfs/space1/$USER"
unset SSH_ASKPASS
# ATLAS
alias gridproxy='voms-proxy-init -voms atlas -valid 72:00:00'
export ALRB_rootVersion=6.14.04-x86_6-slc6-gcc62-opt

他にも自分にとって便利な設定をいろいろ追加して好きな作業環境を作る。上の例も不要なものは除いたり修正して構わない。

環境変数とは、作業中にシェル(コマンド入力を解釈・実行しているプログラム)が管理しているもので、シェルが呼び出した他のプログラムと共有することができる。どのような環境変数が定義されているかは

printenv

で確認できる。自分で使うことを目的に独自の環境変数を使ってもよい。

いろいろなソフトウェア

プログラム

使い方

説明

ATLAS環境

setupATLAS

実行後、lsetupというコマンドが有効になり他のソフトウェアの設定が可能になる。

ROOT

setup_root6

ROOTバージョン6.16.10が使えるようになる。

インストールされていないソフトウェアがあったらシステム管理者に相談すること。
ROOTのDisplayが開かなかったら、まず、 再起動してみる 。次にXQuartzのversionを確認。XQuartz 2.7.8じゃないとROOTのDisplayが開かない可能性がある。

ファイル・システム

各ユーザーの作業領域はホームディレクトリ(/home/$USER)の他に数TBの作業用ディスク領域(/nfs/space1, /nfs/space2, /nfs/space3)がある。基本的な使い方としては、ホームディレクトリには設定ファイルなどの必要最低限のファイルのみを保存して、データ解析のように大きな容量を必要とするものは作業用ディスクに保存すること。

作業の流れ(例)

計算機を使って何かをするときには、何か目的があることが普通である。目的とすることをここでは「プロジェクト」と呼んでおく。

プロジェクト毎に、その作業をするための専用のディレクトリを作っておくとファイル管理や作業環境の整備が楽である。例えば、こんな感じ。

cd /nfs/space3/$USER
mkdir projectA
cd projectA
mkdir scripts work dev sw analysis

これは一例だけど、projectAという名前(内容を連想できる分かり易い名前がよい)というディレクトリの中にいくつか別のディレクトリを作っている。

ディレクトリ

用途

scripts

スクリプトを保存する。

work

作業用ディレクトリ

dev

プログラムを開発する場合、ソースコードを保存するディレクトリ

build

プログラムのコンパイル作業をするためのディレクトリ(最近はcmakeを使うことが多いので)

sw

コンパイル済みプログラムを保存するディレクトリ

analysis

データ解析をするときのディレクトリ

作業の流れ

  1. ターミナルを立ち上げて、cd projectAで作業ディレクトリに移動する。
  2. 作業に取り掛かるときには source ./scripts/setup.sh を一度実行して作業環境の初期設定をする。

  3. プログラムを書く。 emacs ./dev/.../a.cxx& でテキスト・エディタを開いてソース・ファイルを編集する。

  4. buildディレクトリに移動(cd build)してコンパイルする(make)。コンパイルが成功したらプログラムをswディレクトリにインストールする(make install)。

  5. プログラムを実行するためにworkディレクトリに移動(cd work)する。プログラムを実行する(a.exe)。

このような流れで作業をするためには、初期設定ファイル(scripts/setup.sh)やCMakeLists.txtファイルを適切に書かなければならない。 設定ファイル(scripts/setup.sh)でやることは以下のようなものである。

projectDir="/.../.../projectA"
# sw/ディレクトリの下にインストールしたプログラムを呼び出せるように環境変数を設定
export PATH=$projectDir/sw/bin:$PATH
export LD_LIBRARY_PATH=$projectDir/sw/lib:${LD_LIBRARY_PATH}
# その他の設定

作業の効率化

日本語入力

「Windowsマーク」+「スペースキー」でキーボード入力の言語を変換できる。かな入力になったら、漢字変換は「スペースキー」で変換候補を切り替えられる。