【第2回】HULFT8 配信設定・集信設定・配信テスト(Linux)

# はじめに
[前回](https://qiita.com/asds0025/items/cb79e18a13a85ca3b038)はHULFT8の導入を行いました。
今回は実際に配信設定・集信設定・配信テストを行っていきます。

# 環境
* Oracle Linux 8.5
* HULFT8 Cipher OP(AES) Linux / 8.5.1

# 構成
![タイトルなし.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2709815/7206a901-d3ed-250d-17d7-ac8023f5d198.png)

# 1.hosts設定

```java:hosts編集
[root@ln01 ~]# vi /etc/hosts
```

```java:host設定
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.100 ln01
192.168.10.101 ln02
```

```java:名前解決確認
[root@ln01 ~]# ping -c 3 ln02
PING ln02 (192.168.10.101) 56(84) bytes of data.
64 bytes from ln02 (192.168.10.101): icmp_seq=1 ttl=64 time=0.324 ms
64 bytes from ln02 (192.168.10.101): icmp_seq=2 ttl=64 time=0.372 ms
64 bytes from ln02 (192.168.10.101): icmp_seq=3 ttl=64 time=0.255 ms

--- ln02 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2032ms
rtt min/avg/max/mdev = 0.255/0.317/0.372/0.048 ms
[root@ln01 ~]#
[root@ln01 ~]#
```

# 2.配信設定 (配信ホストで実施)

初めに、配信するホストでの設定を行っていきましょう。

## 2.1詳細ホスト情報設定

```java:配信設定
[root@ln01 ~]# utladmin
```

下記画面が表示されるので、"6.システム管理"を選択

```java:

   HULFT8 for                 <<処理選択メニュー>>          ESC ：終了
     Linux-Enterprise                                       TAB ：項目移動
   Ver.08.05.01
                               １．配信状況照会

                               ２．集信状況照会

                               ３．要求状態確認

                               ４．転送状況一覧

                               ５．再配信待ち状況一覧

                               ６．システム管理

                               区分        ===>  F   F：ファイルＩＤ別
                                                     H：ホスト名別
   ファイルＩＤまたはホスト名                        ※省略時は、ファイルＩＤ別
```

下記画面が表示されます。"4.詳細ホスト情報"にカーソルを合わせ、対向ホスト名を入力。

```java:システム管理メニュー
                           <<システム管理メニュー>>         ESC ：前画面


                             １．配信管理情報

                             ２．集信管理情報

                             ３．ジョブ起動情報

                             ４．詳細ホスト情報　　　　　　★ここにカーソルを合わせる

                             ５．転送グループ情報

                             ６．フォーマット情報

                             ７．マルチフォーマット情報

                             ８．ファイルトリガ情報

                             ９．システム動作環境設定
   ＩＤまたはホスト名
        ln02
```

下記画面が表示されます。今回は下記のようにデフォルトのままです。

```java:詳細ホスト情報画面①

 詳細ホスト情報 新規登録       Ctr+p：詳細ホスト情報複写    ESC   ：キャンセル
                               Ctr+d：詳細ホスト情報削除    TAB   ：項目移動
                               Ctr+s：次画面
 ホスト名：ln02
 ホスト種            : U (H:汎用機  U:UNIX  N:WindowsNT  W:Windows
                          A:AS/400  K:富士通K)
 転送コードセット    : 8 (S:SHIFT-JIS  E:EUC-JP  8:UTF-8  J:JEF  I:IBM漢字
                          K:KEIS  N:NEC  G:GB18030  C:IBM簡体字)
 日本語規格          : 1 (0:78JIS  1:83JIS)
 集信ポートNo.       : 30000
 要求受付ポートNo.   : 31000
 接続形態            : L (L:LAN)
 HULFT7通信モード    : N (Y:有効  N:無効)
 ホスト別配信多重度  : 0






 コメント :
```

"Ctr+s"を押下し、次の画面へ推移。ここもデフォルトのまま、"Enter"を押下し保存する。

```java:詳細ホスト情報画面②

 詳細ホスト情報 新規登録       Ctr+s：前画面                ESC   ：キャンセル
                                                            TAB   ：項目移動

 ホスト名：ln02

                        <<PROXYサーバ>>
 PROXYサーバ名

 PROXYポートNo.   :

                        <<セキュリティ関連設定情報>>
 送信要求・再送要求受付許可         : Y (Y: 許可する  N: 拒否する )
 集信後ジョブ結果参照要求受付許可   : Y (Y: 許可する  N: 拒否する )
 ジョブ実行結果通知受付許可         : Y (Y: 許可する  N: 拒否する )
 リモートジョブ実行受付許可         : Y (Y: 許可する  N: 拒否する )
 簡易転送受付許可                  : N (Y: 許可する  N: 拒否する )
 ユーザの通知                      : N (Y: 通知する  N: 通知しない)



 コメント :
```

下記画面が表示されます。"ESC"を押下し、システム管理メニューの画面へ戻ります。

```java:登録された詳細ホスト情報一覧

 詳細ホスト情報一覧                                         ESC ：前画面
                                                            ↑↓：スクロール
 ホスト名                                                         000001/000001
     ln02


 ホスト名 ホスト種 転送コードセット 集信ポートNo.  要求受付ポートNo. 接続形態
 -----------------------------------------------------------------------------
 ln02      UNIX      UTF-8         30000          31000              LAN

```

## 2.2転送グループ情報設定

"5.転送グループ情報"にカーソルを合わせ、"適当な転送グループ名"を入力します。
※対向のHULFTから配信要求をしない場合は、お互いのノードで転送グループ名を揃える必要はありません。

```java:システム管理メニュー

                           <<システム管理メニュー>>         ESC ：前画面


                             １．配信管理情報

                             ２．集信管理情報

                             ３．ジョブ起動情報

                             ４．詳細ホスト情報

                             ５．転送グループ情報　　　　　　★ここにカーソルを合わせる

                             ６．フォーマット情報

                             ７．マルチフォーマット情報

                             ８．ファイルトリガ情報

                             ９．システム動作環境設定
   ＩＤまたはホスト名
        GRP1
```

"ホスト名"の欄に、対向の配信先ホスト名を入力し、"Enter"を押下し保存します。

```java:転送グループID設定

 転送グループ情報 新規登録     Ctr+p：転送グループ情報複写  ESC ：キャンセル
                               Ctr+d：転送グループ情報削除  TAB ：項目移動

 転送グループＩＤ:  GRP1
 コメント :

 ホスト名
 ->  ln02
 ->
 ->
 ->
 ->
 ->
 ->
 ->
 ->
 ->
 ->
 ->
 ->
 ->
```

下記画面が表示されます。"ESC"を押下し、システム管理メニューの画面へ戻ります。

```java:登録された転送グループ情報一覧

 転送グループ情報一覧                                       ESC ：前画面
                                                            ↑↓：スクロール
                                                                  000001/000001
 転送グループＩＤ： GRP1

 転送グループＩＤ                         コメント
 -----------------------------------------------------------------------------
 GRP1
```

## 2.3配信管理情報設定

"1.配信管理情報"にカーソルを合わせ、"適当なFILEID"を入力します。
※FILEIDとは、実際のファイルとHULFTでの配信ファイルを結びつけるものです。

```java:システム管理メニュー

                           <<システム管理メニュー>>         ESC ：前画面


                             １．配信管理情報　　　　　　★ここにカーソルを合わせる

                             ２．集信管理情報

                             ３．ジョブ起動情報

                             ４．詳細ホスト情報

                             ５．転送グループ情報

                             ６．フォーマット情報

                             ７．マルチフォーマット情報

                             ８．ファイルトリガ情報

                             ９．システム動作環境設定
   ＩＤまたはホスト名
        FILE1
```

詳しく書くと長くなるので、今回は下記のように設定します。

```java：配信管理情報画面①

 配信管理情報 更新                    Ctr+p：管理情報複写   ESC ：キャンセル
                                      Ctr+d：管理情報削除   TAB ：項目移動
                                      Ctr+s：次画面
 ファイルＩＤ      :  FILE1

 配信ファイル名    :  /opt/HULFT/Send/testdata
 転送タイプ        :  B (F:FORMAT   B:BINARY   T:TEXT     M:MULTI-FMT)
 M/フォーマットＩＤ:
 圧縮方式          :  N (N:圧縮なし 1:横圧縮   2:縦横圧縮  3:DEFLATE圧縮)
 圧縮単位          :  0
 DEFLATEレベル     :    (S:圧縮速度優先  D:標準  C:圧縮率優先)
 コード変換        :  N (S:配信側   R:集信側   N:無変換)
 EBCDICセット      :  0 (0:AUT A:KN B:AL C:AC D:AP E:LOW F:EX G:NEC H:KX
                         I:CNX V:U1 W:U2 X:U3)
 配信ファイルの扱い:  K (K:保存  C:クリア  D:削除  L:ロック)
 転送グループＩＤ  :  GRP1
 配信前ジョブＩＤ  :
 正常時ジョブＩＤ  :
 異常時ジョブＩＤ  :

 コメント :
```

"Ctr+s"を押下し、次の画面へ推移。ここでは、下記のように設定し"Enter"で保存。

```java:配信管理情報画面②

 配信管理情報 更新                    Ctr+s：前画面         ESC ：キャンセル
                                                            TAB ：項目移動

 ファイルＩＤ      :  FILE1

 連携ＤＢＩＤ      :

 転送間隔          :  0            転送優先度        :  50
 転送ブロック長    :  0            転送ブロック数    :  0

 シフトコードの扱い:  Y (Y:付加する N:付加しない)

 暗号キー  :







 コメント :
```

下記画面が表示されます。"ESC"を押下し、システム管理メニューの画面へ戻ります。

```java:登録された配信管理情報一覧

 配信管理情報一覧                        Ctr+u：配信要求    ESC ：前画面
                                                            ↑↓：スクロール
                                                                  000001/000001
 ファイルID    ： FILE1
 転送グループID：

 ファイルID  転送タイプ  転送グループID               コメント
 ------------------------------------------------------------------------------
 FILE1          BNR
```

これで、配信ホストの設定は完了です。
"ESC"を2回押下し、utladminの画面から抜けて下さい。

# 3.集信設定 (集信ホストで実施)

次に、集信するホストでの設定を行っていきましょう。

## 3.1詳細ホスト情報設定

```java:配信設定
[root@ln02 ~]# utladmin
```

下記画面が表示されるので、"6.システム管理"を選択

```java:

   HULFT8 for                 <<処理選択メニュー>>          ESC ：終了
     Linux-Enterprise                                       TAB ：項目移動
   Ver.08.05.01
                               １．配信状況照会

                               ２．集信状況照会

                               ３．要求状態確認

                               ４．転送状況一覧

                               ５．再配信待ち状況一覧

                               ６．システム管理

                               区分        ===>  F   F：ファイルＩＤ別
                                                     H：ホスト名別
   ファイルＩＤまたはホスト名                        ※省略時は、ファイルＩＤ別
```

下記画面が表示されます。"4.詳細ホスト情報"にカーソルを合わせ、対向ホスト名を入力。

```java:システム管理メニュー
                           <<システム管理メニュー>>         ESC ：前画面


                             １．配信管理情報

                             ２．集信管理情報

                             ３．ジョブ起動情報

                             ４．詳細ホスト情報　　　　　　★ここにカーソルを合わせる

                             ５．転送グループ情報

                             ６．フォーマット情報

                             ７．マルチフォーマット情報

                             ８．ファイルトリガ情報

                             ９．システム動作環境設定
   ＩＤまたはホスト名
        ln01
```

下記画面が表示されます。今回は下記のようにデフォルトのままです。

```java:詳細ホスト情報画面①

 詳細ホスト情報 新規登録       Ctr+p：詳細ホスト情報複写    ESC   ：キャンセル
                               Ctr+d：詳細ホスト情報削除    TAB   ：項目移動
                               Ctr+s：次画面
 ホスト名：ln01
 ホスト種            : U (H:汎用機  U:UNIX  N:WindowsNT  W:Windows
                          A:AS/400  K:富士通K)
 転送コードセット    : 8 (S:SHIFT-JIS  E:EUC-JP  8:UTF-8  J:JEF  I:IBM漢字
                          K:KEIS  N:NEC  G:GB18030  C:IBM簡体字)
 日本語規格          : 1 (0:78JIS  1:83JIS)
 集信ポートNo.       : 30000
 要求受付ポートNo.   : 31000
 接続形態            : L (L:LAN)
 HULFT7通信モード    : N (Y:有効  N:無効)
 ホスト別配信多重度  : 0






 コメント :
```

"Ctr+s"を押下し、次の画面へ推移。ここもデフォルトのまま、"Enter"を押下し保存する。

```java:詳細ホスト情報画面②

 詳細ホスト情報 新規登録       Ctr+s：前画面                ESC   ：キャンセル
                                                            TAB   ：項目移動

 ホスト名：ln01

                        <<PROXYサーバ>>
 PROXYサーバ名

 PROXYポートNo.   :

                        <<セキュリティ関連設定情報>>
 送信要求・再送要求受付許可         : Y (Y: 許可する  N: 拒否する )
 集信後ジョブ結果参照要求受付許可   : Y (Y: 許可する  N: 拒否する )
 ジョブ実行結果通知受付許可         : Y (Y: 許可する  N: 拒否する )
 リモートジョブ実行受付許可         : Y (Y: 許可する  N: 拒否する )
 簡易転送受付許可                  : N (Y: 許可する  N: 拒否する )
 ユーザの通知                      : N (Y: 通知する  N: 通知しない)



 コメント :
```

下記画面が表示されます。"ESC"を押下し、システム管理メニューの画面へ戻ります。

```java:登録された詳細ホスト情報一覧

 詳細ホスト情報一覧                                         ESC ：前画面
                                                            ↑↓：スクロール
 ホスト名                                                         000001/000001
     ln01


 ホスト名 ホスト種 転送コードセット 集信ポートNo.  要求受付ポートNo. 接続形態
 -----------------------------------------------------------------------------
 ln01      UNIX      UTF-8         30000          31000              LAN

```

## 3.2転送グループ情報設定

"5.転送グループ情報"にカーソルを合わせ、"適当な転送グループ名"を入力します。
※対向のHULFTから配信要求をしない場合は、お互いのノードで転送グループ名を揃える必要はありません。

```java:システム管理メニュー

                           <<システム管理メニュー>>         ESC ：前画面


                             １．配信管理情報

                             ２．集信管理情報

                             ３．ジョブ起動情報

                             ４．詳細ホスト情報

                             ５．転送グループ情報　　　　　　★ここにカーソルを合わせる

                             ６．フォーマット情報

                             ７．マルチフォーマット情報

                             ８．ファイルトリガ情報

                             ９．システム動作環境設定
   ＩＤまたはホスト名
        GRP1
```

"ホスト名"の欄に、対向の配信先ホスト名を入力し、"Enter"を押下し保存します。

```java:転送グループID設定

 転送グループ情報 新規登録     Ctr+p：転送グループ情報複写  ESC ：キャンセル
                               Ctr+d：転送グループ情報削除  TAB ：項目移動

 転送グループＩＤ:  GRP1
 コメント :

 ホスト名
 ->  ln01
 ->
 ->
 ->
 ->
 ->
 ->
 ->
 ->
 ->
 ->
 ->
 ->
 ->
```

下記画面が表示されます。"ESC"を押下し、システム管理メニューの画面へ戻ります。

```java:登録された転送グループ情報一覧

 転送グループ情報一覧                                       ESC ：前画面
                                                            ↑↓：スクロール
                                                                  000001/000001
 転送グループＩＤ： GRP1

 転送グループＩＤ                         コメント
 -----------------------------------------------------------------------------
 GRP1
```

## 3.3集信管理情報設定

"1.配信管理情報"にカーソルを合わせ、"適当なFILEID"を入力します。
※FILEIDとは、実際のファイルとHULFTでの配信ファイルを結びつけるものです。

```java:システム管理メニュー

                           <<システム管理メニュー>>         ESC ：前画面


                             １．配信管理情報

                             ２．集信管理情報　　　　　　★ここにカーソルを合わせる

                             ３．ジョブ起動情報

                             ４．詳細ホスト情報

                             ５．転送グループ情報

                             ６．フォーマット情報

                             ７．マルチフォーマット情報

                             ８．ファイルトリガ情報

                             ９．システム動作環境設定
   ＩＤまたはホスト名
        FILE1
```

詳しく書くと長くなるので、今回は下記のように設定します。

```java：集信管理情報画面①

 集信管理情報 更新                    Ctr+p：管理情報複写   ESC ：キャンセル
                                      Ctr+d：管理情報削除   TAB ：項目移動
                                      Ctr+s：次画面
 ファイルＩＤ      :  FILE1

 ファイル名        :  /opt/HULFT/Collection/testdata
 オーナー名        :  root              グループ名        : root
 パーミッション    :  読 み   書 き   実 行    0:権限無し  1:権限有り
        オーナー        1       1       0
        グループ        1       1       0
        その他          1       1       0
 登録モード        :  N (N:新規作成  R:置き換え  M:追加)
 異常時の処置      :  D (D:削除      K:保存      R:復元)
 集信形態          :  S (S:単一集信  M:複数集信)
 世代管理          :  N (N:無 Y:有)  世代管理数        :
 EBCDICセット      :  0 (0:AUT A:KN B:AL C:AC D:AP E:LOW F:EX G:NEC H:KX
                         I:CNX V:U1 W:U2 X:U3)
 正常時ジョブＩＤ  :
 異常時ジョブＩＤ  :

 コメント :
```

"Ctr+s"を押下し、次の画面へ推移。ここでは、下記のように設定し"Enter"で保存。
※配信ホストから配信要求をしない場合は、転送グループは設定不要のため、入力していません。

```java:集信管理情報画面②

 集信管理情報 更新                    TAB ：項目移動        ESC ：キャンセル
                                                           Ctr+s：前画面

 ファイルＩＤ      :  FILE1

 集信完了通知      :  T (T:受信完了  J:正常時ジョブ完了)

 転送グループＩＤ  :

 データ検証        :  0 (0:しない 1:する)
 暗号キー  :









 コメント :
```

下記画面が表示されます。"ESC"を押下し、システム管理メニューの画面へ戻ります。

```java:集信管理情報一覧

 集信管理情報一覧                        Ctr+u：送信要求    ESC ：前画面
                                                            ↑↓：スクロール
                                                                  000001/000001
 ファイルID    ： FILE1
 転送グループID：

 ファイルID  登録モード  転送グループID               コメント
 ------------------------------------------------------------------------------
 FILE1          NEW
```

これで、集信ホストの設定は完了です。
"ESC"を2回押下し、utladminの画面から抜けて下さい。

# 4.配信前準備 (配信ホストで実施)

## 4.1配信用ディレクトリ作成

```java:配信用ディレクトリ作成
[root@ln01 ~]# mkdir /opt/HULFT/Send
```

## 4.2配信ファイル作成

```java:配信ファイル作成
[root@ln01 ~]# cd /opt/HULFT/Send
[root@ln01 Send]#
[root@ln01 Send]# ll
合計 0
[root@ln01 Send]#
[root@ln01 Send]# dd if=/dev/zero of="testdata" bs=1G count=1
1+0 レコード入力
1+0 レコード出力
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.70109 s, 398 MB/s
[root@ln01 Send]#
[root@ln01 Send]# ll
合計 1048576
-rw-r--r-- 1 root root 1073741824  6月 22 16:40 testdata
[root@ln01 Send]#
```

## 4.3プロセス起動

```java:プロセス起動
[root@ln01 Send]# ps -ef |grep hul
root        2012    1897  0 16:46 pts/0    00:00:00 grep --color=auto hul
[root@ln01 Send]#
[root@ln01 Send]# hulsndd
[root@ln01 Send]# hulrcvd
[root@ln01 Send]# hulobsd
[root@ln01 Send]#
[root@ln01 Send]# ps -ef |grep hul
root        2014       1  0 16:47 pts/0    00:00:00 hulsndd
root        2016       1  0 16:47 pts/0    00:00:00 hulrcvd
root        2018       1  0 16:47 pts/0    00:00:00 hulobsd
root        2019    2018  0 16:47 pts/0    00:00:00 hulobsd
root        2021    1897  0 16:47 pts/0    00:00:00 grep --color=auto hul
```



# 5.集信前準備 (集信ホストで実施)

## 5.1集信ディレクトリ作成

```java:集信ディレクトリ作成
[root@ln02 ~]# mkdir /opt/HULFT/Collection
```

## 5.2プロセス起動

```java:プロセス起動
[root@ln02 ~]# ps -ef |grep hul
root        1962    1855  0 16:48 pts/0    00:00:00 grep --color=auto hul
[root@ln02 ~]#
[root@ln02 ~]# hulsndd
[root@ln02 ~]# hulrcvd
[root@ln02 ~]# hulobsd
[root@ln02 ~]#
[root@ln02 ~]# ps -ef |grep hul
root        1964       1  0 16:48 pts/0    00:00:00 hulsndd
root        1966       1  0 16:48 pts/0    00:00:00 hulrcvd
root        1968       1  0 16:49 pts/0    00:00:00 hulobsd
root        1969    1968  0 16:49 pts/0    00:00:00 hulobsd
root        1971    1855  0 16:49 pts/0    00:00:00 grep --color=auto hul
```

# 6.配信テスト

## 6.1配信の実施 (配信ホストで実施)

```java:配信の実施
[root@ln01 Send]# utlsend -f FILE1
```

## 6.2配信確認 (配信ホストで実施)

STATUSが"0000-0000 "であれば正常に配信されています。

```java:配信の実施
[root@ln01 Send]# utllist -s

FILEID    HOST NAME START DAY   START TIME END TIME   RECORDS  STATUS   CONNECT

FILE1     ln02      2022/06/22  16:54:24   16:54:27          1 0000-0000   LAN

[root@ln01 Send]#
```

## 6.3集信確認 (集信ホストで実施)

```java:ファイルの確認
[root@ln02 Collection]# ll /opt/HULFT/Collection
合計 1048576
-rw-rw-rw- 1 root root 1073741824  6月 22 16:54 testdata
[root@ln02 Collection]#
```

STATUSが"0000-0000 "であれば正常に集信されています。

```java:集信履歴確認
[root@ln02 Collection]# utllist -r

HOST NAME FILEID    START DAY   START TIME END TIME   RECORDS  STATUS   CONNECT

ln01      FILE1     2022/06/22  16:54:21   16:54:24          1 0000-0000   LAN

[root@ln02 Collection]#
```

# おまけ

今回は通常の配信を行なっただけなので、暗号化通信の方法も次回記載します。

```java:

 配信詳細情報照会                       Ctr+s：次画面           ESC ：一覧画面


 ファイルＩＤ: FILE1
 集信ホスト名: ln02

     配信受付日時: 2022/06/22 16:54:24
     配信日時    : 2022/06/22 16:54:24 - 16:54:27
     完了コ－ド  : 0000-0000
     レコ－ド件数: 1                   データサイズ: 1073741824
     ファイル名  : /opt/HULFT/Send/testdata
     転送レ－ト  : 357913941 Byte/秒   接続形態    : LAN      IPバージョン: 4
     圧縮方式    : 圧縮なし            圧縮率      : ---
     コード変換側: 無変換
     転送ブロック長: 63712             転送ブロック数: 1
     処理識別子  : 0C02FF8A3BEC5BC913C8B79229920C8832
     転送識別子  :
               0C02FF8A3BEC5BC913C8B79229920C8832000100000000000000000000000000
     暗号化種別  : -   ★ここが"-"の場合は、暗号化配信されていない   連携ＤＢＩＤ:

     コメント    :
```

対向のHULFTが起動しているか確認するコマンドもあります。

・配信ホストから
```java:
[root@ln01 Send]# utlalivecheck -h ln02 -p 32000　★配信要求受付ポート(Default)
[root@ln01 Send]# utlalivecheck -h ln02 -p 30000　★集信ポート(Default)
[root@ln01 Send]# utlalivecheck -h ln02 -p 31000　★要求受付ポート(Default)
```

・集信ホストから
```java:
[root@ln02 Collection]# utlalivecheck -h ln02 -p 32000　★配信要求受付ポート(Default)
[root@ln02 Collection]# utlalivecheck -h ln02 -p 30000　★集信ポート(Default)
[root@ln02 Collection]# utlalivecheck -h ln02 -p 31000　★要求受付ポート(Default)
```

# おわりに
次回は、下記について記載していきます。
・暗号化配信
・ファイルトリガー配信