ログインノードの環境設定

標準のログインシェルはbashに設定しています. 基本的なPATHの設定等は自動的に読み込まれるようになっていますが,個人用の起動ファイルを作成するには,.bashrc (bashの場合)等を用意してください.

なお,ホームの.bashrcに最初から書かれている以下の内容は,bash環境でqsubなどのパスを設定するために必要ですので,消さないでください.

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

ログインシェルを変更するには chsh コマンドを利用します.

例えば,ログインシェルをtcshに切り替えたい場合は,以下のようにコマンドを実行した後で,再度ログインして下さい.なお,ログインシェルの切り替えには,最大10分程度かかることがあります.

$ chsh tcsh

特定のシステムだけで行いたい処理がある場合は,以下の例のようにhostnameコマンドの結果に応じた条件文を記述することで実現可能です.

.bashrc – bashの場合

case `hostname` in
    camphor*)
        #システムAの場合の処理
    ;;
    laurel*)
        #システムB,Cの場合の処理
    ;;
esac

.tcshrc – tcshの場合

switch(`hostname`)
    case camphor*:
        #システムAの場合の処理
        breaksw
    case laurel*:
        #システムB,Cの場合の処理
        breaksw
endsw

modulesは,各システムでコンパイラ・ライブラリ・アプリケーションを利用する際に必要な環境設定を一括で行うことができるソフトウェアです.詳しい利用方法は Modules をご覧ください.

PBSのエラー通知など,システムからの通知メールはシステムA,B,C,Eのローカルメールアドレス宛てに送信されます.このメールは mutt コマンドでも確認できますが,いち早く閲覧できるようホームディレクトリに .forward ファイルを作成し,普段利用しているメールアドレスに転送されることをお勧めしています.

forwardファイルの作成例

## foo@example.com にメールを転送するよう設定
$ echo "foo@example.com" > ~/.forward  

コマンドの出力や,コンパイラ翻訳時のメッセージを日本語化するには,環境変数LANGに ja_JP.UTF-8 を設定してください.また,ご利用のSSHクライアント(PuTTYなど)の文字コードも UTF-8 に設定してください.

## 環境変数LANGを設定(bashの場合)
$ export LANG=ja_JP.UTF-8

## 環境変数LANGを設定(tcshの場合)
$ setenv LANG  ja_JP.UTF-8

## manコマンドの表示が日本語になる
$ man man

man(1)                                                                  man(1)

名前
       man - オンラインマニュアルページを整形し表示する。
       manpath - ユーザー個々のマニュアルページの検索パスを決める。

書式
       man  [-adfhktwW]  [-m  system]  [-p string] [-C config_file] [-M path] [-P
       pager] [-S section_list] [section] name ...

システム内で,他のシステムやログインノードに接続する場合も鍵認証する必要があるため,以下のような手順で鍵ペアを作成し,ログインを許可する鍵リストに追加する必要があります.

$ ssh-keygen -t rsa -b 2048  #(1)
Generating public/private rsa key pair. 
Enter file in which to save the key (/home/b/b59999/.ssh/id_rsa):  #(2)
Enter passphrase (empty for no passphrase): #(3)
Enter same passphrase again: #(4)
Your identification has been saved in /home/b/b59999/.ssh/id_rsa.
Your public key has been saved in /home/b/b59999/.ssh/id_rsa.pub.
The key fingerprint is:
12:34:56:78:2f:69:82:36:e5:01:99:50:06:6b:99:ff b59999@ap-0001
The key's randomart image is:
+--[ RSA 2048]----+
|    *.o          |
|     *           |
|    o   o        |
|   . o . +       |
|      o S = .    |
|       V * . +   |
|        * . = .  |
|       + * - +   |
|            S++  |
+-----------------+
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  #(5) ...
  1. RSAバージョン2で,2048ビットの鍵を生成する
  2. 鍵ペアの保存先を指定します.デフォルトでは,~/.ssh/id_rsa が表示されています.表示された保存先でよい場合はそのまま Enter を押してください
  3. パスフレーズの入力
  4. パスフレーズの再入力
  5. 作成した公開鍵を,ログインを許可する鍵リストを指定したファイル(authorizede_keys)に追記する

定期的な処理を自動で実行させたい場合などは,cronを使用します.

複数台で構成されているログインノードのうち,システムAではcamphor1,システムB,Cではlaurel1のみ設定が可能です.cronの設定が可能なログインノードにログインする場合は, システム内でsshを行うための鍵ペア作成 を行っている必要があります.

cronの設定(システムAの場合)

## cron設定が可能なcamphor1にログイン
$ ssh camphor1.kudpc.kyoto-u.ac.jp

## cronの設定内容を確認する
$ crontab -l

## cronの設定(エディタが開く)
$ crontab -e

ログインノードでは,プロセスリミットを以下のように設けております.必要に応じて拡張してご利用ください.

項目 初期値 最大値
CPU時間(CPU Time) 4時間 24時間
メモリサイズ(virtual memory) 8GB 12GB

bashを利用している場合,ulimitコマンドを使用します.

現在の設定を確認

$ ulimit -a
...
cpu time               (seconds, -t) 14400
...
virtual memory          (kbytes, -v) 8388608 
...

最大値まで拡張

$ ulimit -v 12582912 # メモリを最大値まで拡張
$ ulimit -t 86400    # CPU TIMEを最大値まで拡張
$ ulimit -a          # 確認
...
cpu time               (seconds, -t) 86400
...
virtual memory          (kbytes, -v) 12582912
...

tcshを利用している場合,limitコマンド,unlimitコマンドを使用て設定の確認と最大値へ拡張ができます.

現在の設定を確認

$ limit
cputime      4:00:00
...
vmemoryuse   8388608 kbytes
...

最大値まで拡張

$ unlimit  # 拡張を実施
$ limit    # 確認
cputime      24:00:00
...
vmemoryuse   12582912 kbytes
...


Copyright © Academic Center for Computing and Media Studies, Kyoto University, All Rights Reserved.