Gaussian と GaussView の配備・トラブル対応:ライセンス、最小権限、Scratch、クラスタージョブ

2014 年の原文は、Ubuntu 14.04 上で Gaussian 03、Gaussian 09、GaussView を設定した個人の経験です。root パスワードの有効化、root での計算、ASLR の無効化、広範な再帰的権限変更を含みます。現行ガイドはこれらを明確に拒否し、文末の不活性な逐字アーカイブにだけ残します。

Gaussian と GaussView はライセンスソフトウェアです。本稿は組織または利用者が正規のベンダー/機関メディアをすでに使用許可されていることを前提とし、ミラー、ライセンス回避、メディア複製の方法は示しません。インストールコマンド、対応プラットフォーム、ライセンス範囲は、手元の製品、版、リビジョン、メディアに完全一致する資料で判断します。公開情報だけで判断できなければ、推測せずライセンス管理者、クラスター管理者、または Gaussian 技術サポートに確認してください。

セキュリティ境界:root パスワードを有効にしない、Gaussian/GaussView を常時 root で実行しない、ASLR を無効にしない、chmod -R 777 や無差別な再帰 chmod/chown を使わない、未許可ユーザーへプログラムツリーを全体公開しない、という条件を守ります。正確なパス、所有者、グループを特定してから、管理者が記録付き・可逆・最小限の 1 変更を行います。

1. 先に版・ライセンス・プラットフォーム表を作る

配備前に次の証拠を記録し、ファイル名から版を推測しません。

レイヤー確認必須事項権威ある情報源
製品とライセンスGaussian/GaussView、版、リビジョン、バイナリ/ソース媒体、マシン/サイト範囲、許可ユーザー購入記録、署名済みライセンス、機関ライセンス管理者
メディアベンダー/機関由来、媒体ラベル、納品一覧、ベンダーまたは機関が提供したチェックサム正規メディアと付属ファイル。チェックサムがなければ提供元へ確認
プラットフォームCPU、正確な OS/パッチ、必須ライブラリ、並列/GPU 要素媒体の platform_rev.pdf と一致する導入手順、その後公開 G16 プラットフォーム表を照合
実行環境ローカル、ワークステーション、スケジュール型クラスター、CPU、メモリー、scratch、ファイルシステム、ジョブ制限機関管理者とスケジューラー資料
GUIGaussView の版とライセンス、対応デスクトップ、Gaussian が別マシンかGaussView 6 対応コンピューターと機関デスクトップ方針

基礎情報を集め、共有前にホスト名、内部パス、ライセンス識別子を削除します。

uname -m
cat /etc/os-release
id
umask

Ubuntu 14.04 は 2019 年に標準保守、2024 年に通常の Ubuntu Pro 対象期間を終了し、Ubuntu ライフサイクルは別枠で期限付き Legacy add-on を掲載しています。現在の一般的な配備基準ではありません。公開 Gaussian 16 プラットフォーム表はリビジョンごとに特定 OS を列挙します。「より新しい Ubuntu」も自動的にベンダー対応とはなりません。実環境が明記されなければ、安全機能を弱めて強制実行せず、ベンダーまたは機関に確認します。

2. ライセンス優先の導入とロールバックを計画する

導入前に、承認者、正確な媒体/リビジョン、対象ホスト、導入親ディレクトリ、許可グループ、保守時間、容量予算、旧版バックアップ、復帰経路を変更票に記録します。スクリプト、modulefile、サイト設定、保持対象ジョブデータをバックアップします。媒体やプログラムツリーのバックアップはライセンスで許される場合だけ作り、アクセスを制限します。

管理者は一致するベンダー手順に従います。公開 G16 UNIX バイナリ導入手順は、プラットフォームファイル確認、許可グループ選択、媒体の導入スクリプト利用を求めます。これは G16 UNIX バイナリ向けで、g03、g09、ソース版、別リビジョンの汎用手順ではありません。GaussView には別の UNIX 導入手順があり、Gaussian のディレクトリや変数を GUI に機械的に流用してはいけません。

管理者は書き込み前に正確な対象を読み取り専用で一覧化します。未解決シンボリックリンク、共有 /opt ツリー、ホームディレクトリへ再帰操作をしません。導入後は専用管理/サービス所有者と許可グループがプログラムツリーを管理し、一般利用者には実行に必要な読み取り/実行だけを与え、書き込みは与えません。パス連鎖と最上位を確認します。

stat -c '%A %U %G %n' "$g16root" "$g16root/g16"
namei -l "$g16root/g16"
find "$g16root/g16" -maxdepth 1 -printf '%M %u %g %pn'

namei がなければ stat と深さ制限した find を残します。サポートケースへ添付する前に内部パスをマスクします。権限が違えば停止し、管理者が許可グループと手順に照らして具体的な対象だけを直します。Web 記事の数値権限をコピーしたり、エラーを消すためツリー全体を世界可読にしたりしません。

3. root ではなくモジュールまたはユーザープロファイルで環境を読む

複数利用者サーバーでは gaussian/16-c02 のような管理者提供の版付きモジュールを優先し、新旧版を並存・復帰可能にします。Environment Modules または Lmod がある場合、利用者は現在の shell で確認して読み込みます。

module avail gaussian
GAUSSIAN_MODULE="site-approved/version"
module show "$GAUSSIAN_MODULE"
module load "$GAUSSIAN_MODULE"
module list
type -a g16

module show のルート、初期化スクリプト、依存関係は正規リビジョンと一致させます。モジュール構文とスケジューラー統合はサイト設定であり、本稿は汎用 modulefile を示しません。

管理者が利用者ごとの shell プロファイルを要求する場合、次は公開 G16 UNIX バイナリ手順にある変数の形だけを示します。パスは意図的に動作しないプレースホルダーです。一致する媒体手順を確認後、機関承認済みの実パスに置き換えます。

export g16root="/path/from-authorized-media"
export GAUSS_SCRDIR="/path/to/user-owned-scratch"
. "$g16root/g16/bsd/g16.profile"

これを /root/.bashrc に書かず、継承のため su - を使いません。g03、g09、別 shell、ソースビルド、GaussView は異なるスクリプトの場合があるため各手順を確認します。個人プロファイルを編集前に保存し、新しいログイン shell で試し、各追加行を個別に戻せるようにします。

4. Scratch は非公開・書き込み可能・観測可能にする

Gaussian 実行資料GAUSS_SCRDIR が scratch 保存先を指定し、異常終了後にファイルが残る場合を説明します。管理者は利用者/ジョブごとに正しい所有者を持ち、他の一般利用者が読めないディレクトリを用意します。スケジューラー提供のジョブ単位ローカル scratch が共有プログラムツリーより適する場合がありますが、寿命と削除規則はサイト方針に従います。

送信前に読み取り専用で確認します。

printf '%sn' "$GAUSS_SCRDIR"
test -d "$GAUSS_SCRDIR"
test -O "$GAUSS_SCRDIR"
test -w "$GAUSS_SCRDIR"
df -h "$GAUSS_SCRDIR"
df -i "$GAUSS_SCRDIR"

test が失敗する、容量/inode 不足、クォータ不明、ジョブ終了時に削除される領域なら送信を停止して管理者へ連絡します。一般利用者プロセス用 scratch を root 所有で作らず、世界書き込み可にしません。削除前に稼働ジョブがないことを証明し、ジョブ ID/所有者で範囲を限定します。起動時に共有 scratch を無条件消去しません。

5. Gaussian 要求とスケジューラー割り当てを一致させる

Gaussian の %NProcShared%Mem%Chk はジョブ要求であり、スケジューラー資源を取得しません。Link 0 資料が指令を定義し、実 CPU、メモリー、GPU、ノード、時間はスケジューラーが管理します。

次は議論用の仮想ヘッダーで、推奨規模ではありません。

%NProcShared=4
%Mem=8GB
%Chk=job.chk
  • %NProcShared はこのプロセスへの実割り当て CPU を超えないようにします。ログインノード総コア数は割り当てではありません。
  • %Mem は Gaussian 手法、物理メモリー、スケジューラー上限、他プロセスの余裕に収めます。過大要求は性能低下や強制終了を招きます。
  • Linda、GPU、複数ノード実行には適切なライセンス、一致するリビジョン、サイト対応が必要で、Link 0 指令追加だけでは有効になりません。
  • 承認済みジョブスクリプトでモジュールを読み込みます。ログインノードで長時間バックグラウンド実行せず、sudo を使いません。

割り当て内では一致する手順またはサイトテンプレートの起動形を使います。標準入出力の一般的な形は次です。

g16 < job.com > job.log

スケジューラージョブ ID、要求資源、モジュール一覧、入力リビジョン、出力ログを保存します。正常終了文字列だけで完了とせず、終了状態、時間/メモリー使用、期待成果物、科学的妥当性も確認します。

6. Checkpoint パスをワークフロー契約として扱う

Linux ジョブへ Windows ドライブ文字パスを持ち込みません。相対 %Chk=job.chk は機械固有の絶対パスを避けますが、ジョブ作業ディレクトリ基準なので、スクリプトが永続プロジェクト領域へ明示的に cd する必要があります。必要な唯一の checkpoint をスケジューラー削除対象 scratch に置きません。

ジョブの書き込み停止後に checkpoint を複製/保管し、ダイジェストを記録します。

sha256sum job.chk

移動後は %Chk/%OldChk 関係を更新して小規模な読み取り試験をします。バイナリ checkpoint が Gaussian リビジョン、プラットフォーム、バイト順をまたげるかは名前から判断できず、正規手順またはサポート回答に従います。入力、構造、結果、checkpoint は未公開研究を含み得るため、バックアップとサポートケースはデータ分類に従います。

7. GaussView と計算ノードの境界を分ける

GaussView は別ライセンスの GUI です。GaussView 6 ページヘルプは入力作成、計算起動、出力解析を説明しますが、すべての計算ノードに対応デスクトップがあることを意味しません。

対応デスクトップ、表示セッション、機関の遠隔グラフィックス方針を確認します。

printf '%sn' "${DISPLAY:-unset}"
printf '%sn' "${XDG_SESSION_TYPE:-unset}"

表示が未設定、Wayland/X11 不一致、遠隔表示制限の場合、root で起動せず、xhost + や無認証 X サーバー公開をしません。対応ワークステーションで GaussView、クラスターで Gaussian を使い、ベンダーの別マシン可視化ガイドに沿って必要結果だけを転送します。転送方式、権限、版互換性は機関方針に従います。

8. 証拠優先のトラブル対応表

症状最初の証拠安全境界
g16: command not foundmodule listmodule showtype -a g16、正確なリビジョン現在利用者のモジュール/profile を直し、root や /root/.bashrc を使わない
Permission deniedidstatnamei で祖先ディレクトリ、ファイル、scratch のどれか特定管理者が既知の 1 対象と許可グループだけを直し、再帰 chmod/chown しない
Scratch の書き込み、拡張、容量エラーGAUSS_SCRDIR、所有者、可否、df -hdf -i、クォータ、削除規則ログを保持して新規ジョブ停止。全 segmentation fault を容量原因にしない
スレッド数が CPU 超過実割り当てと %NProcSharedGaussian 要求を減らすか資源を再申請し、割り当て超過しない
Segmentation fault完全ログ、製品/リビジョン、表、CPU/ライブラリ、最小再現ASLR を無効にせず、表内でも説明不能ならベンダーサポートケースへ
“directory is world accessible”ツリーと祖先の所有者、グループ、other ビット許可グループへ限定修正し、777 や全面 755 にしない
Checkpoint を開けない作業ディレクトリ、POSIX パス、所有者、完全性、生成版ドライブ文字だけ削除したり推測したりせず、原本を残し複製で試す
GaussView が無表示/クラッシュ対応プラットフォーム、版、DISPLAY/セッション、遠隔方式、GUI ログroot で回避せず、機関デスクトップ支援かベンダー遠隔経路へ

Linux カーネルの `randomize_va_space` 資料はアドレス空間ランダム化の制御と説明しています。原文のように Gaussian クラッシュ対策として全体の ASLR を切るのは許容できない近道です。許可済みリビジョンが掲載対応環境でも落ちるなら、全ホストを弱めず最小再現とログをベンダーへ提出します。

9. ログ、更新、バックアップ、アップグレード復帰

サポートケースには製品と正確なリビジョン、媒体種類、プラットフォーム表項目、OS/CPU、読み込みモジュール、割り当て資源、scratch ファイルシステム、最小限に匿名化した再現、出力末尾、エラー前後を含めます。ライセンスファイル、媒体、完全な未公開構造、利用者/内部パス、他人のデータは送信しません。

新リビジョンは新しい版付きディレクトリとモジュール名へ導入し、同じスケジューラー資源でベンダー/機関承認テスト、その後科学的回帰を行い、稼働版を上書きしません。結果、性能、GUI 連携、復帰試験が通るまで旧モジュール、ジョブスクリプト、必要 checkpoint、設定を保持します。旧媒体削除前にライセンスと記録保持要件を確認します。

ライセンス範囲/媒体由来不明、プラットフォーム/リビジョン未掲載、恒常 root 実行や ASLR/安全機能停止が必要、未許可利用者へのツリー公開が必要、scratch が不明な共有領域、割り当てと入力が一致不能、checkpoint が唯一、匿名化最小再現で説明不能、のいずれかなら停止してエスカレーションします。機関ライセンス/クラスター管理者と Gaussian サポート連絡ページを使います。

公式資料

本稿は 2026-09-01 に確認しました。Gaussian の公開資料は特定ライセンス付属手順の代わりではありません。正規媒体に一致する資料、機関方針、ベンダーの書面回答を最終基準とします。

歴史的原文アーカイブ(来歴確認専用)

以下は source_export の完全な可視本文を逐字保存したものです。削除、改稿、空白正規化、プライバシー/安全上の編集はありません。root パスワード有効化、root 実行、ASLR の全体/起動時無効化、広範な再帰権限という危険な旧助言を含みます。ブロック全体は不活性なプレーンテキストで、リンクはクリック不可、コマンドは実行不可で、上の現行ガイドの代わりになりません。

以下方法对g03和g09均可行。

Table of Contents

Toggle

- [一、解压](https://blog.lazying.art/en/html/chemistry/1113/ubuntu-14-04-%e4%b8%8b%e6%88%90%e5%8a%9f%e5%ae%89%e8%a3%85gaussian-03%ef%bc%88g03%ef%bc%89%e5%92%8cgaussian-09%ef%bc%88g09%ef%bc%89%e5%8f%8a%e5%b8%b8%e8%a7%81%e9%94%99%e8%af%af%e8%a7%a3%e5%86%b3.html/#%E4%B8%80%E3%80%81%E8%A7%A3%E5%8E%8B)
- [二、安装](https://blog.lazying.art/en/html/chemistry/1113/ubuntu-14-04-%e4%b8%8b%e6%88%90%e5%8a%9f%e5%ae%89%e8%a3%85gaussian-03%ef%bc%88g03%ef%bc%89%e5%92%8cgaussian-09%ef%bc%88g09%ef%bc%89%e5%8f%8a%e5%b8%b8%e8%a7%81%e9%94%99%e8%af%af%e8%a7%a3%e5%86%b3.html/#%E4%BA%8C%E3%80%81%E5%AE%89%E8%A3%85)
- [三、运行](https://blog.lazying.art/en/html/chemistry/1113/ubuntu-14-04-%e4%b8%8b%e6%88%90%e5%8a%9f%e5%ae%89%e8%a3%85gaussian-03%ef%bc%88g03%ef%bc%89%e5%92%8cgaussian-09%ef%bc%88g09%ef%bc%89%e5%8f%8a%e5%b8%b8%e8%a7%81%e9%94%99%e8%af%af%e8%a7%a3%e5%86%b3.html/#%E4%B8%89%E3%80%81%E8%BF%90%E8%A1%8C)
- [四、安装gview](https://blog.lazying.art/en/html/chemistry/1113/ubuntu-14-04-%e4%b8%8b%e6%88%90%e5%8a%9f%e5%ae%89%e8%a3%85gaussian-03%ef%bc%88g03%ef%bc%89%e5%92%8cgaussian-09%ef%bc%88g09%ef%bc%89%e5%8f%8a%e5%b8%b8%e8%a7%81%e9%94%99%e8%af%af%e8%a7%a3%e5%86%b3.html/#%E5%9B%9B%E3%80%81%E5%AE%89%E8%A3%85gview)
- [五、常见错误](https://blog.lazying.art/en/html/chemistry/1113/ubuntu-14-04-%e4%b8%8b%e6%88%90%e5%8a%9f%e5%ae%89%e8%a3%85gaussian-03%ef%bc%88g03%ef%bc%89%e5%92%8cgaussian-09%ef%bc%88g09%ef%bc%89%e5%8f%8a%e5%b8%b8%e8%a7%81%e9%94%99%e8%af%af%e8%a7%a3%e5%86%b3.html/#%E4%BA%94%E3%80%81%E5%B8%B8%E8%A7%81%E9%94%99%E8%AF%AF)

### 一、解压

首先对文件进行解压缩,我的文件名是G09.B01.LINUX_E64-930X.tgz,文件在桌面,你应填上你对应的文件目录和文件名,可用tab键补全。

tar -xvf Desktop/G09.B01.LINUX_E64-930X.tgz


注意:

1、应注意文件是否解压完全,我第一次安装的时候,exe后缀的文件不知什么原因都没有解压出来,所以安装一直失败,重新解压一次又好了;

2、尽量不要使用sudo,倘若你的Home目录权限有问题,使用加sudo解压后再将权限恢复正常,或者通过创建一个用户组。

改变文件夹权限

chmod -R u=755 g09


创建组及用户,改变文件及文件夹的组及用户

sudo groupadd g09users 创建组
sudo useradd g09 -g gaussuser 创建组用户
chgrp -R g09users g09
chown -R g09users:gaussuser g09


将用户添加进组

usermod -G g09users gaussuser


### 二、安装

其实,安装的过程就是设置变量的过程。
 进入主目录,Ctrl+H显示隐藏文件,打开.bashrc文件,在文件末尾加上以下内容(安装g03请把g09全部替换成g03就行了),注意你的g09的目录和你的用户名,按照以下的格式修改就行。(注意:经过我多次安装,发现修改主目录的/home/yourusername/.bashrc,用su获得超级用户的权限后,每次仍需要使用source /home/yourusername/.bashrc才能够成功设置环境变量,我发现直接修改/root/.bashrc便不用每次都需要再重新设置环境变量)

#gaussian09
export g09root=/home/yourusername
GAUSS_EXEDIR=$g09root/g09/
export GAUSS_SCRDIR=/home/yourusername/g09/scratch
LD_LIBRARY_PATH=$g09root/g09/:$LD_LIBRARY_PATH
PATH=$g09root/g09/:$PATH
export g09root GAUSS_EXEDIR GAUSS_SCRDIR LD_LIBRARY_PATH PATH
source $g09root/g09/bsd/g09.profile


最后,在g09的目录里创建scratch目录

### 三、运行

[![gauss-procedure-full-edited](images/gauss-procedure-full-edited.png)](https://blog.lazying.art/wp-content/uploads/2014/06/gauss-procedure-full-edited.png)

(最后的Error是由于我Ctrl+C终止程序)

运行时的命令用sudo提示permission denied,所以应当用su获取超级权限。

取得超级用户权限,先给超级用户设置密码,终端输入以下命令,然后输入密码。

sudo passwd root


然后,输入以下命令,输入刚设置的密码

su -


这样进入的是root的根目录/root,需切换到用户目录/home/yourusername,亦即我们的g09目录存放的目录。

cd /home/username


输入以下命令,第一条是避免Segmentation fault(段错误)该命令只能在su下执行,在sudo下会提示权限不足(Permission denied),该命令也可添加进/etc/rc.loacal,开机自动执行,第二条是运行命令,”./g09/g09″是我的g09目录下的g09文件的地址,其中tasks是我的任务文件gif存放目录,可在命令末尾加上&表示后台执行。

echo 0 > /proc/sys/kernel/randomize_va_space
./g09/g09 tasks/xxx.gif &


[![rc.local-gauss](images/rc.local-gauss.png)](https://blog.lazying.art/wp-content/uploads/2014/06/rc.local-gauss.png)

### 四、安装gview

在.bashrc末尾加上以下内容
 export GV_DIR=/home/yourusername/gv/
 export LIBPATH=/home/yourusername/gv/lib
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/yourusername/gv/lib
 PATH=$PATH:/home/yourusername/gv/

### 五、常见错误

1、forrtl: No such file or directory
 没有创建scratch目录,或者目录路径设置不对,这是Gauss的输出目录。

2、Warning: omp_set_num_threads (4) greater than available cpus (2)
 这是gif文件设置不对,cpu的核数为2却设成了4,只要打开改回电脑应有的cpu的个数就行了

3、Segmentation fault
 Erroneous write during file extend. write -1 instead of 4096
 Probably out of disk space.
 Write error in NtrExt1: Bad address
 Segmentation fault
 解决办法:
 sudo echo 0 > /proc/sys/kernel/randomize_va_space
 最好写进/etc/rc.local文件(ubuntu系统,其他系统写进相应文件),令其开机自动加载该命令,省时省力。

4、ntrex1: Bad file descriptor
 Error: segmentation violation
 rax 0000000000000000, rbx 00007ffffffdecb0, rcx ffffffffffffffff
 rdx 00000000000029b8, rsp 00007ffffffdebc8, rbp 00007ffffffdecc0
 rsi 000000000000000b, rdi 00000000000029b8, r8 00002aaaaaaf2300
 r9 0000000000000000, r10 00007ffffffde990, r11 0000000000000202
 r12 00000000ffffffff, r13 000000000061c830, r14 0000000000000001
 r15 0000000000010000
 — traceback not available
 Aborted (core dumped)
 gif文件%chk设置错误,因为Linux下没有Windows下的分区和目录结构,例如,%chk=D:he-test-c.chk,把分区号去除就可以了,例如%chk=he-test-c.chk。
 5、运行g09后出错,查看log文件,信息如下:
 Entering Gaussian System, Link 0=g09
 Input=1.com
 Output=1.log
 Files in the Gaussian directory are world accessible.
 This must be fixed.
 原因是g09文件夹权限太高,如果整个改成777就有可能出这个问题。解决办法是除了scratch目录以外,均用755或者750等。(所以之前建议用更改用户组的办法来实现权限)。

Leave a Reply