Linuxのよくあるエラーについて | TSUBAME計算サービス

# Linuxのよくあるエラーについて

ここではLinuxのよくあるエラーについてのFAQを記載しております。
記載しているコマンドの詳細な利用方法については各自、manコマンド等で確認してください。

# 1.No such file or directory

必要とされるファイルもしくはディレクトリがありません。
存在しないファイル、ディレクトリ名などを指定する、タイポするなどパス指定を間違った場合等に発生します。
また、アプリケーションによっては改行コードがwindowsのCR+LFの場合に発生する場合もあります。

対策
ファイル、ディレクトリ名をよく見直してください。
また改行コードの修正についてはFAQ「ジョブステータスが「Eqw」となり実行されない。」の1をご確認ください。

関連して以下のようなエラーもあります。
error while loading shared libraries: ****.so: cannot open shared object file: No such file or directory
これはプログラムが必要とするライブラリが無いもしくは読み込めない場合等に発生するエラーです。

対策
プログラムにライブラリパスが通っているかをlddコマンドなどで確認してください。
環境変数LD_LIBRARY_PATHを設定する、コンパイル時にライブラリを指定するなどの対策があります。

# 2.command not found

入力したコマンドがありません。
環境変数PATHの設定がうまくいっていない場合やコマンドがない場合等に発生します。
TSUBAMEではmoduleコマンドを実行していないか、/etc/profile.d/modules.shファイルを読み込んでいない場合に発生する場合が多い模様です。

対策
module コマンドが実行できない場合は以下のコマンドを実行してください。

$ . /etc/profile.d/modules.sh

自分でインストールしたプログラムなどで発生した場合は
echo $PATHコマンドで必要なコマンドがあるディレクトリのパスが通っているか確認し、パスが通っていなければ設定してください。
ホームディレクトリ($HOME)直下のhogeディレクトリを既存のPATH環境変数に追加する場合の例

$ export PATH=~/hoge:$PATH

# 3.Permission denied

実行しようとした操作の権限がありません。
Linuxはファイル・ディレクトリ単位でユーザならびにグループ単位の権限設定がされています。
読み込み、書き込み、実行しようとした対象ファイル、ディレクトリの権限を以下のコマンドで確認してください。
(例はhogeファイルを確認する場合)

$ ls -l hoge

対策
システムディレクトリである/appや/libなどにファイルを作成しようとした場合等はユーザディレクトリに作成するようにしてください。
グループディスクなどのユーザディレクトリで発生する場合は権限を確認してください。

# 4.Disk quota exceeded

FAQ「"Disk quota exceeded" というエラーが出力される」をご確認ください。

# 5. Out Of Memory

メモリが不足した場合に発生するエラーです。
対策
資源タイプをよりメモリ容量が多いものに変更する。
mpiなどでノードあたりのメモリ使用量を分割する。
関連FAQ「結果ファイルのエラーメッセージについて」

エラー関連URL
"Disk quota exceeded" というエラーが出力される
qrshコマンドを実行した際のエラーについて
結果ファイルのエラーメッセージについて
エラーログに "Warning: Permanently added the ECDSA host key for IP address 'XXX.XXX.XXX.XXX' to the list of known hosts." と出力される
qsubコマンド実行時のエラーについて
segmentation faultなど、プログラム実行時のエラー対応について
ISVアプリケーションで発生したエラーに対する対処方法について