AlmaLinux / Rocky Linuxのリリースバージョン固定方法

RedHat Enterprise Linux (RHEL)の基本として、dnfオプションで「–releasever=8.4」というような形でバージョン指定すると固定できる、という手法がある。

そして、設定ファイルとして設定する場合は /etc/yum/vars/releasever というファイルに「8.4」と書くことで反映され、dnfを実行する際にでオプション指定する必要がなくなる。

しかし、AlmaLinux, RockyLinuxともこの設定を行ってもうまくいかないように見える。

これは /etc/yum.repos.d/ の各レポジトリ設定にある情報取得元が「mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/~」というような指定になっていますが、このURLには最新バージョンのものしか残っていないため発生している。

この「mirrorlist=~」のほうを「#mirror=~」と行頭に#を入れてコメントとする。

そして標準ではコメントとなっている「# baseurl=https://repo.almalinux.org/almalinux/$releasever/~」となっている記述のほうの# を削除し、その後ろにあるURLを修正することで対処する。

どう書き換えるかについてはAlmaLinuxとRockyLinuxでそれぞれ異なる。

AlmaLinux の場合

AlmaLinux のレポジトリ https://repo.almalinux.org/almalinux/ を見に行くと 2022/07/14時点では「8.6」「8」「9.0」「9」のディレクトリしかなく古いバージョンのディレクトリはない。
(2023/09/15時点だと古いバージョンのディレクトリはあるものの中身は入っていない)

じゃあ古いバージョンはどこにあるかといえば https://repo.almalinux.org/vault/ にある

なので、 /etc/yum.repos.d/ の各設定にあるURLを「https://repo.almalinux.org/almalinux/~」から「https://repo.almalinux.org/vault/~」に書き換えればよい、ということになる。

RockyLinuxの場合

RockyLinux のレポジトリ https://download.rockylinux.org/pub/rocky/ を見に行くと 2022/07/14時点では「8.4」「8.5」「8.6」「8」「9.0」「9」とディレクトリがあるが、8.4,8.5のディレクトリ内にはreadme.txt があり https://dl.rockylinux.org/vault/rocky/ に案内される。

というわけで、/etc/yum.repos.d/ に書き換えは「https://download.rockylinux.org/pub/rocky/~」から「https://dl.rockylinux.org/vault/rocky/~」に書き換えることになる。

Oracle Linuxの場合

非サポート契約者で固定する方法はなさそう。

ISOファイルを読み込む、という手法で固定する場合は「Oracle Linux 8でリリースバージョン固定する方法」参照のこと。

Cent OSの場合

CentOSの古いレポジトリは https://vault.centos.org/centos/ となる

CentOS 7.xの場合は、各バージョンで提供されているアップデートも適用できる。

CentOS 8.xでは各バージョンの提供開始時のパッケージで固定される。kernelだけは各バージョンに相当する最新パッチも適用できる?


2023/03/06 追記

EPELレポジトリ使用時の注意点

EPELレポジトリの$releasever は基本的に「9」「8」「7」とメジャーバージョン部分だけの構成なようです。

このため、/etc/yum/vars/releaseverで「9.0」という感じでバージョン固定してしまうと、EPELレポジトリ検索の際も「9.0」として実施しますが、EPELレポジトリには小数点以下のディレクトリがないためエラーとなってしまいます。

このため、たとえばepelレポジトリの構成ファイルにある「$releasever」を直接数字の「9」に置き換えてしまう、といった対処が必要となります。

Windows Server インストール時にドライバ追加したけど、このドライブにインストールすることはできません となる場合

Windows Server 2012R2 / Windows Server 2016 / Windows Server 2019 / Windows Server 2022 の標準的なインストールメディア内にストレージドライバが含まれていない場合、インストール途中にドライバが含まれてるメディアに差し替えて読み込む必要がある。

ストレージがなにも認識されていないので「ドライバーの読み込み」を選択

Windows Serverのインストール用DVDを抜いて、ドライバが含まれているCDに交換して、OK

該当するストレージのドライバディレクトリを指定

指定したドライバが正解であるなら「インストールするドライバーの選択」に表示されます。

次へをクリックしてドライバを読み込みます。

スキャンが終了すると、以下の様にディスクが表示されます。

しかし、よく見てみると「このドライブに Microsoft サーバー オペレーティング システムをインストールすることはできません (詳しい情報の表示) 」という注意マークがついています。

選択した場所に Microsoft Server オペレーティングをインストールできませんでした。 メディアドライブを確認してください。詳細については、次の情報をご覧ください: 0x80300001

これはWindows Serverのインストール用DVDが認識できない場合の表示です。

先ほどドライバが含まれているCDに交換しているので、Windows Server のインストール用DVDに交換し、「最新の情報に更新」をクリックします。

上記の様に警告が消えて「次へ」が選択できるようになりました。

あとは普通に進めていけば大丈夫です。

この現象はWindows Server 2012R2 , 2016, 2019, 2022で発生することを確認しました。

出したくないのであれば、Windows Serverのインストールメディアにドライバを組み込むか、DVDドライブやUSBメモリを複数用意し、同時にマウントするかです。

インストールメディアにドライバを組み込む際の参考資料:UEFIブートのサーバでWindows Server 2016のインストール用USBメモリが起動しない

Amazonで1万5千円だったタッチ対応モバイル液晶を買ったらペンタブにもなった件

twitterでAmazonで1万5千円だったタッチ対応モバイル液晶を買ってメーカー名のロゴを剥がしたらLenovoと書いてあった、というのを見た。

注意:この記事は既にワコムAESペンを持っている人を対象に書いています。(AESペンは6千円~1万円ちょいで買えます)

<今回届いた液晶はLenovoのペン対応タッチパネル液晶でしたが、Amazonのレビューを見るとLenovoのロゴがないものもあるようです。その場合ペン動作がするのかどうかは不明です。たぶんガラス部分に印字されてないバージョンなだけだとは思いますが…>

調べて見ると、Lenovoが保守用に販売している液晶を流用してモバイル液晶のケースに入れたものらしい。

興味を持ったので探してみると発見

表示は21999円となっているが、7/14 7/31 8/31までクーポンで7000円引きとなっていて 14999円である。

Visual Beat モバイルモニターモバイルディスプレイ13.3インチ FHD 1080p 2024/01/25現在 15999円

じゃあ、Lenovoの何の製品で使われているのか?

「13.3インチ」「10点タッチ」あたりで調べて見るとLenovo ThinkPad Yoga 730あたりで使われているやつじゃないかなーとあたりを付けた。

もし、この液晶であるならワコムAESペンが使えるはずなのでは?ということで買ってみた。

裏面にはVESAマウント用の穴もある。

まずは普通にHDMIモニタとして使えることを確認

続いて気になる左下のシールを剥がしてみます。

Lenovo!

続いてタブレットとしてつなげてみます。

Type-C 1本でディスプレイ出力もできるDisplayPort Alternate Mode対応のノートパソコンなどは「通信用C」とパソコンをType-Cケーブルで繋ぎます。「電源用C」にUSB PD電源アダプタをつなげるとパソコンへの電源供給も可能です。

HDMI出力しかないパソコンに繋いで液晶タブレットとして使うには、まず、「通信用C」と「パソコン」を「Type-Cコネクタ<=>Aコネクタ」のケーブルで繋ぎます。
繋いだあとで、miniHDMIケーブルをさすとパソコン側で認識してくれます。

なお、HDMI接続でタブレットとして使おうとした場合、おかしなUSBデバイス認識となる場合があります。その場合はケーブルを抜いて30秒程度放置したあと、USBケーブルから先に繋いで見てください。

(おそらく、Type-Cケーブル1本で繋ぐと誤認されてしまってDisplayPort Alternate Mode用に内部設定を変えて通信を行おうとするもののネゴシエーションに失敗しておかしなUSBデバイスになっている。)

次に、Windows 10の場合、Windows Inkの設定を変更して、「ペンの使用中はタッチ入力を無視する」にチェックを入れておくといいと思います。(ペンで操作中に画面に手が当たると、手で操作した、という扱いになるため)

この設定項目がない場合は後述のWacomのドライバを追加インストールすると現れると思いますので、インストール後に設定してください。

さて、この液晶タブレット、ワコムのAESペンが使えます。

これは「Wacom One」、「raytrektabなど一部のWindows タブレット」、「Samsung のタブレット(Sペン)」「BOOXのAndroidタブレット」と互換性があるペンです。

すみません↑の記述は誤認していました。

Bamboo Ink が入手しやすいものとなります。

うちにあったWACOM Bamboo Ink CS321AKをAESモードにして試してみます。

kritaで試してみたのですが、少し遅めな反応ですね。

他にDELL アクティブペン PN556W/750-AANM でも動きました。(PN556Wは電池が単6と特殊なボタン電池2個が必要なのでお薦めしません)

いま入手できて、単6電池1本で動くあたり、となるとBamboo Ink(CS323AG0C) か DELL アクティブペン PN5122W あたりが良さそうに見えます。

USB充電式としてはBamboo Ink Plus CS322AK0C ですかね

Wacomの販売ページ
 USB充電式「Bamboo Ink Plus CS322AK0C」12,650円
 単6電池1本式「Bamboo Ink 2nd generation CS323AG0C」 6,050円

ヨドバシでの販売ページ
 USB充電式「ワコム WACOM CS322AK0C [Bamboo Ink Plus]」 10,800円
 単6電池1本式「ワコム WACOM CS323AG0C [Bamboo Ink]」 5,830円

aliexpressで見つけた謎のType-Cコネクタで充電できるStylus Penも動作しました
 買ったセラー「PN556W 2048 Rechargeable Stylus Pen for Dell Latitude 7285 7390 7400/ for HP Elite X2 1012 G1 G2 G3 G4 G5 G6 1020 EliteBook」$14.79
 その他のセラー「Active Stylus Digital Stylus Pen Pressure Sensitivity Stylus Pen for HP Elite X2 1012 G1 G2 G3 G4 G5 EliteBook」$14.25

なお、ペンが全然反応しない、という場合は、Windowsのディスプレイ設定を開いてタブレット側を「メインディスプレイ」にしてみてください。(うちは1枚目のディスプレイがタッチ操作対応だったのでこれを設定しないとうまく動きませんでした)

どちらの番号がタブレットなのか分からない場合は「識別」をクリックすると画面上に番号が表示されますので、それで判断してください。

選択したあと、下の方にある「マルチディスプレイ」のところにある「これをメインディスプレイにする」にチェックを入れます。

無事ペンも使えるようになった状態というのは、Windows Ink / Tablet APIのタブレットとして動作している、という状態です。

これは最近の絵描きソフトであればだいたい対応している動作モードです。

ここにワコムが提供している「Wacom Components Driver version: 7.7-61」をインストールすると、SAI ver1などのWinTab API対応の古めのソフトも動くようになります。

2023/08/15追記:設定状況によっては「Lenovo Pen Settings Driver」じゃないと認識しない場合があるようです。(version 7.7-111にて遭遇)

また、インストールすることによりデバイスの認識も変わります。

デバイスのインスタンスパスを一部公開

Wacom Components DriverにはAESペンの細かい設定を行えるソフトもインストールされます。

このため、他に使用している液晶タブレットが無い場合や、Wintab.dllの競合問題が発生しないような場合は、できる限りインストールしておいた方がいいと思います。

なお、普通の液晶ペンタブレットだとペンの位置と画面上のカーソルの位置を合わせるためのキャリブレーション用のソフトウェアがありますが、そういったものが無いようです。(見つけられなかった)

人間側で補正する必要があるので繊細な人には向かないかもしれません。

Oracle Cloud上のLinuxサーバからOracle Cloudのオブジェクトストレージをs3fsを使ってファイルシステムとして使う

Oracle Cloud上で運用しているファイルサーバのディスク使用率がいつのまにか96%を超えていた。

え?と思って調べてみたら、外部コンテンツを取り込む際に、コンテンツのバージョンも残しておこうと軽い気持ちで設定したgitが容量を使っていた。

遅くてもいいや、ということで、使っていない50GBのオブジェクトストレージ領域をs3fsでファイルシステムとして使うこととした。

参考文献
s3fs配布元
・Oracle Cloud Infrastructure Blog「Mounting an Object Storage Bucket as File System on Oracle Linux
・Oracle Cloud Infrastructureドキュメント「Amazon S3互換API
・Cloudii「Oracle Cloud オブジェクトストレージをOracle Linuxのファイルシステムとして直接マウントする方法。

基本的には、Oracle Cloud Infrastructure Blogの記述通りにやるだけなのだが、いろいろ勘違いしていて上手くいかなかった。

手順0: Oracle Cloud上でバケット作成

Oracle blog上では手順に書かれていないので手順0として書きます。

オブジェクトストレージにてバケットの作成を行います。

バケット作成後にバケットの詳細を確認し、一般のところにある「ネームスペース」もあとで使用します。

手順1: s3fs-fuseをインストール

epelを有効にしている状態であれば、「yum install s3fs-fuse」を実行するだけでインストール完了。

# yum install s3fs-fuse
読み込んだプラグイン:langpacks, ulninfo
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ s3fs-fuse.x86_64 0:1.91-1.el7 を インストール
--> 依存性の処理をしています: fuse >= 2.8.4 のパッケージ: s3fs-fuse-1.91-1.el7.x86_64
--> 依存性の処理をしています: fuse-libs >= 2.8.4 のパッケージ: s3fs-fuse-1.91-1.el7.x86_64
--> 依存性の処理をしています: libfuse.so.2(FUSE_2.2)(64bit) のパッケージ: s3fs-fuse-1.91-1.el7.x86_64
--> 依存性の処理をしています: libfuse.so.2(FUSE_2.5)(64bit) のパッケージ: s3fs-fuse-1.91-1.el7.x86_64
--> 依存性の処理をしています: libfuse.so.2(FUSE_2.6)(64bit) のパッケージ: s3fs-fuse-1.91-1.el7.x86_64
--> 依存性の処理をしています: libfuse.so.2(FUSE_2.8)(64bit) のパッケージ: s3fs-fuse-1.91-1.el7.x86_64
--> 依存性の処理をしています: libfuse.so.2()(64bit) のパッケージ: s3fs-fuse-1.91-1.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ fuse.x86_64 0:2.9.4-1.0.9.el7 を インストール
---> パッケージ fuse-libs.x86_64 0:2.9.4-1.0.9.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

===================================================================================================================================
 Package                     アーキテクチャー         バージョン                        リポジトリー                          容量
===================================================================================================================================
インストール中:
 s3fs-fuse                   x86_64                   1.91-1.el7                        ol7_developer_EPEL                   257 k
依存性関連でのインストールをします:
 fuse                        x86_64                   2.9.4-1.0.9.el7                   ol7_latest                            88 k
 fuse-libs                   x86_64                   2.9.4-1.0.9.el7                   ol7_latest                            97 k

トランザクションの要約
===================================================================================================================================
インストール  1 パッケージ (+2 個の依存関係のパッケージ)

総ダウンロード容量: 442 k
インストール容量: 1.1 M
Is this ok [y/d/N]: y
Downloading packages:
<略>
インストール:
  s3fs-fuse.x86_64 0:1.91-1.el7

依存性関連をインストールしました:
  fuse.x86_64 0:2.9.4-1.0.9.el7                                 fuse-libs.x86_64 0:2.9.4-1.0.9.el7

完了しました!
#

手順2: 認証情報の設定

Oracle Cloudにログインした状態で右上のユーザアイコンから[プロファイル]-[ユーザー設定]を選択します。

画面が変わって、下の方にある[リソース]-[顧客秘密キー]を選択します。

この「顧客秘密キー」がS3 compatibleとして使う場合の認証情報となります。

「秘密キーの生成」をクリックして、何か名前を決めて作成します。

次の画面で表示される「生成されたキー」は「SECRET_ACCESS_KEY」として使いますので、かならず「コピー」してください。

これを忘れた場合は再作成する必要があります。

なお、キーはこんな感じですね。

で・・・Oracle blogだとACCESS_KEY_IDは何を使えばいいのかハッキリ書いていないので、しばらく名前として設定したs3-accessを使ってアクセスを試みていました。

正しくは上記の「アクセスキー」のところの文字列を使います。

Oracle blogでは下記の様に個人ユーザのディレクトリに認証情報を配置しています。

$ echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > ${HOME}/.passwd-s3fs
$ chmod 600 ${HOME}/.passwd-s3fs

今回は個人用ではなく起動時から使えるような形にしたいので /etc/passwd-s3fs として設定しました。

# echo ~b66e06:KZyW~~~BDho= >  /etc/passwd-s3fs 
# chmod 600  /etc/passwd-s3fs 
#

手順3: マウントする

Oracle blogでは個人権限でマウントするための下記が書かれています。

$ s3fs [bucket] [destination directory] -o endpoint=[region] -o passwd_file=${HOME}/.passwd-s3fs -o url=https://[namespace].compat.objectstorage.[region].oraclecloud.com/ -onomultipart -o use_path_request_style

最初はアクセスできることを検証するため、このコマンドで実行します。

各要素は以下のようになっています。

[bucket]=手順0で作成したバケット名
[destination directory]=ローカルLinuxのマウントポイント
[namespace]=手順0で作成したバケットの詳細で確認できるネームスペース

テストとしてホームディレクトリ内にあるs3fsというディレクトリにマウントするべく実行

$ s3fs tw~t ./s3fs -o endpoint=us-phoenix-1 -o passwd_file=/etc/passwd-s3fs -o url=https://ax~b7.compat.objectstorage.us-phoenix-1.oraclecloud.com -onomultipart -o use_path_request_style
fuse: failed to exec fusermount: Permission denied
$

これはfusermountに権限がないためマウントできないというもので、下記で対処します。

$ sudo chmod a+x /usr/bin/fusermount
$ 

再実行

$ s3fs tw~t ./s3fs -o endpoint=us-phoenix-1 -o passwd_file=/etc/passwd-s3fs -o url=https://ax~b7.compat.objectstorage.us-phoenix-1.oraclecloud.com -onomultipart -o use_path_request_style
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         460M     0  460M    0% /dev
tmpfs            486M  380K  486M    1% /dev/shm
tmpfs            486M   19M  467M    4% /run
tmpfs            486M     0  486M    0% /sys/fs/cgroup
/dev/sda3         39G   37G  2.0G   95% /
/dev/sda1        200M  7.4M  193M    4% /boot/efi
tmpfs             98M     0   98M    0% /run/user/0
tmpfs             98M     0   98M    0% /run/user/993
tmpfs             98M     0   98M    0% /run/user/1001
$

マウントされていない??/var/log/messages を確認すると認証情報の関連でマウントに失敗していました。

Jul  9 23:07:06 oralinux s3fs[22545]: s3fs version 1.91(unknown) : s3fs -o endpoint=us-phoenix-1 -o passwd_file=/etc/passwd-s3fs -o url=https://ax~fb7.compat.objectstorage.us-phoenix-1.oraclecloud.com -onomultipart -o use_path_request_style twsearch-git ./s3fs
Jul  9 23:07:06 oralinux  s3fs[22545]: Loaded mime information from /etc/mime.types
Jul  9 23:07:06 oralinux  s3fs[22546]: init v1.91(commit:unknown) with OpenSSL
Jul  9 23:07:06 oralinux  s3fs[22546]: s3fs.cpp:s3fs_check_service(3572): Failed to connect by sigv4, so retry to connect by signature version 2.
Jul  9 23:07:06 oralinux  s3fs[22546]: s3fs.cpp:s3fs_check_service(3584): Bad Request(host=https://ax~fb7.compat.objectstorage.us-phoenix-1.oraclecloud.com) - result of checking service.

これは /etc/passwd-s3fsに書いた access-key定義が誤っていた場合のログです。

修正して再実行すると今度はマウントできました。

$ s3fs tw~t ./s3fs -o endpoint=us-phoenix-1 -o passwd_file=/etc/passwd-s3fs -o url=https://ax~b7.compat.objectstorage.us-phoenix-1.oraclecloud.com -onomultipart -o use_path_request_style
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         460M     0  460M    0% /dev
tmpfs            486M  400K  486M    1% /dev/shm
tmpfs            486M   19M  467M    4% /run
tmpfs            486M     0  486M    0% /sys/fs/cgroup
/dev/sda3         39G   37G  1.9G   96% /
/dev/sda1        200M  7.4M  193M    4% /boot/efi
tmpfs             98M     0   98M    0% /run/user/0
tmpfs             98M     0   98M    0% /run/user/993
tmpfs             98M     0   98M    0% /run/user/1001
s3fs              16E     0   16E    0% /home/users/s3fs
$

成功した場合は /var/log/messagesは下記の様な感じでした

Jul  9 23:30:18 oralinux s3fs[23933]: s3fs version 1.91(unknown) : s3fs -o endpoint=us-phoenix-1 -o passwd_file=/etc/passwd-s3fs -o url=https://ax~fb7.compat.objectstorage.us-phoenix-1.oraclecloud.com -onomultipart -o use_path_request_style twsearch-git ./s3fs
Jul  9 23:30:18 oralinux s3fs[23933]: Loaded mime information from /etc/mime.types
Jul  9 23:30:18 oralinux s3fs[23936]: init v1.91(commit:unknown) with OpenSSL
Jul  9 23:30:26 oralinux systemd: Configuration file /etc/systemd/system/oracle-cloud-agent.service is marked executable. Please remove executable permission bits. Proceeding anyway.

ただ、この設定だとs3fsを実行したユーザだけがアクセスでき、他のユーザではアクセスできません。

これは「allow_other」というオプションをつけることでアクセスできるようになります。

手順4: /etc/fstab に書く

再起動してもマウントされるようにするには /etc/fstab に書きます。 (/etc/rc.local とかに書く、という手順は不適切です)

上記で使った例であれば /etc/fstab に下記の様に書きます。

tw~it /home/users/s3fs fuse.s3fs use_path_request_style,url=https://axd~fb7.compat.objectstorage.us-phoenix-1.oraclecloud.com,use_path_request_style,_netdev,allow_other

これで、再起動してもマウントされるようになりました。

Windows Server 2008 SP2のWindows Updateがうまくいかない件への対処策 2022/07/07版

検証用にWindows Server 2008 SP2 (64bit)環境を新規でつくろうとすると、2022/07/07時点ではかなり面倒でした。

問題点1: ルート証明書が期限切れで使えないものばかりなのでhttps通信ができない
問題点2: Windows Updateの仕組みが古いためWindows Updateで更新プログラムが取得出来ない
問題点3: Internet Explorer 9のインストーラの入手方法が分かりづらい
問題点4: Windows Updateができるようになっても10~30個ぐらい残したところでそれ以上進まないように見える

また、 WSUS Offline Update というオフライン適用のためのソフトがあります。

これのESR version 11.9.1 は Windows Server 2008 に対応しているので、アップデートISOを作成することができます。しかし、実行してみると証明書のエラーによりスクリプト処理が失敗しパッチの適用ができません。(ルート証明書の更新とWindows Updateの対応は行われます)

このような状況下でいかにしてWindows Updateを行うか、ということを検証しました。

問題点1: ルート証明書が期限切れで使えないものばかりなのでhttps通信ができない

これはかなり深刻な問題です。

詳細は「初期インストール状態のWindows Server 2008 SP2のルート証明書を更新する 2022/07/07版」を参照のこと

ルート証明書の問題だけを対処するのであれば上記記事の手順を実行なのですが、後述の問題点2を解決すると同時に問題点1も解決されます。

問題点2: Windows Updateの仕組みが古いためWindows Updateで更新プログラムが取得出来ない

Windows Updateを実行すると「新しい更新プログラムを検索できませんでした」「エラーコード 80072EFD」で失敗します。

こちらはルート証明書の問題とWindows Updateの仕組みが古いための合わせ技です。(Windows UpdateサイトがTLS1.0/1.1アクセスを廃止したことなどが影響)

いろいろ調査したところ、更新プログラムを適用することでWindows Updateが可能になった。

なお、毎回再起動が求められるが、6個適用してから再起動でも問題なかった。

(1個目) KB3205638

KB3205638は何故かWindows Server 2008 for x64-Based System用だけない けどVista x64用の windows6.0-kb3205638-x64_a52aaa009ee56ca941e21a6009c00bc4c88cbb7c.msu が適用できた。再起動はしない。

(2個目) Windows Server 2008 for x64-Based Systems 用セキュリティ更新プログラム (KB4012583)

windows6.0-kb4012583-x64_f63c9a85aa877d86c886e432560fdcfad53b752d.msu を適用。再起動はしない。

(3個目) Windows Server 2008 for x64-Based Systems 用セキュリティ更新プログラム (KB4022887)

windows6.0-kb4022887-x64_18ce762c6a6b021444844fff1bf787a137f384dd.msu を適用。再起動はしない。

(4個目) Windows Server 2008 for x64-Based Systems 用セキュリティ更新プログラム (KB4022883)

windows6.0-kb4022883-x64_ca51e3905658274dc222d06096f9f63e9f70bac2.msu を適用。再起動はしない。

(5個目) Windows Server 2008 for x64-Based Systems 用セキュリティ更新プログラム (KB4493730)

windows6.0-kb4493730-x64_5cb91f4e9000383f061b80f88feffdf228c2443c.msu を適用。再起動はしない。

(6個目) 2019-09 x64 ベース システム用 Windows Server 2008 のセキュリティ更新プログラム (KB4474419)

windows6.0-kb4474419-v4-x64_09cb148f6ef10779d7352b7269d66a7f23019207.msu を適用

そして、再起動実施。

これでWindows Updateが可能となる。

問題点3: Internet Explorer 9のインストーラの入手方法が分かりづらい

Windows Updateが実行できる状態になればWindows Updateからインストールを行うことはできます。

Internet Explorer 9だけを取り急ぎインストールしたい場合、ダウンロードURLとインストールに必要な前提条件が非常に分かりづらい状態となっています。

詳細は「Windows Server 2008 SP2にInternet Explorer 9をインストールする 2022/07/06版」を参照してもらうとして、最低限必要なことだけはここに書きます。

(1個目) KB2117917

windows6.0-kb2117917-x64_655a21758801e9648702791d7bf30f81b58884b3.msu を適用。再起動はしない。

(2個目) KB2506014

windows6.0-kb2506014-x64_e4a62be05adf6d07841dd3df49fb5d63d1d3ba05.msu を適用。再起動はしない。

(3個目) KB971512

windows6.0-kb971512-x64_0b329b985437c6c572529e5fd0042b9d54aeaa0c.msu を適用。再起動はしない。

(4個目) KB2999226

windows6.0-kb2999226-x64_0befbb0b78588f7c9f17ead1da3abeda2b6f4c7f.msu を適用

再起動を実施。

(5個目) Internet Explorer 9をインストール

Microsoft Updateカタログで「Internet Explorer 9 2008用」を検索して3ページ目に出てくる「x64 ベース システム Windows Server 2008 用 Windows Internet Explorer 9」から「wu-ie9-windowsvista-x64_f599c02e7e1ea8a4e1029f0e49418a8be8416367.exe」を適用してインストール。

再起動を実施。

問題点4: Windows Updateができるようになっても10~30個ぐらい残したところでそれ以上進まないように見える

Internet Explorer 9をインストールしている場合、残り29個ぐらいのところでそれ以上更新バーが動かなくなる。

内部処理に問題があるようで、複数回実施しても似たような箇所で止まります。

ここで「インストールの停止」をクリックしてもうまく停止されませんでした。

いろいろ検証したところ、止まったように見える表示のままWindows OSの再起動を行うことで、処理が進むことが多い様なことがわかりました。ただ、処理に結構時間がかかるようで1時間程度は見込んでください。

再起動が完了すると、だいたい30個ぐらいが未適用な状態となっています。

引き続きWindows Updateを行って最新としてください。

ただ、この停止処理がうまく動かない状態で再起動もできない状態となることも多かったです。そのような場合は電源を強制オフするしかなくなるのですが、その場合は、ロールバック処理が行われました。

穏当に実行するのであれば、Windows Updateを行う際、日付順でソートして、新しいものから30個ぐらいを非適用とすることで現象を回避できるようです。

いろいろ検証した結果、2017/09/12 より後の日付の更新を全て除外することでWindows Updateで止まることはなくなりました。