⇤ ← 2016-12-01 03:53:12時点のリビジョン1
1579
コメント:
|
4174
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 2: | 行 2: |
== はじめに == このページで紹介するのは、Linuxを使う上で自分の個人的な習慣をまとめたものである。 |
|
行 9: | 行 12: |
実際には、/nfs/space1/<user>等の領域を用いるとよい。 | |
行 26: | 行 30: |
|| build || cmakeを使ってコンパイルする場合のbuild directory || | || build || cmakeを使ってコンパイルする場合にコンパイル作業を行うためののディレクトリ。 || |
行 33: | 行 37: |
=== 初期環境設定用のスクリプト(scripts/setups.sh) === これは、Linuxのターミナルを立ち上げる度に毎回一度だけ実行して、いくつかの環境変数を定義するためのものである。 このファイルの中身は以下のようになる。 {{{ wdir=<myWorkSpace> export SWDIR=${wdir}/sw export PATH=${SWDIR}/bin:${PATH} export LD_LIBRARY_PATH=${SWDIR}/lib:${LD_LIBRARY_PATH} }}} 環境変数SWDIRは、ソフトウェアのインストール先として個人的にMakefileの中で使っていることが多いので、ここで定義しておく。 PATHとLD_LIBRARY_PATHは、プログラムの実行時にコマンド名から、プログラムの実行可能ファイルや共有ライブラリを探索するためのディレクトリのリストである。 === 便利な初期設定情報 === == Subversion == ソースコードのバージョン管理用のツールである。よく使う操作方法は、 " レポジトリからあるパッケージのソースコードをダウンロード (checkout, co) " レポジトリにファイルの更新があるか確認 (update) " 自分が加えた変更をレポジトリに反映させる (commit) {{{ svn co <repository>/<package_name>/trunk <package_name> # レポジトリからパッケージのファイルをダウンロードしてくる svn update # レポジトリにファイルが更新されていないか確認して、更新があればダウンロードする svn status -u # ローカルなファイルの変更点を表示する。先頭の1文字はローカルなファイルの状態を表す('M'は修正、'A'は追加、'C'は競合) svn commit -m "Some message" # ローカルな変更をレポジトリにアップロードする svn cp . <repository>/<package_name>/tags/<package_name>-<version> # ローカルなものにversion番号を付けてタグする svn resolved <filename> # ファイルの競合を解決した後で実行する }}} その他に、次のような操作も時々使うことがある。 {{{ svn co -r <revision> <repository>/<package_name>/trunk <package_name>svn svn cp . <repository>/<package_name>/branches/<package_name>-<version>-branch svn switch <repository>/<package_name>/tags/<package_name>-<version> }}} |
Computing Practices
はじめに
このページで紹介するのは、Linuxを使う上で自分の個人的な習慣をまとめたものである。
解析プロジェクトの準備(例)
実験データ解析やシミュレーションをLinux上で行う際の環境の整え方の一例を挙げる。 ここで紹介する方法は、作業用ディレクトリを一つ用意してその中で
- " 独自のコードを開発 " ROOTを使ったデータ解析
を行うことを想定する。ここでは作業用のディレクトリを<myWorkSpace>と呼ぶことにして説明する。 実際には、/nfs/space1/<user>等の領域を用いるとよい。
以下のようなディレクトリ構造を用意する。
<myWorkSpace>/ sw/ dev/ build/ scripts/ macros/ figures/ work/ data/
それぞれのディレクトリの用途は次のようである。
ディレクトリ |
用途 |
dev |
開発中のソフトウェアのソースコード管理。この下にパッケージ毎にディレクトリを作る。 |
sw |
自分で開発したソフトウェアのインストール先 |
build |
cmakeを使ってコンパイルする場合にコンパイル作業を行うためののディレクトリ。 |
scripts |
様々なスクリプトを置く。初期環境設定用のスクリプトscripts/setup.shを置く。 |
macros |
ROOTのマクロ |
figures |
作成したプロットや図を置く。 |
work |
解析の途中で生成したデータファイル等を置く。 |
data |
実験データやシミュレーションデータ等の大容量のデータを置く。 |
初期環境設定用のスクリプト(scripts/setups.sh)
これは、Linuxのターミナルを立ち上げる度に毎回一度だけ実行して、いくつかの環境変数を定義するためのものである。 このファイルの中身は以下のようになる。
wdir=<myWorkSpace> export SWDIR=${wdir}/sw export PATH=${SWDIR}/bin:${PATH} export LD_LIBRARY_PATH=${SWDIR}/lib:${LD_LIBRARY_PATH}
環境変数SWDIRは、ソフトウェアのインストール先として個人的にMakefileの中で使っていることが多いので、ここで定義しておく。 PATHとLD_LIBRARY_PATHは、プログラムの実行時にコマンド名から、プログラムの実行可能ファイルや共有ライブラリを探索するためのディレクトリのリストである。
便利な初期設定情報
Subversion
ソースコードのバージョン管理用のツールである。よく使う操作方法は、
- " レポジトリからあるパッケージのソースコードをダウンロード (checkout, co) " レポジトリにファイルの更新があるか確認 (update) " 自分が加えた変更をレポジトリに反映させる (commit)
svn co <repository>/<package_name>/trunk <package_name> # レポジトリからパッケージのファイルをダウンロードしてくる svn update # レポジトリにファイルが更新されていないか確認して、更新があればダウンロードする svn status -u # ローカルなファイルの変更点を表示する。先頭の1文字はローカルなファイルの状態を表す('M'は修正、'A'は追加、'C'は競合) svn commit -m "Some message" # ローカルな変更をレポジトリにアップロードする svn cp . <repository>/<package_name>/tags/<package_name>-<version> # ローカルなものにversion番号を付けてタグする svn resolved <filename> # ファイルの競合を解決した後で実行する
その他に、次のような操作も時々使うことがある。
svn co -r <revision> <repository>/<package_name>/trunk <package_name>svn svn cp . <repository>/<package_name>/branches/<package_name>-<version>-branch svn switch <repository>/<package_name>/tags/<package_name>-<version>