1と2のリビジョン間の差分
2016-12-01 03:53:12時点のリビジョン1
サイズ: 1579
編集者: TakanoriKono
コメント:
2016-12-01 04:24:45時点のリビジョン2
サイズ: 4174
編集者: TakanoriKono
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 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>

ComputingPractice (最終更新日時 2021-07-27 06:36:00 更新者 TakanoriKono)