--- title: ログインノードの環境設定 taxonomy: category: - docs external_links: process: true title: false no_follow: true target: _blank mode: active --- [toc] ## ログインシェル{#login_shell} 標準のログインシェルはbashに設定しています。 基本的なPATHの設定等は自動的に読み込まれるようになっていますが、個人用の起動ファイルを作成するには、.bashrc (bashの場合)等を用意してください。 ! ホームの.bashrc に最初から記述されている以下の内容は、bash環境の設定に必要ですので、消さないでください。 ```nohighlight # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi ``` ### ログインシェルの変更{#change_shell} ログインシェルの変更は、[利用者ポータル](https://web.kudpc.kyoto-u.ac.jp/portal/)から行います。 1. 利用者ポータルにログインします。 2. 左メニューの**ログインシェル変更**を選択してください。 3. プルダウンメニューから変更したいログインシェルを選択し、**送信**を押します。 ### シェルの起動ファイル作成時の注意点{#precautions_shell} 特定のシステムだけで行いたい処理がある場合は、以下の例のようにhostnameコマンドの結果に応じた条件文を記述することで実現可能です。 **.bashrc – bashの場合** ```nohighlight case `hostname` in camphor*) #システムAの場合の処理 ;; laurel*) #システムB、C、クラウドの場合の処理 ;; gardenia*) #システムGの場合の処理 ;; esac ``` **.tcshrc – tcshの場合** ```nohighlight switch(`hostname`) case camphor*: #システムAの場合の処理 breaksw case laurel*: #システムB、C、クラウドの場合の処理 breaksw case gardenia*: #システムGの場合の処理 breaksw endsw ``` ## 環境設定切り替えソフトウェア(Modules)の利用{#modules} modulesは、各システムでコンパイラ・ライブラリ・アプリケーションを利用する際に必要な環境設定を一括で行うことができるソフトウェアです。詳しい利用方法は [Modules](/config/modules) をご覧ください。 ### 2023年度デフォルト環境 (2023-04-01時点) ログインノードごとに、ログイン時に自動でロードされるモジュール環境が異なります。 それぞれ次の表のバッチ処理の環境と、コンパイラの環境がロードされます。 年度が替わる際やシステム構成が変わる際に、ロードする環境やバージョンの見直しを行います。 | ログインノード | システム環境 | バッチ処理環境 | コンパイル環境 |---------- | ---------------- | ------------- | --------------- | camphor.kudpc.kyoto-u.acjp | SysA | slurm | intel, intelmpi, PrgEnvIntel | laurel.kudpc.kyoto-u.acjp | SysB | slurm | intel, intelmpi, PrgEnvIntel | cinnamon.kudpc.kyoto-u.ac.jp | SysC | slurm | intel, intelmpi, PrgEnvIntel | gardenia.kudpc.kyoto-u.ac.jp | SysG | slurm | nvhpc, openmpi, PrgEnvNvidia ログイン後の環境から、 クラウドシステムの環境に切り替えたい場合は次のコマンドで切り替えることができます。 ```bash $ module switch SysCL ``` ## システムからの通知メール{#notification_mail} Slurmのエラー通知など、システムからの通知メールはシステムA、B、C、Gのローカルメールアドレス宛てに送信されます。このメールは **mutt** コマンドでも確認できますが、いち早く閲覧できるようホームディレクトリに .forward ファイルを作成し、普段利用しているメールアドレスに転送されることをお勧めしています。 #### .forwardファイルの作成例 ```nohighlight ## foo@example.com にメールを転送するよう設定 $ echo "foo@example.com" > ~/.forward ``` ## メッセージの日本語化{#message_japanese} コマンドの出力や、コンパイラ翻訳時のメッセージを日本語化するには、環境変数LANGに **ja_JP.UTF-8** を設定してください。また、ご利用のSSHクライアント(PuTTYなど)の文字コードも **UTF-8** に設定してください。 ```nohighlight ## 環境変数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 ... ``` <!-- ## cronの設定{#cron_setting} 定期的な処理を自動で実行させたい場合などは、cronを使用します。 複数台で構成されているログインノードのうち、システムAではcamphor1、システムB、Cではlaurel1のみ設定が可能です。cronの設定が可能なログインノードにログインする場合は、 [システム内でsshを行うための鍵ペア作成](#key) を行っている必要があります。 **cronの設定(システムAの場合)** ```nohighlight ## cron設定が可能なcamphor1にログイン $ ssh camphor1.kudpc.kyoto-u.ac.jp ## cronの設定内容を確認する $ crontab -l ## cronの設定(エディタが開く) $ crontab -e ``` --> ## プロセスリミット{#limit} ログインノードは多数のユーザで共用するため、CPU、メモリの利用に制限を設けています。 CPU時間については、後述するコマンドで拡張が可能です。必要に応じて実施してください。 | 項目 | 初期値 | 最大値 | - | - | - | CPU時間(CPU Time) / プロセス | 4時間 | 24時間 | CPUコア数 / ユーザ | 4コア | 同左 | メモリサイズ / ユーザ | 16GB | 同左 ### bashの場合{#limit_bash} bashを利用している場合、ulimitコマンドを使用します。 **現在の設定を確認** ```nohighlight $ ulimit -a ... cpu time (seconds, -t) 14400 ... ``` **最大値まで拡張** ```nohighlight $ ulimit -t 86400 # CPU TIMEを最大値まで拡張 $ ulimit -a # 確認 ... cpu time (seconds, -t) 86400 ... ``` ### tcshの場合{#limit_tcsh} tcshを利用している場合、limitコマンド、unlimitコマンドを使用して設定の確認と最大値へ拡張ができます。 **現在の設定を確認** ```nohighlight $ limit cputime 4:00:00 ... ``` **最大値まで拡張** ```nohighlight $ unlimit # 拡張を実施 $ limit # 確認 cputime 24:00:00 ... ```