IBM i駆け出し日記：PTF/TRをIBM iに適用する-Fix Centralからダウンロード編-

# PTF/TRについて
## PTFとは
PTFとはIBMが出しているソフトウェアの問題点を解決するために利用される一時的な修正プログラムです。
主に3種類あります。
- 個別PTF：個々の問題に対処するもの
- グループPTF：関連するいくつかのPTFをグループ化したもの
- 累積PTF：ある時点までのPTFを集積したもの

## TRとは
テクノロジーリフレッシュの略でオファリング、サービス、ハードウェアの機能拡張を提供するものです。
基本的に春と秋の年2回行われます、最近はバージョンアップに匹敵するくらいの大型拡張機能提供もTRで行われるそうです。

## 適用方法
適用方法は大きく2つあるとの認識です。
1. Fix Centralからイメージをダウンロードして仮想ディスクから充てる
1. DVDをオーダーして物理ディスクから充てる

今回は1の方法をやっていきます、前編としてPTFのダウンロード方法について書いていこうと思います。
(PTFもTRも基本的に適用方法は同じなので今回はPTFをダウンロードしていきます)

# PTFダウンロード手順
## Fix Centralへアクセスする
PTFやTRをダウンロードするためにFix Centralという入手サイトにアクセスします。
https://www.ibm.com/support/fixcentral

**ダウンロードにあたってIBM idが必要になるので事前に登録しておいてください。**

## 入手対象のPTFを探す
製品の選択タブからIBM Operating Systems＞IBM iと選択、次に進むを押すとIBM idの入力が求められるので入力して進みます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/7f7b7d4b-d6cf-8812-e217-aee337df79cf.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/a38eecfd-a2e6-c2ac-7a9f-75d1b487510e.png)

「マシンタイプ」フィールドと「マシンシリアル番号」フィールドに入力し、「続行」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/178efc00-9ffd-7031-7155-7d1bb26f0923.png)

入手したいPTFを指定します。
今回はIBM iV7R5の累積PTFと累積PTFを除く全てのグループPTFを入手したいので
「個別のフィックスID」にSF99750(累積PTF)、SF99751(全てのグループPTF)を入れました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/9b497d81-4b84-cd84-d034-90de6540bf8e.png)

:::note info
累積PTFは**SF99VRM**
累積PTFを除く全てのPTFグループは**SF99VR1**
でそれぞれオーダーします。
(VRMは750のようにバージョン、リリース、修正レベル)
:::
よくわからない場合は右側のクイックオーダーに適用したいIBM iのバージョンを入れて探すのが早いです。



前の画面で入力したPTF番号が選ばれている事を確認して下方にスクロールし、「次へ進む」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/5531291a-5942-c3e6-cfd7-a60c9fe2ae82.png)

## PTFのオーダーを飛ばす
ダウンロード・オプションでどのようにPTFをダウンロードするかを選択します。
今回は「FTPS/SFTPを使用して仮想イメージをダウンロード」を選択します、該当ダウンロード方法にチェックを入れて「次へ進む」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/2dfc4f57-9aab-4547-ed1e-65e6201f27e9.png)

これでオーダーは完了です。
メールを待ちます、オーダーには少々時間がかかります。(オーダーから半日後にメールが来たこともありました)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/387bd6cf-6893-a1f5-7de3-1defcfaad975.png)

## ローカルのPCにPTFをダウンロードする
オーダーが通ると、3通メールが飛んできます。
2通目にパスワード、3通目にSFTPダウンロードに必要なサーバー名・ユーザーなどの情報が以下のように書かれているので探します。(2通目,3通目は順不同で送られてきます)

- 2通目
```
HOW TO RETRIEVE YOUR FIX PACKAGE

Your password: q2e0q8zaAb1b15H

```
- 3通目
```
Your UserID         --> BC4aaaa
FTP Server          --> 1223445.dhe.ibm.com
Transfer type       --> ascii/binary
Directory on server --> 041/C
Files to get        --> ftpSxxxxx.txt
                    --> ilstSxxxxx.txt
                    --> shxxx.txt
                     --> SF99750_1.bin
                     --> SF99750_2.bin
                     --> SF99750_3.bin
```
ここからダウンロードするIBM iのサーバーに繋ぎます。

### Macユーザーの場合
ターミナルを開き、SFTPでFTPサーバーにアクセスします。
```
% sftp BC4aaaa@1223445.dhe.ibm.com
#ここでパスワード聞かれるのでメールに書いてあるパスワードをここで入力

get -r 041/C　  #Directory on server以下のファイルを指定しDL
```

### Windowsユーザーの場合
WindowsではFFFTPというアプリケーションを使ってダウンロードできるみたいです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/f760f8b6-e668-5410-bee9-e158a1adb6f5.png)
PTFの容量は感覚的に、一枚あたり4GB程度になると思っていた方がいいです。
一旦、使っているPCに上記情報でSFTPして入手するもよし、[puttyを利用して直接IBM iに送り込む方法のガイド](https://www.ibm.com/support/pages/instructions-setting-sftp-use-downloading-ptfs-fix-central-ibm-i)もあります。

## ローカルPCからIBM iの区画にPTFをアップロードする
ACSを開きIBM iに接続します。
まずPTFを入れるディレクトリをIFS配下に作成します。
今回はCUMというディレクトリを作成しました。
![png 2023-12-05 14.08.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/88ff81d2-fab6-8794-10dd-c48fcfffc17b.png)

ACSの統合ファイルシステムを開き、ディレクトリパスを先ほど作成したディレクトリのものにします。
![png 2023-12-05 13.48.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/3dce9807-450e-e94a-2b6a-37f1fd31c9be.png)

右クリックでアップロードを選択肢、先ほどローカルPCに落としてきたファイルをアップロードします。
![png 2023-12-05 14.15.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3212743/b6742dc3-3d80-1ec1-732b-7b22dc47aa40.png)

次回は実際にIBM iにPTFを適用する方法について書いていきます。