Windows Server 2012R2に .Net Framework 3.5が追加できない場合の解決方法

実験するためWindows Server 2012R2を新規インストールして、まずはWindows Updateを全部適用してから、いろいろ設定していこう!と行ってみたところ思わぬところで問題が発生した。

結論を先に書いておくと「.NET Framework 3.5, 4.6.1, 4.7, 4.7.1, 4.7.2, 4.8 のセキュリティおよび品質ロールアップ」がインストールされていることが原因であるため

・Windows Updateを実施する前に追加すれば問題は発生しない
・Windows Update完了後に問題が発生した場合は「.NET Framework 3.5, 4.6.1, 4.7, 4.7.1, 4.7.2, 4.8 のセキュリティおよび品質ロールアップ」をアンインストールする

のどちらかを行うことで、インストールに成功するようになった。

ただ、.NET Frameworkのパッチの内部的な仕組みに気がつかないとアンインストールできないので、原因が知られていない、という状態でした。

問題の検証

Windows Updateが一通り終わったあとで、今回の実験対象のソフトウェアは.NET Framework 3.5が必要だな、と追加しようとしたらエラーとなった。

「代替ソースパスを指定」からDVD内のsources\sxs\を指定

で、エラー

このとき、イベントログのWindowsログの「Setup」に「パッケージ Microsoft .NET Framework 3.0の更新 NetFx3 を有効にできませんでした。 状態 0x800f0906。」と出ている

「0x800f0906」で調べると「.NET Framework 3.5 の展開エラーと解決手順」が出てくるが、コレではなかった。

[MS14-046] Windows 8.1 および Windows Server 2012 R2 用の .NET Framework 3.5 のセキュリティ更新プログラムについて (2014 年 8 月 12 日)」に以下の記載がある

Microsoft .NET Framework 3.5 用のセキュリティ更新プログラム 2966828 (マイクロソフト セキュリティ情報 MS14-046 に記載されています) をインストールした後、[Windows の機能] で Microsoft .NET Framework 3.5 のオプションの機能を初めて有効にしようとしたときに、機能がインストールされないことがあります。Microsoft .NET Framework 3.5 の機能を追加する前にインストールを “段階的に実行” した場合にこのエラーが発生することがあります。
この問題を解決するには、更新プログラム 3005628 をインストールします。
この問題を回避する方法の詳細については、以下のサポート技術情報番号をクリックしてください。
3002547Windows 8、Windows Server 2012、Windows 8.1、または Windows Server 2012 R2 でセキュリティ更新プログラム 2966827 または 2966828 をインストールした後に Microsoft .NET Framework 3.5 のオプションの Windows 機能を有効化できないことがある

更新プログラム 3005628「Windows 8、Windows 8.1、Windows Server 2012、および Windows Server 2012 R2 上の .NET Framework 3.5 の更新プログラム」の説明を読むと、原因としては、.NET Framework 3.5がインストールされていないのに、.NET Framework 3.5に関する更新プログラムがインストールされていることが原因である模様。

しかし、2023年9月現在では更新プログラム3005628 を適用してみたが効力はなかった。

更新履歴をみると「.NET Framework 3.5, 4.6.1, 4.7, 4.7.1, 4.7.2, 4.8 のセキュリティおよび品質ロールアップ」がある。

しかし、インストールされた更新プログラムを確認すると、.NET Framework関連のパッチがないのでインストールできないように見える。

ただ、調べたところwusaコマンドを使うとアンインストールできそうな感じだったので「wusa /uninstall /kb:5030184」でアンインストールを試みたが「インストールされていない」と表示される。

2023 年 9 月 12 日 – Windows Server 2012 R2 用 .NET Framework 3.5、4.6.2、4.7、4.7.1、4.7.2、4.8 のセキュリティおよび品質ロールアップ (KB5030184)」を確認すると、実はこの更新プログラム「Windows Server 2012 R2 用 .NET Framework 3.5 のセキュリティおよび品質ロールアップについて (KB5029915)」「Windows Server 2012 R2 用 .NET Framework 4.6.2、4.7、4.7.1、4.7.2 のセキュリティおよび品質ロールアップについて (KB5029916)」「Windows Server 2012 R2 用 .NET Framework 4.8 のセキュリティおよび品質ロールアップについて (KB5029917)」の3本だてらしい。

更新履歴上にこの3つは載ってないけど、試してみるかと「wusa /uninstall /kb:5029915」を実行すると、アンインストールに成功した。

おや?と思って、先ほどのインストールされた更新プログラム画像を再確認するとKB5029915がいた・・・

なるほど・・・「更新履歴」と「インストールされた更新プログラム」とで表示されるKB番号が別なのか・・・

で・・・これで大丈夫かな?と、.Net 3.5追加を試してみたらエラーになった。

もう一度更新一覧を確認しなおすともう1つ「.NET Framework 3.5, 4.6.1, 4.7, 4.7.1, 4.7.2, 4.8 のセキュリティおよび品質ロールアップ」があった

そちらは「2023 年 8 月 8 日 – Windows Server 2012 R2 用 .NET Framework 3.5、4.6.2、4.7、4.7.1、4.7.2、4.8 のセキュリティおよび品質ロールアップ (KB5029653)」で、「Windows Server 2012 R2 用 .NET Framework 3.5 のセキュリティおよび品質ロールアップについて (KB5028970)」「Windows Server 2012 R2 用 .NET Framework 4.6.2、4.7、4.7.1、4.7.2 のセキュリティおよび品質ロールアップについて (KB5028962)」「Windows Server 2012 R2 用 .NET Framework 4.8 のセキュリティおよび品質ロールアップについて (KB5028957)」なので、「wusa /uninstall /kb:5028970」でアンインストールを実行。

もしくは「インストールされた更新プログラム」から「Microsoft Windows (KB5028970)の更新プログラム」を右クリックして「アンインストール」でも大丈夫です。

役割と機能の追加から「.NET Framework 3.5」を実施してみたところ、今度は成功した。

この状態で新しくインストールされる更新プログラムを確認したところ、.NET 3.5専用のものの他に、先ほど.NET 3.5用のみアンインストールしたKB5030184もインストールされること、ということが確認出来た。

で、実際に適用したあとに、履歴一覧を確認するとKB5030184 が2回適用されていることが確認できた。

Windows Updateしたらsamba ADへの接続がおかしくなった

sambaで作ったsamba AD環境がある。

最近、新しい仮想マシン作ってドメイン参加したあと、PowerShellで「Test-ComputerSecureChannel」を実行したら「False」と出た。

repairしても状況が変わらない

(ADサーバと該当マシン間の通信がセキュアチャネルを使って行われていないという状態)

いまつかっているsambaバージョンを確認すると4.18.2

# /usr/local/samba/sbin/smbd --version
Version 4.18.2
#

sambaのリリース履歴を見るとNetAppでも問題になったセキュリティ修正関連での修正が出ている。

CVE-2023-34967CVE-2022-2127CVE-2023-34968CVE-2023-34966 and CVE-2023-3347.

直接のバグとしては「Bug 15418 – secure channel faulty since Windows 10/11 update 07/2023」が該当している模様

バグであるならアップデートするしかないな、というわけで、samba 4.18.5へアップデート

展開して、make;make install; systemctl restart samba-ad-dc っと

# /usr/local/samba/sbin/smbd --version
Version 4.18.5
#

で、repairすると、今度は成功しました

Oracle Linux 9でWordPressサーバを立てる

Oracle Linux 9でwordpressサーバをたてる、という記事を2022年9月に書き始めたのですが、Oracle Linux 9用のEPELレポジトリにfail2banが含まれていなかっため、sshへの簡単な対策が行えないため書くのを中断していました。

2023年7月25日の更新でfail2banが収録されたようなので、改めて手順を作成してみます

記事修正履歴

2024/05/07: 4月下旬から常時稼働させてみての修正を追加開始
 手順2-4 kdump無効化 を追加
 手順14-1 php-fpm起動数制限 を追加
 手順14-2 swapfile追加

準備1: Oracle Cloud用手順

準備1-1: IPv6アドレス割り当て:Oracle Cloudコンソール側

Oracle Cloudのコンソールを開いて、インスタンスにIPv6アドレスを割り当てます。

また、割り当てられたIPv6アドレスを確認します。

準備1-2: インスタンス側操作

Oracle Linux 9のイメージではIPv6が有効化されていたので、特に設定する必要はありませんでした。

準備2: 一般的な前準備

準備2-1: 日本時間にする

日本に住んでいる場合、日本時間表記の方が使いやすいので、OSも日本時間表示に設定する。

$ sudo timedatectl set-timezone Japan
$ 

準備2-2: パッケージを最新にアップデートする

現時点でインストール済みパッケージを最新にします。

Oracle Linux 9ではyum updateではなくdnf updateとなります。アップデート後は再起動します。(yumコマンドでも動きます)

$ sudo dnf update -y
<略>
$ sudo reboot

手順2-3:日本語Locale対応

ja_JP.UTF-8など日本語Localeで設定した際、「Failed to set locale, defaulting to C.UTF-8」というメッセージが出力される場合があります。

その場合は日本語Localeを追加インストールします。

$ sudo dnf install langpacks-ja glibc-langpack-ja
<略>
$

手順2-4:kdump無効化

(2024/05/07追加:OOK Killerが発動される率が高いので、少しでも影響を減らすために設定)

メモリが1GBしかないので、kdump.serviceの実行に失敗したりしている。

$ systemctl status kdump |cat
× kdump.service - Crash recovery kernel arming
     Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Tue 2024-05-07 09:22:57 JST; 5min ago
    Process: 2435 ExecStart=/usr/bin/kdumpctl start (code=exited, status=1/FAILURE)
   Main PID: 2435 (code=exited, status=1/FAILURE)
        CPU: 114ms
$

ダンプとっても使わないし、エラーとならないようkdumpを無効化してしまいます。

$ sudo systemctl disable kdump.service
Removed "/etc/systemd/system/multi-user.target.wants/kdump.service".
$

手順3: EPELレポジトリの追加

EPELレポジトリを使うので、使用できるようにします。

Oracle Linux 8と異なり、Oracle-Linux-9.2-2023.08.31-0 ではOracle CloudのOS管理下にレポジトリ管理が委託されていませんでした。

手順3-1:レポジトリの状態を確認

現状のレポジトリ設定状況を「sudo dnf repolist –all」を実行して確認します。

出力内に「This system is receiving updates from OSMS server.」という文字がなければこの手順で実行できます。

$ sudo dnf repolist --all
repo id                      repo name                                  status
ol9_MODRHCK                  Latest RHCK with fixes from Oracle for Ora disabled
ol9_RDMA                     Oracle Linux 9 (x86_64) RDMA               disabled
ol9_UEKR7                    Oracle Linux 9 UEK Release 7 (x86_64)      enabled
ol9_addons                   Oracle Linux 9 Addons (x86_64)             enabled
ol9_appstream                Oracle Linux 9 Application Stream Packages enabled
ol9_baseos_latest            Oracle Linux 9 BaseOS Latest (x86_64)      enabled
ol9_codeready_builder        Oracle Linux 9 CodeReady Builder (x86_64)  disabled
ol9_developer                Oracle Linux 9 Development Packages (x86_6 disabled
ol9_developer_EPEL           Oracle Linux 9 EPEL Packages for Developme disabled
ol9_developer_UEKR7          Developer Preview of UEK Release 7 (x86_64 disabled
ol9_developer_kvm_utils      Oracle Linux 9 KVM Utilities for Developme disabled
ol9_distro_builder           Oracle Linux 9 Distro Builder (x86_64) - ( disabled
ol9_ksplice                  Ksplice for Oracle Linux 9 (x86_64)        enabled
ol9_kvm_utils                Oracle Linux 9 KVM Utilities (x86_64)      disabled
ol9_oci_included             Oracle Linux 9 OCI Included Packages (x86_ enabled
ol9_u0_baseos_base           Oracle Linux 9 BaseOS GA (x86_64)          disabled
ol9_u1_baseos_base           Oracle Linux 9.1 BaseOS (x86_64)           disabled
ol9_u2_baseos_base           Oracle Linux 9.2 BaseOS (x86_64)           disabled
ol9_x86_64_userspace_ksplice Ksplice aware userspace packages for Oracl disabled
$

有効化するために「sudo dnf config-manager –set-enabled ol9_developer_EPEL」を実行します。

$ sudo dnf config-manager --set-enabled ol9_developer_EPEL
$ sudo dnf repolist --all
repo id                      repo name                                  status
ol9_MODRHCK                  Latest RHCK with fixes from Oracle for Ora disabled
ol9_RDMA                     Oracle Linux 9 (x86_64) RDMA               disabled
ol9_UEKR7                    Oracle Linux 9 UEK Release 7 (x86_64)      enabled
ol9_addons                   Oracle Linux 9 Addons (x86_64)             enabled
ol9_appstream                Oracle Linux 9 Application Stream Packages enabled
ol9_baseos_latest            Oracle Linux 9 BaseOS Latest (x86_64)      enabled
ol9_codeready_builder        Oracle Linux 9 CodeReady Builder (x86_64)  disabled
ol9_developer                Oracle Linux 9 Development Packages (x86_6 disabled
ol9_developer_EPEL           Oracle Linux 9 EPEL Packages for Developme enabled
ol9_developer_UEKR7          Developer Preview of UEK Release 7 (x86_64 disabled
ol9_developer_kvm_utils      Oracle Linux 9 KVM Utilities for Developme disabled
ol9_distro_builder           Oracle Linux 9 Distro Builder (x86_64) - ( disabled
ol9_ksplice                  Ksplice for Oracle Linux 9 (x86_64)        enabled
ol9_kvm_utils                Oracle Linux 9 KVM Utilities (x86_64)      disabled
ol9_oci_included             Oracle Linux 9 OCI Included Packages (x86_ enabled
ol9_u0_baseos_base           Oracle Linux 9 BaseOS GA (x86_64)          disabled
ol9_u1_baseos_base           Oracle Linux 9.1 BaseOS (x86_64)           disabled
ol9_u2_baseos_base           Oracle Linux 9.2 BaseOS (x86_64)           disabled
ol9_x86_64_userspace_ksplice Ksplice aware userspace packages for Oracl disabled
$

手順4: インターネット公開用設定

手順4-1: fail2ban導入

公開サーバは各種のアタックにさらされます。管理用sshポートにもやってきます。

多少なりとも軽減するためにEPELレポジトリ収録のfail2banを使用します。

$ sudo dnf install fail2ban -y
<略>
$

カスタム設定は/etc/fail2ban/jail.local に対して行います。

$ sudo vi /etc/fail2ban/jail.local
$ cat /etc/fail2ban/jail.local
[DEFAULT]
# 86400秒=24時間以内に5回不審なアクセスがあったら24時間BAN
bantime  = 86400
findtime  = 86400
maxretry = 5
# 259200秒=3日以内に5回不審なアクセスがあったら3日間BAN
#bantime  = 259200
#findtime  = 259200
#maxretry = 5
# 除外IP
ignoreip = 127.0.0.1 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
[sshd]
enabled = true
banaction = firewallcmd-ipset
$

上記設定では24時間BANにしていますが、まぁ、3日BANでもかまわないとは思います。(本当に間違えた場合に困るのでほどほどにしておくとよい)

fail2banをOS起動時に実行する設定と、今すぐfail2banを起動するコマンドを実行します。

$ sudo systemctl enable fail2ban
$ sudo systemctl start fail2ban
$

以降、アタックがあると /var/log/fail2ban.log にログが出ます。

手順4-2: Webサーバ用ポート公開設定

この段階では、dhcpv6-clientとsshのみが許可されています。

Webサーバ公開用にhttp(ポート80)とhttps(ポート443)を追加します。

$ sudo firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens3
  sources:
  services: dhcpv6-client ssh
  ports:
  protocols:
  forward: yes
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
$
$ sudo firewall-cmd --permanent --add-service=http
success
$ sudo firewall-cmd --permanent --add-service=https
success
$ sudo firewall-cmd --reload
success
$ sudo firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens3
  sources:
  services: dhcpv6-client http https ssh
  ports:
  protocols:
  forward: yes
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
$

手順5: php 追加

Oracle Linux 9環境では、moduleという形で複数バージョンのソフトウェアが提供されている場合があります。

phpに関してどのようなものがあるのかを「dnf module list | grep php」を実行して確認します。

$ dnf module list | grep php
php        8.1    common [d], devel, minimal            PHP scripting language  
$

Oracle Linux 9.2では php 8.1だけが提供されているようなので、phpとだけ指定してインストールします。

$ sudo dnf install php -y
Last metadata expiration check: 0:18:54 ago on Tue 12 Sep 2023 11:13:37 AM JST.
Dependencies resolved.
================================================================================
 Package             Arch    Version                   Repository          Size
================================================================================
Installing:
 php                 x86_64  8.0.27-1.el9_1            ol9_appstream       10 k
Installing dependencies:
 apr                 x86_64  1.7.0-11.el9              ol9_appstream      132 k
 apr-util            x86_64  1.6.1-20.el9_2.1          ol9_appstream       98 k
 apr-util-bdb        x86_64  1.6.1-20.el9_2.1          ol9_appstream       12 k
 httpd-core          x86_64  2.4.53-11.0.1.el9_2.5     ol9_appstream      1.8 M
 httpd-filesystem    noarch  2.4.53-11.0.1.el9_2.5     ol9_appstream       14 k
 httpd-tools         x86_64  2.4.53-11.0.1.el9_2.5     ol9_appstream       96 k
 nginx-filesystem    noarch  1:1.20.1-14.0.1.el9       ol9_appstream       11 k
 oracle-logos-httpd  noarch  90.2-1.0.2.el9            ol9_baseos_latest   37 k
 php-common          x86_64  8.0.27-1.el9_1            ol9_appstream      716 k
Installing weak dependencies:
 apr-util-openssl    x86_64  1.6.1-20.el9_2.1          ol9_appstream       14 k
 httpd               x86_64  2.4.53-11.0.1.el9_2.5     ol9_appstream       67 k
 mod_http2           x86_64  1.15.19-4.el9_2.4         ol9_appstream      157 k
 mod_lua             x86_64  2.4.53-11.0.1.el9_2.5     ol9_appstream       61 k
 php-cli             x86_64  8.0.27-1.el9_1            ol9_appstream      3.1 M
 php-fpm             x86_64  8.0.27-1.el9_1            ol9_appstream      1.6 M
 php-mbstring        x86_64  8.0.27-1.el9_1            ol9_appstream      470 k
 php-opcache         x86_64  8.0.27-1.el9_1            ol9_appstream      512 k
 php-pdo             x86_64  8.0.27-1.el9_1            ol9_appstream       90 k
 php-xml             x86_64  8.0.27-1.el9_1            ol9_appstream      144 k
Transaction Summary
================================================================================
Install  20 Packages
<略>
  php-pdo-8.0.27-1.el9_1.x86_64
  php-xml-8.0.27-1.el9_1.x86_64
Complete!
$

手順6: MySQL設定編

Oralce Linux 9.2ではMySQL 8.0.32 か mariadb 10.5.16が提供されています。

とりあえず、Oracle直営なのでMySQLを使っておきます。

$ sudo dnf install mysql-server -y
Last metadata expiration check: 0:23:36 ago on Tue 12 Sep 2023 11:13:37 AM JST.
Dependencies resolved.
================================================================================
 Package                      Arch     Version            Repository       Size
================================================================================
Installing:
 mysql-server                 x86_64   8.0.32-1.el9_2     ol9_appstream    17 M
Installing dependencies:
 mariadb-connector-c-config   noarch   3.2.6-1.el9_0      ol9_appstream   9.7 k
 mecab                        x86_64   0.996-3.el9.3      ol9_appstream   384 k
 mysql                        x86_64   8.0.32-1.el9_2     ol9_appstream   2.8 M
 mysql-common                 x86_64   8.0.32-1.el9_2     ol9_appstream   103 k
 mysql-errmsg                 x86_64   8.0.32-1.el9_2     ol9_appstream   513 k
 mysql-selinux                noarch   1.0.5-1.el9_0      ol9_appstream    35 k
 protobuf-lite                x86_64   3.14.0-13.el9      ol9_appstream   233 k
Transaction Summary
================================================================================
Install  8 Packages
<略>
Installed:
  mariadb-connector-c-config-3.2.6-1.el9_0.noarch
  mecab-0.996-3.el9.3.x86_64
  mysql-8.0.32-1.el9_2.x86_64
  mysql-common-8.0.32-1.el9_2.x86_64
  mysql-errmsg-8.0.32-1.el9_2.x86_64
  mysql-selinux-1.0.5-1.el9_0.noarch
  mysql-server-8.0.32-1.el9_2.x86_64
  protobuf-lite-3.14.0-13.el9.x86_64
Complete!
$

mysqldを自動起動する設定とします。

$ sudo systemctl enable mysqld
Created symlink /etc/systemd/system/multi-user.target.wants/mysqld.service → /usr/lib/systemd/system/mysqld.service.
$

mysqldを起動します。

$ sudo systemctl start mysqld
$

WordPress用データベースを作成します。

MySQL 8におけるデータベースユーザ作成と権限の割り当てが従来の「grant all on DB名.* to wordpress@localhost identified by ‘パスワード’;」という一文から、「create user ~」と「grant ~」の2つに分かれている点に注意が必要です。

$ sudo mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.32 Source distribution
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database DB名 character set utf8;
Query OK, 1 row affected, 1 warning (0.01 sec)
mysql> create user wordpress@localhost  identified by 'パスワード';
Query OK, 0 rows affected (0.01 sec)
mysql> grant all privileges on DB名.* to wordpress@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
$

手順7: Webサーバ設定

手順7-1: httpdインストール

httpdをインストールします。

Oracle Linux 9.2ではWebサーバとして Apache(httpd) 2.4.53 、nginx 1.20.1、nginx 1.22.1が使えるが、apacheを使う。

$ sudo dnf install httpd -y
Last metadata expiration check: 0:05:50 ago on Tue 12 Sep 2023 11:38:07 AM JST.
Package httpd-2.4.53-11.0.1.el9_2.5.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
$

って・・・よくみたらphpインストール時にインストール済みでした。

次で設定変更をするので、この段階ではhttpdを起動しません。

OS起動時に自動起動する設定だけを行います。

$ sudo systemctl enable httpd
$

手順7-2: dehydratedによるLet’s Encrypt導入

Let’s EncryptによるSSL証明書導入はcertbotを使うのが一般的ではあるのだが、python環境とあわせてパッケージサイズが大きいので、コンパクトでEPELにも収録されているdehydratedを使用する。

$ sudo dnf install dehydrated -y
Last metadata expiration check: 0:07:19 ago on Tue 12 Sep 2023 11:38:07 AM JST.
Dependencies resolved.
================================================================================
 Package         Arch        Version              Repository               Size
================================================================================
Installing:
 dehydrated      noarch      0.7.1-1.el9          ol9_developer_EPEL      154 k
Installing dependencies:
 s-nail          x86_64      14.9.22-6.el9        ol9_appstream           626 k
Transaction Summary
================================================================================
Install  2 Packages
<略>
Installed:
  dehydrated-0.7.1-1.el9.noarch           s-nail-14.9.22-6.el9.x86_64
Complete!
$

dehydratedによるSSL証明書取得処理には /var/www/dehydrated が使用されるためディレクトリを作成します。

$ sudo mkdir  /var/www/dehydrated
$

http://~/.well-known/acme-challenge でアクセスした時に上記ディレクトリが開くようApacheの設定を /etc/httpd/conf.d/dehydrated.conf として作成します。(sudo vi /etc/httpd/conf.d/dehydrated.conf )

$ sudo vi /etc/httpd/conf.d/dehydrated.conf
$ cat /etc/httpd/conf.d/dehydrated.conf
Alias /.well-known/acme-challenge /var/www/dehydrated
<Directory /var/www/dehydrated/>
</Directory>
$

httpdを起動します

$ sudo systemctl start httpd
$

SSL証明書を発行するホスト名を /etc/dehydrated/domains.txt に記載する。(sudo vi /etc/dehydrated/domains.txt)

1行に複数のホスト名を記載するとaliasになります。

$ sudo vi /etc/dehydrated/domains.txt
$ sudo cat /etc/dehydrated/domains.txt
ホスト1名.ドメイン名 ホスト2名.ドメイン名
$

登録操作を開始します。

$ sudo dehydrated --register
# INFO: Using main config file /etc/dehydrated/config
# INFO: Using additional config file /etc/dehydrated/conf.d/local.sh
To use dehydrated with this certificate authority you have to agree to their terms of service which you can find here: https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf
To accept these terms of service run "/bin/dehydrated --register --accept-terms".
$ sudo /bin/dehydrated --register --accept-terms
# INFO: Using main config file /etc/dehydrated/config
# INFO: Using additional config file /etc/dehydrated/conf.d/local.sh
+ Generating account key...
+ Registering account key with ACME server...
+ Fetching account URL...
+ Done!
$

初回のSSL証明書発行処理を実行します。

$ sudo dehydrated --cron
# INFO: Using main config file /etc/dehydrated/config
# INFO: Using additional config file /etc/dehydrated/conf.d/local.sh
 + Creating chain cache directory /etc/dehydrated/chains
Processing ホスト1名.ドメイン名 with alternative names: ホスト2名.ドメイン名
 + Creating new directory /etc/dehydrated/certs/ホスト1名.ドメイン名 ...
 + Signing domains...
 + Generating private key...
 + Generating signing request...
 + Requesting new certificate order from CA...
 + Received 2 authorizations URLs from the CA
 + Handling authorization for ホスト1名.ドメイン名
 + Handling authorization for ホスト2名.ドメイン名
 + 2 pending challenge(s)
 + Deploying challenge tokens...
 + Responding to challenge for ホスト1名.ドメイン名 authorization...
 + Challenge is valid!
 + Responding to challenge for ホスト2名.ドメイン名 authorization...
 + Challenge is valid!
 + Cleaning challenge tokens...
 + Requesting certificate...
 + Checking certificate...
 + Done!
 + Creating fullchain.pem...
 + Done!
 + Running automatic cleanup
$

手順7-3: WebサーバへのSSL証明書設定

まず、httpdにmod_sslを追加します。

$ sudo dnf install mod_ssl -y
Last metadata expiration check: 0:13:55 ago on Tue 12 Sep 2023 11:38:07 AM JST.
Dependencies resolved.
================================================================================
 Package      Arch        Version                      Repository          Size
================================================================================
Installing:
 mod_ssl      x86_64      1:2.4.53-11.0.1.el9_2.5      ol9_appstream      119 k
Transaction Summary
================================================================================
Install  1 Package
<略>
$

標準の /etc/httpd/conf.d/ssl.conf は使わず、Mozilla SSL Configuration Generatorベースの設定を /etc/httpd/conf.d/ssl-mozilla.conf として作成します。(なお、ssl.conf には”Listen 443 https”設定もあるので、そのままにしています)

$ sudo vi /etc/httpd/conf.d/ssl-mozilla.conf
$ cat /etc/httpd/conf.d/ssl-mozilla.conf
# generated 2023-09-12, Mozilla Guideline v5.7, Apache 2.4.53, OpenSSL 3.0.7, intermediate configuration
# https://ssl-config.mozilla.org/#server=apache&version=2.4.53&config=intermediate&openssl=3.0.7&guideline=5.7
# this configuration requires mod_ssl, mod_socache_shmcb, mod_rewrite, and mod_headers
<VirtualHost *:80>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/\.well\-known/acme\-challenge/
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>
<VirtualHost *:443>
    SSLEngine on
    # curl https://ssl-config.mozilla.org/ffdhe2048.txt >> /path/to/signed_cert_and_intermediate_certs_and_dhparams
    SSLCertificateFile      /etc/dehydrated/certs/<ホスト名>/cert.pem
    SSLCertificateKeyFile   /etc/dehydrated/certs/<ホスト名>/privkey.pem
    # enable HTTP/2, if available
    Protocols h2 http/1.1
    # HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)
    Header always set Strict-Transport-Security "max-age=63072000"
</VirtualHost>
# intermediate configuration
SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite          ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
SSLHonorCipherOrder     off
SSLSessionTickets       off
SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
$

httpdを再起動します。

$ sudo systemctl restart httpd
$

手順8: WordPress導入

手順8-1: WordPressの基本インストール

WordPressのWebから最新版をダウンロードして、/var/www/html以下に展開します。
(日本語環境向けのlatest-ja.tar.gzファイルを使っていないのはWordpressプラグインが正常にインストールできるかを確認するためにWP Multibyte Patchを手動インストールする手順を入れているためです)

$ cd /var/www/html
$ ls
$ sudo curl -O https://wordpress.org/latest.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 22.3M  100 22.3M    0     0  17.6M      0  0:00:01  0:00:01 --:--:-- 17.6M
$ ls
latest.tar.gz
$ sudo tar xfz latest.tar.gz
$ ls -l
total 22904
-rw-r--r--. 1 root   root   23447259 Sep 12 11:57 latest.tar.gz
drwxr-xr-x. 5 nobody nobody     4096 Aug 29 23:14 wordpress
$ sudo rm latest.tar.gz
$

WordPressディレクトリの所有者をWebサービスのユーザである「apache」に変更します。

$ ps -ef|grep http
root       44914       1  0 11:56 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     44915   44914  0 11:56 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     44916   44914  0 11:56 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     44917   44914  0 11:56 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache     44918   44914  0 11:56 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
opc        45353    7003  0 11:59 pts/0    00:00:00 grep --color=auto http
$ sudo chown -R apache:apache wordpress/
$ ls -l
total 4
drwxr-xr-x. 5 apache apache 4096 Aug 29 23:14 wordpress
$

/var/www/html/wordpress をDocumentRootとするように ssl-mozilla.conf に追加して、httpdを再起動します。

$ sudo vi /etc/httpd/conf.d/ssl-mozilla.conf
$ cat /etc/httpd/conf.d/ssl-mozilla.conf
# generated 2023-09-12, Mozilla Guideline v5.7, Apache 2.4.53, OpenSSL 3.0.7, intermediate configuration
# https://ssl-config.mozilla.org/#server=apache&version=2.4.53&config=intermediate&openssl=3.0.7&guideline=5.7
# this configuration requires mod_ssl, mod_socache_shmcb, mod_rewrite, and mod_headers
<VirtualHost *:80>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/\.well\-known/acme\-challenge/
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>
<VirtualHost *:443>
    DocumentRoot /var/www/html/wordpress
    SSLEngine on
    # curl https://ssl-config.mozilla.org/ffdhe2048.txt >> /path/to/signed_cert_and_intermediate_certs_and_dhparams
    SSLCertificateFile      /etc/dehydrated/certs/<ホスト名>/cert.pem
    SSLCertificateKeyFile   /etc/dehydrated/certs/<ホスト名>/privkey.pem
    # enable HTTP/2, if available
    Protocols h2 http/1.1
    # HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)
    Header always set Strict-Transport-Security "max-age=63072000"
</VirtualHost>
# intermediate configuration
SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite          ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
SSLHonorCipherOrder     off
SSLSessionTickets       off
SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
$
$ sudo systemctl restart httpd
$

手順8-2: 「missing the MySQL extension」がでる場合の手順

いまの状態でブラウザからアクセスすると、下記の表示になります。

これはphpからMySQLにアクセスするためのパッケージがインストールされていないためなので、php-mysqlndを追加して、httpdを再起動します。

$ sudo dnf install php-mysqlnd -y
Last metadata expiration check: 0:25:26 ago on Tue 12 Sep 2023 11:38:07 AM JST.
Dependencies resolved.
================================================================================
 Package           Architecture Version               Repository           Size
================================================================================
Installing:
 php-mysqlnd       x86_64       8.0.27-1.el9_1        ol9_appstream       157 k
Transaction Summary
================================================================================
Install  1 Package
<略>
$ sudo systemctl restart httpd
$

WordPressの設定手順を進めると wp-config.php に書き込めない、と出ますので、「sudo vi /var/www/html/wordpress/wp-config.php」を実行し、指定された内容を記載します。

手順9: SELinux設定

手順9-1: httpdのネットワーク接続問題

一見するとここまででうまく動いているように見えます。

しかし、プラグインをインストールしようとするとエラーになります。

/var/log/audit/audit.logを確認すると下記のようなログが出ています。

type=AVC msg=audit(1622095859.957:2064): avc:  denied  { name_connect } for  pid=8908 comm="php-fpm" dest=443 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket permissive=0
type=AVC msg=audit(1622095868.397:2065): avc:  denied  { name_connect } for  pid=8313 comm="php-fpm" dest=443 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket permissive=0
type=AVC msg=audit(1622095868.401:2066): avc:  denied  { name_connect } for  pid=8313 comm="php-fpm" dest=80 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket permissive=0

これはhttpd_can_network_connect という値で制御されている

現在の設定値を「sudo getsebool -a |grep httpd_can_network」で確認し、「sudo setsebool -P httpd_can_network_connect on」で有効にする

$ sudo getsebool -a |grep httpd_can_network
httpd_can_network_connect --> off
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> off
httpd_can_network_memcache --> off
httpd_can_network_relay --> off
$ sudo setsebool -P httpd_can_network_connect on
$ sudo getsebool -a |grep httpd_can_network
httpd_can_network_connect --> on
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> off
httpd_can_network_memcache --> off
httpd_can_network_relay --> off
$

この変更ではhttpdの再起動は不要。

手順9-2: php-fpmの書き込み権限問題

プラグインやテーマのインストールについては問題なくても、WordPressのアップデートが出来ない。

このときの/var/log/audit/audit.logは下記

type=AVC msg=audit(1694506911.363:1538): avc:  denied  { write } for  pid=51364 comm="php-fpm" name="wordpress" dev="dm-0" ino=34891933 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:httpd_sys_content_t:s0 tclass=dir permissive=0

こちらは/var/www/html/wordpress に対して httpdから書き込みが行えるような SELinuxのコンテキストをつけることで解決する。

「sudo chcon -R -t httpd_sys_script_rw_t /var/www/html/wordpress」

$ ls -lZ /var/www/html/
total 4
drwxr-xr-x. 5 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 4096 Sep 12 13:14 wordpress
$ sudo chcon -R -t httpd_sys_script_rw_t /var/www/html/wordpress
$ ls -lZ /var/www/html/
total 4
drwxr-xr-x. 5 apache apache unconfined_u:object_r:httpd_sys_rw_content_t:s0 4096 Sep 12 13:14 wordpress
$

手順9-3:Wordpressプラグイン追加の動作確認

WordPressプラグインがインストールできる状態になっているかを確認するために「WP Multibyte Patch」をインストールします。

これをインストールするとWordpressの設定画面([Settings]-[General])に「Site language(サイトの言語)」が追加され、「日本語」表示に切り替えることができるようになります。

手順10: WordPressで取り扱えるファイルサイズの拡大

WordPressで取り扱えるファイルは標準状態だと2MBになっている。

WordPressのドキュメントのFile Upload Sizes を見ると、これはphpの設定ファイル /etc/php.ini による制限となっている。

Oracle Linux 9の標準設定では下記の値となっている。

<略>
post_max_size = 8M
<略>
upload_max_filesize = 2M
<略>

で・・・よくある手順だと軽率に /etc/php.ini を書き換えていますが、 /etc/php.d/ 以下にファイルを追加することで、そちらの設定項目を優先させることができる機能があるため、 /etc/php.d/90-wordpress.ini に変更したい2行だけを記載したファイルを作成します。

$ sudo vi /etc/php.d/90-wordpress.ini
$ cat /etc/php.d/90-wordpress.ini
post_max_size = 100M
upload_max_filesize = 100M
$

phpの設定変更を反映させるために「sudo systemctl restart php-fpm」を実行します。

$ sudo systemctl restart php-fpm
$

手順11: WordPressのSite Health Status対応

WordPressのサイトステータスを見てみると、いくつかパッケージを要求されている。

上から順に調査

Oracle Linux 8ではimagemagickのphpモジュールはなかったが、Oracle Linux 9だとあったので「sudo dnf install php-pecl-imagick」でインストール

$ sudo dnf install php-pecl-imagick
Last metadata expiration check: 1:22:23 ago on Tue 12 Sep 2023 11:38:07 AM JST.
Dependencies resolved.
================================================================================
 Package                        Arch   Version         Repository          Size
================================================================================
Installing:
 php-pecl-imagick               x86_64 3.7.0-1.el9     ol9_developer_EPEL 149 k
Installing dependencies:
 ImageMagick-libs               x86_64 6.9.12.93-1.el9 ol9_developer_EPEL 2.6 M
 LibRaw                         x86_64 0.20.2-5.el9    ol9_appstream      382 k
 ModemManager-glib              x86_64 1.20.2-1.el9    ol9_baseos_latest  334 k
 adobe-mappings-cmap            noarch 20171205-12.el9 ol9_appstream      2.0 M
 adobe-mappings-cmap-deprecated noarch 20171205-12.el9 ol9_appstream      129 k
 adobe-mappings-pdf             noarch 20180407-10.el9 ol9_appstream      686 k
 adwaita-cursor-theme           noarch 40.1.1-3.el9    ol9_appstream      686 k
 adwaita-icon-theme             noarch 40.1.1-3.el9    ol9_appstream       16 M
 alsa-lib                       x86_64 1.2.8-3.el9     ol9_appstream      586 k
 at-spi2-atk                    x86_64 2.38.0-4.el9    ol9_appstream       92 k
 at-spi2-core                   x86_64 2.40.3-1.el9    ol9_appstream      262 k
 atk                            x86_64 2.36.0-5.el9    ol9_appstream      378 k
 avahi-glib                     x86_64 0.8-12.el9_2.1  ol9_appstream       13 k
 bluez-libs                     x86_64 5.64-2.el9      ol9_baseos_latest   83 k
 bubblewrap                     x86_64 0.4.1-6.el9     ol9_baseos_latest   50 k
 colord-libs                    x86_64 1.4.5-4.el9     ol9_appstream      235 k
 cups-libs                      x86_64 1:2.3.3op2-16.el9_2.1
                                                       ol9_baseos_latest  264 k
 exempi                         x86_64 2.6.0-0.2.20211007gite23c213.el9
                                                       ol9_appstream      531 k
 exiv2-libs                     x86_64 0.27.5-2.el9    ol9_appstream      780 k
 fdk-aac-free                   x86_64 2.0.0-8.el9     ol9_appstream      325 k
 flac-libs                      x86_64 1.3.3-10.el9    ol9_appstream      226 k
 flatpak-selinux                noarch 1.12.7-2.el9    ol9_appstream       22 k
 flatpak-session-helper         x86_64 1.12.7-2.el9    ol9_appstream       80 k
 fuse                           x86_64 2.9.9-15.el9    ol9_baseos_latest   91 k
 gd                             x86_64 2.3.2-3.el9     ol9_appstream      132 k
 gdk-pixbuf2-modules            x86_64 2.42.6-3.el9    ol9_appstream       96 k
 geoclue2                       x86_64 2.6.0-7.el9     ol9_appstream      136 k
 giflib                         x86_64 5.2.1-9.el9     ol9_appstream       53 k
 google-droid-sans-fonts        noarch 20200215-11.el9.2
                                                       ol9_appstream      2.7 M
 graphene                       x86_64 1.10.6-2.el9    ol9_appstream       64 k
 graphviz                       x86_64 2.44.0-25.el9   ol9_appstream      3.4 M
 gsm                            x86_64 1.0.19-6.el9    ol9_appstream       39 k
 gstreamer1                     x86_64 1.18.4-4.el9    ol9_appstream      1.5 M
 gstreamer1-plugins-base        x86_64 1.18.4-5.el9    ol9_appstream      2.1 M
 gtk-update-icon-cache          x86_64 3.24.31-2.el9   ol9_appstream       34 k
 gtk2                           x86_64 2.24.33-8.el9   ol9_appstream      3.6 M
 gtk3                           x86_64 3.24.31-2.el9   ol9_appstream      5.0 M
 hicolor-icon-theme             noarch 0.17-13.el9     ol9_appstream       70 k
 imath                          x86_64 3.1.2-1.el9     ol9_appstream      102 k
 iso-codes                      noarch 4.6.0-3.el9     ol9_appstream      4.0 M
 jasper-libs                    x86_64 2.0.28-3.el9    ol9_appstream      151 k
 jbig2dec-libs                  x86_64 0.19-7.el9      ol9_appstream       77 k
 jbigkit-libs                   x86_64 2.1-23.el9      ol9_appstream       58 k
 lcms2                          x86_64 2.12-3.el9      ol9_appstream      167 k
 libICE                         x86_64 1.0.10-8.el9    ol9_appstream       71 k
 libSM                          x86_64 1.2.3-10.el9    ol9_appstream       42 k
 libX11-xcb                     x86_64 1.7.0-7.el9     ol9_appstream       12 k
 libXaw                         x86_64 1.0.13-19.el9   ol9_appstream      198 k
 libXcomposite                  x86_64 0.4.5-7.el9     ol9_appstream       29 k
 libXcursor                     x86_64 1.2.0-7.el9     ol9_appstream       35 k
 libXdamage                     x86_64 1.1.5-7.el9     ol9_appstream       27 k
 libXfixes                      x86_64 5.0.3-16.el9    ol9_appstream       20 k
 libXi                          x86_64 1.7.10-8.el9    ol9_appstream       40 k
 libXinerama                    x86_64 1.1.4-10.el9    ol9_appstream       15 k
 libXmu                         x86_64 1.1.3-8.el9     ol9_appstream       79 k
 libXpm                         x86_64 3.5.13-8.el9_1  ol9_appstream       62 k
 libXrandr                      x86_64 1.5.2-8.el9     ol9_appstream       28 k
 libXt                          x86_64 1.2.0-6.el9     ol9_appstream      180 k
 libXtst                        x86_64 1.2.3-16.el9    ol9_appstream       21 k
 libXv                          x86_64 1.0.11-16.el9   ol9_appstream       19 k
 libXxf86vm                     x86_64 1.1.4-18.el9    ol9_appstream       19 k
 libasyncns                     x86_64 0.8-22.el9      ol9_appstream       30 k
 libcanberra                    x86_64 0.30-26.el9     ol9_appstream      100 k
 libcanberra-gtk3               x86_64 0.30-26.el9     ol9_appstream       39 k
 libdrm                         x86_64 2.4.114-1.el9   ol9_appstream      165 k
 libepoxy                       x86_64 1.5.5-4.el9     ol9_appstream      246 k
 libexif                        x86_64 0.6.22-6.el9    ol9_appstream      462 k
 libfontenc                     x86_64 1.1.3-17.el9    ol9_appstream       31 k
 libgexiv2                      x86_64 0.12.3-1.el9    ol9_appstream       88 k
 libglvnd                       x86_64 1:1.3.4-1.el9   ol9_appstream      134 k
 libglvnd-egl                   x86_64 1:1.3.4-1.el9   ol9_appstream       35 k
 libglvnd-glx                   x86_64 1:1.3.4-1.el9   ol9_appstream      141 k
 libgs                          x86_64 9.54.0-9.el9    ol9_appstream      3.4 M
 libgsf                         x86_64 1.14.47-5.el9   ol9_appstream      302 k
 libgxps                        x86_64 0.3.2-3.el9     ol9_appstream       86 k
 libijs                         x86_64 0.35-15.el9     ol9_appstream       30 k
 libiptcdata                    x86_64 1.0.5-9.el9     ol9_appstream       73 k
 libldac                        x86_64 2.0.2.3-10.el9  ol9_appstream       41 k
 liblqr-1                       x86_64 0.4.2-19.el9    ol9_developer_EPEL  53 k
 libnotify                      x86_64 0.7.9-8.el9     ol9_appstream       50 k
 libogg                         x86_64 2:1.3.4-6.el9   ol9_appstream       38 k
 libosinfo                      x86_64 1.10.0-1.el9    ol9_appstream      345 k
 libpaper                       x86_64 1.1.28-4.el9    ol9_appstream       67 k
 libpciaccess                   x86_64 0.16-6.el9      ol9_baseos_latest   28 k
 libraqm                        x86_64 0.8.0-1.el9     ol9_developer_EPEL  19 k
 libsbc                         x86_64 1.4-9.el9       ol9_appstream       45 k
 libsndfile                     x86_64 1.0.31-7.el9    ol9_appstream      212 k
 libtheora                      x86_64 1:1.1.1-31.el9  ol9_appstream      168 k
 libtiff                        x86_64 4.4.0-8.el9_2   ol9_appstream      202 k
 libtool-ltdl                   x86_64 2.4.6-45.el9    ol9_appstream       36 k
 libtracker-sparql              x86_64 3.1.2-3.el9_1   ol9_appstream      354 k
 libvisual                      x86_64 1:0.4.0-34.el9  ol9_appstream      152 k
 libvorbis                      x86_64 1:1.3.7-5.el9   ol9_appstream      198 k
 libwayland-client              x86_64 1.21.0-1.el9    ol9_appstream       32 k
 libwayland-cursor              x86_64 1.21.0-1.el9    ol9_appstream       18 k
 libwayland-egl                 x86_64 1.21.0-1.el9    ol9_appstream       12 k
 libwayland-server              x86_64 1.21.0-1.el9    ol9_appstream       41 k
 libwebp                        x86_64 1.2.0-6.el9_1   ol9_appstream      284 k
 libwmf-lite                    x86_64 0.2.12-10.el9   ol9_appstream       77 k
 libxkbcommon                   x86_64 1.0.3-4.el9     ol9_appstream      133 k
 libxshmfence                   x86_64 1.3-10.el9      ol9_appstream       13 k
 low-memory-monitor             x86_64 2.1-4.el9       ol9_appstream       42 k
 mesa-libEGL                    x86_64 22.3.0-2.el9    ol9_appstream      123 k
 mesa-libGL                     x86_64 22.3.0-2.el9    ol9_appstream      168 k
 mesa-libgbm                    x86_64 22.3.0-2.el9    ol9_appstream       37 k
 mesa-libglapi                  x86_64 22.3.0-2.el9    ol9_appstream       49 k
 mesa-vulkan-drivers            x86_64 22.3.0-2.el9    ol9_appstream      7.4 M
 mkfontscale                    x86_64 1.2.1-3.el9     ol9_appstream       37 k
 openexr-libs                   x86_64 3.1.1-2.el9     ol9_appstream      1.1 M
 openjpeg2                      x86_64 2.4.0-7.el9     ol9_appstream      170 k
 opus                           x86_64 1.3.1-10.el9    ol9_appstream      200 k
 orc                            x86_64 0.4.31-6.el9    ol9_appstream      188 k
 osinfo-db                      noarch 20221130-1.0.2.el9
                                                       ol9_appstream      1.2 M
 osinfo-db-tools                x86_64 1.10.0-1.el9    ol9_appstream       96 k
 ostree-libs                    x86_64 2023.1-6.el9_2  ol9_appstream      441 k
 pipewire-libs                  x86_64 0.3.47-3.el9_2  ol9_appstream      1.7 M
 poppler                        x86_64 21.01.0-14.el9  ol9_appstream      1.1 M
 poppler-data                   noarch 0.4.9-9.el9     ol9_appstream      2.1 M
 poppler-glib                   x86_64 21.01.0-14.el9  ol9_appstream      152 k
 pulseaudio-libs                x86_64 15.0-2.el9      ol9_appstream      726 k
 pulseaudio-utils               x86_64 15.0-2.el9      ol9_appstream       82 k
 rtkit                          x86_64 0.11-28.el9     ol9_appstream       69 k
 sound-theme-freedesktop        noarch 0.8-17.el9      ol9_appstream      407 k
 totem-pl-parser                x86_64 3.26.6-2.el9    ol9_appstream      238 k
 tracker                        x86_64 3.1.2-3.el9_1   ol9_appstream      616 k
 upower                         x86_64 0.99.13-2.el9   ol9_appstream      188 k
 urw-base35-bookman-fonts       noarch 20200910-6.el9  ol9_appstream      861 k
 urw-base35-c059-fonts          noarch 20200910-6.el9  ol9_appstream      888 k
 urw-base35-d050000l-fonts      noarch 20200910-6.el9  ol9_appstream       81 k
 urw-base35-fonts               noarch 20200910-6.el9  ol9_appstream       11 k
 urw-base35-fonts-common        noarch 20200910-6.el9  ol9_appstream       22 k
 urw-base35-gothic-fonts        noarch 20200910-6.el9  ol9_appstream      657 k
 urw-base35-nimbus-mono-ps-fonts
                                noarch 20200910-6.el9  ol9_appstream      810 k
 urw-base35-nimbus-roman-fonts  noarch 20200910-6.el9  ol9_appstream      870 k
 urw-base35-nimbus-sans-fonts   noarch 20200910-6.el9  ol9_appstream      1.3 M
 urw-base35-p052-fonts          noarch 20200910-6.el9  ol9_appstream      987 k
 urw-base35-standard-symbols-ps-fonts
                                noarch 20200910-6.el9  ol9_appstream       42 k
 urw-base35-z003-fonts          noarch 20200910-6.el9  ol9_appstream      281 k
 vulkan-loader                  x86_64 1.3.239.0-1.el9 ol9_appstream      143 k
 webrtc-audio-processing        x86_64 0.3.1-8.el9     ol9_appstream      310 k
 wireplumber                    x86_64 0.4.8-1.0.1.el9 ol9_appstream      123 k
 wireplumber-libs               x86_64 0.4.8-1.0.1.el9 ol9_appstream      335 k
 xdg-dbus-proxy                 x86_64 0.1.3-1.el9     ol9_appstream       41 k
 xdg-desktop-portal             x86_64 1.12.4-1.el9    ol9_appstream      453 k
 xkeyboard-config               noarch 2.33-2.el9      ol9_appstream      1.1 M
 xorg-x11-fonts-ISO8859-1-100dpi
                                noarch 7.5-33.el9      ol9_appstream      1.2 M
Installing weak dependencies:
 dconf                          x86_64 0.40.0-6.el9    ol9_appstream      121 k
 exiv2                          x86_64 0.27.5-2.el9    ol9_appstream      1.0 M
 flatpak                        x86_64 1.12.7-2.el9    ol9_appstream      1.8 M
 libcanberra-gtk2               x86_64 0.30-26.el9     ol9_appstream       26 k
 p11-kit-server                 x86_64 0.24.1-2.el9    ol9_appstream      202 k
 pipewire                       x86_64 0.3.47-3.el9_2  ol9_appstream       49 k
 pipewire-alsa                  x86_64 0.3.47-3.el9_2  ol9_appstream       59 k
 pipewire-jack-audio-connection-kit
                                x86_64 0.3.47-3.el9_2  ol9_appstream      133 k
 pipewire-pulseaudio            x86_64 0.3.47-3.el9_2  ol9_appstream       24 k
 tracker-miners                 x86_64 3.1.2-3.el9     ol9_appstream      1.0 M
 xdg-desktop-portal-gtk         x86_64 1.12.0-3.el9    ol9_appstream      162 k
Transaction Summary
================================================================================
Install  158 Packages
<略>
$

インストール後にサイトヘルスステータスを確認するとgdも消えている

続いて「sudo dnf install php-pecl-zip php-intl」をインストール

$ sudo dnf install php-pecl-zip php-intl
Last metadata expiration check: 1:28:15 ago on Tue 12 Sep 2023 11:38:07 AM JST.
Dependencies resolved.
================================================================================
 Package            Architecture Version              Repository           Size
================================================================================
Installing:
 php-intl           x86_64       8.0.27-1.el9_1       ol9_appstream       150 k
 php-pecl-zip       x86_64       1.19.2-6.el9         ol9_appstream        78 k
Installing dependencies:
 libzip             x86_64       1.7.3-7.el9          ol9_appstream        63 k
Transaction Summary
================================================================================
Install  3 Packages
<略>
$

これで、サイトヘルスステータスのパッケージ関連のメッセージは消えた。

手順12: WordPressの.htaccess有効化

/var/www/html/wordpress/.htaccess が作成されているが、Oracle Linux 8のhttpd標準設定ではこれを読み込むようにはなっていない。

これが有効になっていないと、パーマリンク設定を「基本」から変えた場合に個別記事にアクセスできなくなる。

/etc/httpd/conf.d/wordpress.conf にファイルを作って設定する。

$ sudo vi /etc/httpd/conf.d/wordpress.conf
$ cat /etc/httpd/conf.d/wordpress.conf
<Directory /var/www/html/wordpress/>
 Allowoverride All
</Directory>
$ sudo systemctl restart httpd
$

手順13: OS自動更新の設定

メンテナンスがめんどくさくなって忘れる可能性があるので、Oracle Linux 8の自動更新設定を実施。

以前はyum-cronでしたが、現在は dnf-automatic に変わったので、パッケージをインストールします。

$ sudo dnf install dnf-automatic -y
Last metadata expiration check: 1:30:59 ago on Tue 12 Sep 2023 11:38:07 AM JST.
Dependencies resolved.
================================================================================
 Package          Arch      Version                  Repository            Size
================================================================================
Installing:
 dnf-automatic    noarch    4.14.0-5.0.1.el9_2       ol9_baseos_latest     53 k
Transaction Summary
================================================================================
Install  1 Package
<略>
$

/etc/dnf/automatic.conf 内の「apply_updates = no」を「apply_updates = yes」に変更

$ sudo vi /etc/dnf/automatic.conf
$ cat /etc/dnf/automatic.conf
[commands]
#  What kind of upgrade to perform:
# default                            = all available upgrades
# security                           = only the security upgrades
upgrade_type = default
random_sleep = 0
# Maximum time in seconds to wait until the system is on-line and able to
# connect to remote repositories.
network_online_timeout = 60
# To just receive updates use dnf-automatic-notifyonly.timer
# Whether updates should be downloaded when they are available, by
# dnf-automatic.timer. notifyonly.timer, download.timer and
# install.timer override this setting.
download_updates = yes
# Whether updates should be applied when they are available, by
# dnf-automatic.timer. notifyonly.timer, download.timer and
# install.timer override this setting.
apply_updates = yes
[emitters]
# Name to use for this system in messages that are emitted.  Default is the
# hostname.
# system_name = my-host
# How to send messages.  Valid options are stdio, email and motd.  If
# emit_via includes stdio, messages will be sent to stdout; this is useful
# to have cron send the messages.  If emit_via includes email, this
# program will send email itself according to the configured options.
# If emit_via includes motd, /etc/motd file will have the messages. if
# emit_via includes command_email, then messages will be send via a shell
# command compatible with sendmail.
# Default is email,stdio.
# If emit_via is None or left blank, no messages will be sent.
emit_via = stdio
[email]
# The address to send email messages from.
email_from = root@example.com
# List of addresses to send messages to.
email_to = root
# Name of the host to connect to to send email messages.
email_host = localhost
[command]
# The shell command to execute. This is a Python format string, as used in
# str.format(). The format function will pass a shell-quoted argument called
# `body`.
# command_format = "cat"
# The contents of stdin to pass to the command. It is a format string with the
# same arguments as `command_format`.
# stdin_format = "{body}"
[command_email]
# The shell command to use to send email. This is a Python format string,
# as used in str.format(). The format function will pass shell-quoted arguments
# called body, subject, email_from, email_to.
# command_format = "mail -Ssendwait -s {subject} -r {email_from} {email_to}"
# The contents of stdin to pass to the command. It is a format string with the
# same arguments as `command_format`.
# stdin_format = "{body}"
# The address to send email messages from.
email_from = root@example.com
# List of addresses to send messages to.
email_to = root
[base]
# This section overrides dnf.conf
# Use this to filter DNF core messages
debuglevel = 1
$

そしてdnf-automatic.timerを有効化し、開始します。

$ sudo systemctl enable dnf-automatic.timer
Created symlink /etc/systemd/system/timers.target.wants/dnf-automatic.timer → /usr/lib/systemd/system/dnf-automatic.timer.
$ sudo systemctl status dnf-automatic
○ dnf-automatic.service - dnf automatic
     Loaded: loaded (/usr/lib/systemd/system/dnf-automatic.service; static)
     Active: inactive (dead)
TriggeredBy: ○ dnf-automatic.timer
$ sudo systemctl start dnf-automatic.timer
$ sudo systemctl status dnf-automatic.timer
● dnf-automatic.timer - dnf-automatic timer
     Loaded: loaded (/usr/lib/systemd/system/dnf-automatic.timer; enabled; pres>
     Active: active (waiting) since Tue 2023-09-12 13:11:00 JST; 5s ago
      Until: Tue 2023-09-12 13:11:00 JST; 5s ago
    Trigger: Wed 2023-09-13 06:44:33 JST; 17h left
   Triggers: ● dnf-automatic.service
Sep 12 13:11:00 ホスト名 systemd[1]: Started dnf-automatic timer.
$

手順14 メモリが足らない対策

Oracle CloudのFree Tierで初期値のまま稼働させてみたのですが、頻繁に応答がなくなりました。(Oracle Linux 8だと問題なかったんだけど、Oracle Linux 9だと1日複数回発生)

oom-killerが発動したり、dnf search実行したら応答が返ってこない、とか・・・(dnf searchの件はどうやらdnfレポジトリの環境問題のもよう・・・)

手順14-1 php-fpm起動数制限

メモリ消費が増えやすいものとしてphp-fpmがある

zabbix向けでの記事ではあるが「php-fpmのメモリ使用量が増加する問題について」なんてのがあるぐらいにはよくあることになっている。

/etc/php-fpm.d/www.conf にある設定ファイルで設定されているので、まずは現在値を確認

動的に子プロセスを生成 (pm = dynamic)
プロセス最大数が50 (pm.max_children = 50)
開始プロセス数は5 (pm.start_servers = 5)
スペアサーバの最低は5(pm.min_spare_servers = 5)
スペアサーバの最大は35(pm.max_spare_servers = 35)
プロセスの自動再起動は設定なし(”;pm.max_requests = 500″なのでコメントになっている)

これを下記に変更し、「systemctl restart php-fpm」で再起動した。

動的に子プロセスを生成 (pm = dynamic)
プロセス最大数が8 (pm.max_children = 8)
開始プロセス数は5 (pm.start_servers = 5)
スペアサーバの最低は5(pm.min_spare_servers = 5)
スペアサーバの最大は8(pm.max_spare_servers = 8)
プロセスの自動再起動は500(pm.max_requests = 500)

これでしばらく様子をみてみることにした(2024/05/07設定)

手順14-2 swapfile追加

yum/dnfレポジトリのファイルサイズが80MB程度を越えるとdnfコマンドの処理中にswapが1GBちょっと必要になるようだ。

標準だと1GBなく、ほかのプロセスで400MB程度は使用されているので、足らないため、swapを増量する必要がある模様。

現在の設定確認するため「swapon –show」を実行して、容量と、swapfileの権限等を確認

# swapon --show
NAME       TYPE SIZE   USED PRIO
/.swapfile file 948M 488.4M   -2
# ls -l /.swapfile
-rw-------. 1 root root 994050048  4月 25 10:59 /.swapfile
#

「/パーテーション」か「/var/oledパーテーション」のどちらかに追加のswapfileを作成

# fallocate -l 2G /var/oled/swapfile2
# ls -l /var/oled/swapfile2
-rw-r--r--. 1 root root 2147483648  5月  7 14:06 /var/oled/swapfile2
# chmod 600 /var/oled/swapfile2
# ls -l /var/oled/swapfile2
-rw-------. 1 root root 2147483648  5月  7 14:06 /var/oled/swapfile2
# mkswap /var/oled/swapfile2
スワップ空間バージョン 1 を設定します。サイズ = 2 GiB (2147479552 バイト)
ラベルはありません, UUID=66caa2dd-b28d-43da-b1a6-8b710f8a8398
# 

作成したファイルをswapとして登録

# swapon /var/oled/swapfile2
# swapon --show
NAME                TYPE SIZE   USED PRIO
/.swapfile          file 948M 487.4M   -2
/var/oled/swapfile2 file   2G     0B   -3
# 

free -mを実行してswapが増えていることを確認

# free -m
               total        used        free      shared  buff/cache   available
Mem:             948         512          65          26         545         436
Swap:           2995         487        2508
#

また、上記は再起動すると消えるので/etc/fstabに「/var/oled/swapfile2 none swap sw 0 0」を追加


トラブルメモ

ここからは一般的ではないトラブルの対処メモ

dnfコマンド実行したあとに応答がなくなる

OCI Free Tier(メモリ1GB)のインスタンスでOracle Linux 9をインストールしたあと、dnf check-updateを実行すると、systemのloadが非常に上がったあと、応答がなくなるということとが多発した。

EPEL追加したあとから動きがおかしくなってる?という感じがあったので、いったん全部のレポジトリを無効化してからOS系を有効にしたところ、dnfが止まらずに実行完了した。

# dnf repolist
repo id                       repo の名前
ol9_addons                    Oracle Linux 9 Addons (x86_64)
ol9_appstream                 Oracle Linux 9 Application Stream Packages (x86_64)
ol9_baseos_latest             Oracle Linux 9 BaseOS Latest (x86_64)
# 

この状態で「dnf update」を実行したところ、EPELで追加したパッケージと関連する部分があって一括アップデートができなかった。

アップデートにdnf周りとセキュリティ周りをアップデートすればいいか、と以下のパッケージについて個別アップデートを実施した

dnf update yum selinux-policy policycoreutils rpm dnf-plugins-core

UEKを戻して以下の状態でもdnf check-updateは成功

# dnf repolist
repo id                       repo の名前
ol9_UEKR7                     Oracle Linux 9 UEK Release 7 (x86_64)
ol9_addons                    Oracle Linux 9 Addons (x86_64)
ol9_appstream                 Oracle Linux 9 Application Stream Packages (x86_64)
ol9_baseos_latest             Oracle Linux 9 BaseOS Latest (x86_64)
#

しかし、”Oracle Linux 9 OCI Included Packages (x86_64)”(oci-included-ol9.repo)を戻したところ応答がなくなる現象発生

# dnf repolist
repo id                       repo の名前
ol9_UEKR7                     Oracle Linux 9 UEK Release 7 (x86_64)
ol9_addons                    Oracle Linux 9 Addons (x86_64)
ol9_appstream                 Oracle Linux 9 Application Stream Packages (x86_64)
ol9_baseos_latest             Oracle Linux 9 BaseOS Latest (x86_64)
ol9_oci_included              Oracle Linux 9 OCI Included Packages (x86_64)
# dnf check-update
Oracle Linux 9 OCI Included Packages (x86_64)                  27 MB/s |  84 MB     00:03
<ここから出力が続かない>

強制再起動したあと、Oracle Linux 9 OCI Included Packages (x86_64)を除外して、EPELを含めてそれ以外の状態を戻してみるとdnf check-updateに成功

# dnf repolist
repo id                                repo の名前
ol9_UEKR7                              Oracle Linux 9 UEK Release 7 (x86_64)
ol9_addons                             Oracle Linux 9 Addons (x86_64)
ol9_appstream                          Oracle Linux 9 Application Stream Packages (x86_64)
ol9_baseos_latest                      Oracle Linux 9 BaseOS Latest (x86_64)
ol9_developer_EPEL                     Oracle Linux 9 EPEL Packages for Development (x86_64)
ol9_ksplice                            Ksplice for Oracle Linux 9 (x86_64)
#

が・・・dnf updateでエラーが・・・

# dnf update -y
メタデータの期限切れの最終確認: 0:01:49 前の 2024年05月07日 11時32分27秒 に実施しました。
エラー:
 問題 1: package ImageMagick-libs-6.9.12.93-1.el9.x86_64 from @System requires libraw_r.so.20()(64bit), but none of the providers can be installed
  - cannot install both LibRaw-0.21.1-1.el9.x86_64 from ol9_appstream and LibRaw-0.20.2-6.el9.x86_64 from @System
  - cannot install both LibRaw-0.21.1-1.el9.x86_64 from ol9_appstream and LibRaw-0.20.2-5.el9.x86_64 from ol9_appstream
  - cannot install both LibRaw-0.21.1-1.el9.x86_64 from ol9_appstream and LibRaw-0.20.2-6.el9.x86_64 from ol9_appstream
  - パッケージの最良アップデート候補をインストールできません LibRaw-0.20.2-6.el9.x86_64
  - パッケージの最良アップデート候補をインストールできません ImageMagick-libs-6.9.12.93-1.el9.x86_64
 問題 2: package tuned-profiles-oci-2.21.0-1.0.1.el9_3.noarch from @System requires tuned = 2.21.0-1.0.1.el9_3, but none of the providers can be installed
  - cannot install both tuned-2.22.1-1.0.1.el9.noarch from ol9_baseos_latest and tuned-2.21.0-1.0.1.el9_3.noarch from @System
  - cannot install both tuned-2.22.1-1.0.1.el9.noarch from ol9_baseos_latest and tuned-2.21.0-1.0.1.el9_3.noarch from ol9_baseos_latest
  - パッケージの最良アップデート候補をインストールできません tuned-2.21.0-1.0.1.el9_3.noarch
  - インストール済パッケージの問題 tuned-profiles-oci-2.21.0-1.0.1.el9_3.noarch
(競合するパッケージを置き換えるには、コマンドラインに '--allowerasing' を追加してみてください または、'--skip-broken' を追加して、インストール不可のパッケージをスキップしてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください)
#

現在無効にしているociレポジトリにあるtuned-profiles-ociを引っ張ってきてるから駄目な模様

$ cat /etc/yum.repos.d/oci-included-ol9.repo
[ol9_oci_included]
name=Oracle Linux $releasever OCI Included Packages ($basearch)
baseurl=https://yum$ociregion.$ocidomain/repo/OracleLinux/OL9/oci/included/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1
$

ここの環境変数 $ociregionと$ocidomainはどこで定義されているかといえば、/etc/yum/vars/ociregion と /etc/yum/vars/ocidomain

$ ls -l  /etc/yum/vars/
合計 12
-rw-r--r--. 1 root root 20  4月 25 10:59 ocidomain
-rw-r--r--. 1 root root 14  4月 25 10:59 ociregion
-rw-r--r--. 1 root root 13  4月 25 10:59 region
$ cat /etc/yum/vars/ocidomain
oci.oraclecloud.com
$ cat /etc/yum/vars/ociregion
.us-phoenix-1
$ cat /etc/yum/vars/region
us-phoenix-1
$

とりあえずはoracle linuxのreleaseが新しくなっていたので個別アップデート

# dnf update oraclelinux-release oraclelinux-release-el9 redhat-release
メタデータの期限切れの最終確認: 0:17:52 前の 2024年05月07日 11時32分27秒 に実施しました。
依存関係が解決しました。
=================================================================================================================
 パッケージ                       Arch            バージョン                    リポジトリー               サイズ
=================================================================================================================
アップグレード:
 oraclelinux-release              x86_64          9:9.4-1.0.6.el9               ol9_baseos_latest          8.3 M
 oraclelinux-release-el9          x86_64          1.0-15.el9                    ol9_baseos_latest           23 k
 redhat-release                   x86_64          3:9.4-0.4.0.1.el9             ol9_baseos_latest           19 k

トランザクションの概要
=================================================================================================================
アップグレード  3 パッケージ

ダウンロードサイズの合計: 8.3 M
これでよろしいですか? [y/N]: y
<略>
#

OCIに関するレポジトリ設定は変更されなかったので、パッケージ除外設定でdnf updateを実施した( 「dnf update -y –exclude=tuned*,ImageMagick-libs,LibRaw」で実行した)

# dnf update -y --exclude=tuned*
メタデータの期限切れの最終確認: 0:21:39 前の 2024年05月07日 11時32分27秒 に実施しました。
エラー:
 問題: package ImageMagick-libs-6.9.12.93-1.el9.x86_64 from @System requires libraw_r.so.20()(64bit), but none of the providers can be installed
  - cannot install both LibRaw-0.21.1-1.el9.x86_64 from ol9_appstream and LibRaw-0.20.2-6.el9.x86_64 from @System
  - cannot install both LibRaw-0.21.1-1.el9.x86_64 from ol9_appstream and LibRaw-0.20.2-5.el9.x86_64 from ol9_appstream
  - cannot install both LibRaw-0.21.1-1.el9.x86_64 from ol9_appstream and LibRaw-0.20.2-6.el9.x86_64 from ol9_appstream
  - パッケージの最良アップデート候補をインストールできません LibRaw-0.20.2-6.el9.x86_64
  - パッケージの最良アップデート候補をインストールできません ImageMagick-libs-6.9.12.93-1.el9.x86_64
(競合するパッケージを置き換えるには、コマンドラインに '--allowerasing' を追加してみてください または、'--skip-broken' を追加して、インストール不可のパッケージをスキップしてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください)
# dnf update -y --exclude=tuned*,ImageMagick-libs,LibRaw
メタデータの期限切れの最終確認: 0:22:54 前の 2024年05月07日 11時32分27秒 に実施しました。
依存関係が解決しました。
<略>

アップデート完了後、Oracle Linux 9 OCI Included Packages (x86_64)を戻してdnf check-updateを実行すると、これまでと同じで止まる

該当レポジトリからインストールされているものを確認する

# dnf list --installed|grep ol9_oci_included
ksplice-release-el9.x86_64                     1.0-2.el9                           @ol9_oci_included
oci-linux-config.noarch                        2.0-1.0.8.el9                       @ol9_oci_included
oci-utils.noarch                               0.14.0-4.el9                        @ol9_oci_included
python3-cryptography.x86_64                    36.0.1-4.0.1.el9                    @ol9_oci_included
python3-docutils.noarch                        0.16-6.el9                          @ol9_oci_included
python3-sdnotify.noarch                        0.3.2-4.el9                         @ol9_oci_included
python39-oci-sdk.x86_64                        2.125.3-1.el9                       @ol9_oci_included
tuned-profiles-oci.noarch                      2.21.0-1.0.1.el9_3                  @ol9_oci_included
tuned-profiles-oci-recommend.noarch            2.21.0-1.0.1.el9_3                  @ol9_oci_included
#

twitterで検索したら、同じような事例で止まったという話をしてる人を発見

どう対処したのか聞いてみたところswap増量したとのこと。

# swapon --show
NAME       TYPE SIZE   USED PRIO
/.swapfile file 948M 488.4M   -2
# ls -l /.swapfile
-rw-------. 1 root root 994050048  4月 25 10:59 /.swapfile
#

/etc/fstabには「/.swapfile none swap sw,comment=cloudconfig 0 0」という行あり

# fallocate -l 2G /var/oled/swapfile2
# ls -l /var/oled/swapfile2
-rw-r--r--. 1 root root 2147483648  5月  7 14:06 /var/oled/swapfile2
# chmod 600 /var/oled/swapfile2
# ls -l /var/oled/swapfile2
-rw-------. 1 root root 2147483648  5月  7 14:06 /var/oled/swapfile2
# mkswap /var/oled/swapfile2
スワップ空間バージョン 1 を設定します。サイズ = 2 GiB (2147479552 バイト)
ラベルはありません, UUID=66caa2dd-b28d-43da-b1a6-8b710f8a8398
# swapon /var/oled/swapfile2
# swapon --show
NAME                TYPE SIZE   USED PRIO
/.swapfile          file 948M 487.4M   -2
/var/oled/swapfile2 file   2G     0B   -3
# free -m
               total        used        free      shared  buff/cache   available
Mem:             948         512          65          26         545         436
Swap:           2995         487        2508
#

そして dnf check-updateを実行

# dnf check-update
メタデータの期限切れの最終確認: 1:08:36 前の 2024年05月07日 13時04分17秒 に実施しました。

LibRaw.x86_64                                             0.21.1-1.el9                            ol9_appstream
python39-oci-sdk.x86_64                                   2.126.1-1.el9                           ol9_oci_included
tuned.noarch                                              2.22.1-1.0.1.el9                        ol9_baseos_latest
tuned-profiles-oci.noarch                                 2.22.1-1.0.1.el9                        ol9_oci_included
tuned-profiles-oci-recommend.noarch                       2.22.1-1.0.1.el9                        ol9_oci_included
#
# dnf check-update
Ksplice for Oracle Linux 9 (x86_64)                                                413 kB/s | 380 kB     00:00
Oracle Linux 9 OCI Included Packages (x86_64)                                       29 MB/s |  84 MB     00:02
Oracle Linux 9 EPEL Packages for Development (x86_64)                               17 MB/s |  59 MB     00:03
Oracle Linux 9 BaseOS Latest (x86_64)                                               14 MB/s |  24 MB     00:01
Oracle Linux 9 Application Stream Packages (x86_64)                                 18 MB/s |  33 MB     00:01
Oracle Linux 9 Addons (x86_64)                                                     516 kB/s | 396 kB     00:00
Oracle Linux 9 UEK Release 7 (x86_64)                                               15 MB/s |  31 MB     00:02
メタデータの期限切れの最終確認: 0:00:01 前の 2024年05月07日 14時32分44秒 に実施しました。

LibRaw.x86_64                                      0.21.1-1.el9                                       ol9_appstream
#

問題なく通りました。

実行中 topコマンドでメモリ消費を見てみたところ、swapを最大で1600MBぐらいまで使用していた。dnfコマンドの実行が終わると640MB程度の使用になったので、約1GBぐらいが必要である模様

ふとOracle Linux 8 ARMインスタンスでswapを確認してみると4GBで設定されていた。それが1GBに減ってるのでは確かに足らないですね・・・

$ swapon --show
NAME       TYPE SIZE   USED PRIO
/.swapfile file   4G 556.1M   -2
$ ls -l /.swapfile
-rw-------. 1 root root 4294967296 Apr  6  2022 /.swapfile
$ free -m
              total        used        free      shared  buff/cache   available
Mem:           5759        2216        2708          23         833        2696
Swap:          4095         556        3539
$

Oracle Linux 8 x86_64 インスタンスだと1.9GBで、以前は問題なかったんだけど、いま試すとdnfがOOM killerで殺されるようになっていた・・・(合計3.9GBに増やしたあとで確認すると最大で2376MBまで使用されていた)

$ swapon --show
NAME       TYPE SIZE  USED PRIO
/.swapfile file 1.9G 84.1M   -2
$ ls -l /.swapfile
-rw-------. 1 root root 1989148672 Mar  8  2023 /.swapfile
$ free -m
              total        used        free      shared  buff/cache   available
Mem:            936         541          63           1         331         246
Swap:          1896         467        1429
$ 

ただ作成時期によってはOracle linux 8 x86_64インスタンスでも8GBで設定されているようだ

$ swapon --show
NAME       TYPE SIZE  USED PRIO
/.swapfile file   8G 66.3M   -2
$ ls -l /.swapfile
-rw-------. 1 root root 8589934592 Nov 16  2021 /.swapfile
$ free -m
              total        used        free      shared  buff/cache   available
Mem:          23236        5527        3452         740       14257       13471
Swap:          8191          66        8125
$

Oracle Linux 7 x86_64インスタンスだとswap 8GB

$ swapon --show
NAME      TYPE      SIZE   USED PRIO
/dev/sda2 partition   8G 489.5M   -2
$

OCI関連コマンドドキュメント

OCIユーティリティ

OCIリージョン内のyumサーバに関する記載 リージョナルYumサーバーへの接続

Oracle Cloud Agentドキュメント


NEC PC-9801互換機のPROSIDE VS2,AST DualStation, TOMCAT PC-3/Xについて調べた

国立国会図書館に来たついでに、なんか正体がつかめないNEC PC-9801互換機について検索してみた。

簡単な年表

1986年5月エレクトロニクスライフ 1986年5月号?トムキャットコンピュータがPC-9801完全互換機を4月に発表する、という記事?
1986年9月テレコミュニケーション 1986年9月号?トムキャットコンピュータのPC-9801関連記事?
1987年3月EPSON 互換機発表EPSONがPC-9801互換機発表する
1987年4月EPSON PC-286 Model 0発売BASIC ROMを搭載しないPC-9801互換機として発売
1987年4月シャープ MZ-2861発表互換DOSでPC-9801互換を図っているものを発表
1987年5月月刊アスキー 1987年5月号EPSON PC-286の発表記事?
1987年5月事務と経営 1985年5月号EPSON PC-286の発表記事と「日電PC互換機市場いよいよ誕生」という解説記事
1987年6月月刊アスキー 1987年6月号EPSON PC-286シリーズ4機種発売中止、という記事?
1987年6月ビジネスコミュニケーション1987年6月号国内のクローン機としてエプソンに続いて、シャープ、三洋電機、カシオなどが計画中という記載
1987年7月月刊アスキー 1987年7月号EPSON PC-286 model0の記事?
1987年7月インタフェース 1987年7月号EPSON PC-286 model0の記事か広告?
1987年7月電子技術 1987年7月号?NECとEPSON間の訴訟についての記事?
1987年7月?プロサイド設立ソードの支援の元、設立したという記事が情報科学1987年7月号に掲載
1987年8月月刊アスキー 1987年8月号互換機登場によって盛況を見せる16bitマシン という特集?
1987年8月プレジデント 1987年8月号EPSON互換機に関する記事?
1987年9月EPSON BASIC ROM発売BASIC ROM発売
BASIC ROM搭載したPC-286V/PC-286U発表(10月発売)
1987年9月月刊アスキー 1987年9月号広告「日経バイト 1987年10月号予告」に「PART 2 互換機はこうしてつくられる としてProside 286/386」
1987年10月AX評議会設立専用ハードウェアを使ったPC/AT互換機用日本語OSとしてのAXが登場
1987年10月週刊ダイヤモンド 1987年10月24日号?日本のパソコン動向に関する記事でエプソンやAXについて言及?
1987年10月月刊アスキー 1987年10月号シャープMZ-2861用 PC-9801互換の”エミュレーションソフトV2.0″リリース
1987年10月機械振興 1987年10月号標準機パソコン検討委員会を設立初期の話
1987年10月週刊読売 1987年10月18日号?プロサイドとVS2に関する記載?
1987年11月月刊アスキー 1987年11月号プロサイド P-VS2 のカラー写真掲載
EPSON PC-286U/PC-286V登場
1987年11月Bit 1987年11月号?トムキャットコンピュータのVSLについての記述?
1987年11月インタフェース 1987年11月号プロサイドの広告にVS2掲載
1987年11月コンピュートピア 1987年11月号データショウ87にEPSON,シャープ,プロサイドがPC98互換機が出展し、競争激化という記事
1987年11月事務と経営 1987年11月号ニュース解説「転換したか?日電のPC互換機排除戦略」
1987年12月月刊アスキー 1987年12月号HORIGO/堀剛コンピューターサービスの広告でPROSIDE VS2(P-VS2)掲載
1987年12月電子工業月報 1987年12月号日経産業10月5日のニュースとして「トムキャットコンピュータの開発構想」
1987年12月週刊宝石 1987年12月11日号?EPSON,プロサイドの互換機戦争に関する記事?
1987年12月Trigger 1987年12月号?PC98互換機論争 という特集
プロサイドVS2に関する言及?
1987年12月週刊宝石1987年12月11日号?プロサイドの互換機の記事?
1987年12月インタフェース 1987年12月号プロサイドの広告にVS2掲載
1987年12月コンピュートピア 1987年12月号プロサイドVS2に言及する記事
1987年12月実業の日本 1987年12月号?プロサイド互換機に関する記事?
1987年12月月刊アスキー 1987年12月号プロサイド互換機に関して言及?
1987年12月NEW教育とマイコン 1987年12月号?プロサイド互換機に関して言及?
1988年1月コンピュートピア 1988年1月号プロサイドVS2に言及する記事
1988年2月月刊アスキー 1988年2月号プロサイドが互換機発表?という記事?
1988年4月月刊アスキー 1988年4月号TOMCAT PC/3Xに関して記載がある?
1988年4月コンピュートピア 1988年4月号標準機パソコン検討委員会の第1次案によりTOMCAT PC/3Xの仕様が決まっているような記載とヨドバシ専売という記載
1988年4月Trigger 1988年4月号?ソフトチャンネルマシンに関する記事?
1988年4月近代中小企業 1988年4月号「動き出したトロン計画にみるパソコンの規格統一の行方」でトムキャットが互換機を完成、とある
1988年5月月刊アスキー 1988年5月号ソフトチャンネルマシンについての特集がある別雑誌の広告?
1988年5月インタフェース 1988年5月号ソフトチャンネルマシンについての特集がある別雑誌の広告?
1988年6月月刊アスキー 1988年6月号トムキャットコンピュータのPC-9800互換機の記載
1988年7月Computer today 1988年7月号?ソフト・チャンネル・マシン登場の背景 という特集記事
1988年7月Newton 1988年7月号TOMCAT PC/3に関して記載がある?
1988年8月月刊アスキー 1988年8月号「トムキャットVSLチップセットを開発」という記事
1988年8月インタフェース 1988年8月号「トムキャットパソコン互換機用チップセットを開発」という記事
1988年8月NEW教育とマイコン 1988年8月号?ソフトチャンネルマシンに関して言及?
1988年11月証券調査 1988年11月号川崎製鉄の業績解説内にトムキャットコンピュータとの共同開発について言及
1989年1月Asahiパソコン 1989年1月号?何かがトムキャットコンピュータのVSLを使って完成したという記載
1989年1月インタフェース 1990年1月号?ソフト·チャンネル·マシン、パソ協、パソ技研に関する記載?
1989年1月月刊アスキー 1989年1月号トムキャットが開発したVSLを使っている記述?
1989年2月月刊アスキー 1989年2月号プロサイド広告にトムキャットの記述がある?
1989年5月Asahiパソコン 1989年5月号?トムキャットコンピュータのVSLを使った何かの話
1989年10月NEW教育とマイコン 1989年10月号?トムキャットコンピュータの可変BIOSとソフト·チャンネル·マシンの話?
1989年11月事務と経営 1989年11月号?ソフト·チャンネル·マシンの話?
1990年6月月刊アスキー 1990年6月号トムキャットコンピュータ製のBIOSを採用した何かの記述
1990年6月インタフェース 1990年6月号TOMCAT BIOSという記載がある
1990年6月事務と経営 1990年6月号AST リサーチPC-DUAL・SX/16発表会の話
発表会に米国大使館の商務参事官が同席していた
1990年6月コンピュートピア 1990年6月号ASTリサーチ PC-98/AT互換パソコンを発表。OEM向け
1990年10月IBM DOS J4.0/V販売特別なハードウェアがないPC/AT互換機でも動く日本語OSとしてのDOS/Vが登場
1990年10月ファクトリオートメーション 1990年10月号?AST Dual SX/16の発表に関する記事?
1991年1月ASAHIパソコン 1991年1月合併号プロサイド広告にAST DualStation 386SX/16掲載
1991年1月ファクトリ・オートメーション 1991年1月号「ASTリサーチ、デュアルモードPC DualStation386 SX/16の販売代理店を発表」
1991年1月インタフェース 1991年1月号AST DualStation 386SX/16のカラー広告掲載
1991年1月インタフェース 1991年1月号T-ZONE広告にDualStation掲載
1991年1月インタフェース 1991年1月号「ASTリサーチ、デュアルモードPC DualStation386 SX/16の販売代理店を発表」
1991年2月ASAHIパソコン 1991年2月号?プロサイド広告にAST DualStation 386SX/16掲載
1991年2月インタフェース 1991年2月号AST DualStation 386SX/16のカラー広告掲載?
1991年3月ASAHIパソコン 1991年3月号?プロサイド広告にAST DualStation 386SX/16掲載
1991年3月インタフェース 1991年3月号AST DualStation 386SX/16のカラー広告掲載?
1991年3月月刊アスキー 1991年3月号2ページぐらいの記事?
1991年4月インタフェース 1991年4月号AST DualStation 386SX/16のカラー広告掲載?
1991年4月月刊アスキー 1991年4月号広告?
1991年5月月刊アスキー 1991年5月号3ページカラーの記事としてDualStation掲載
1991年8月インタフェース 1991年8月号プロサイド広告にDualstation掲載
1991年9月インタフェース 1991年9月号プロサイド広告にDualstation掲載
1992年6月ビジネスガイド 1992年6月号トムキャットコンピュータ Virtual 98発表に関する記述?
1992年7月NEW教育とマイコン 1992年7月号トムキャットコンピュータ Virtual 98発表に関する記述?
1992年7月コンピュートピア 1992年7月号トムキャットコンピュータVirual 98に関する記事
1992年8月月刊アスキー 1992年8月号トムキャットコンピュータ Virtual 98発表に関する記述?
1998年7月月刊アスキー 1998年7月号おそらく懐古記事にPC/3が登場している?

ここから下が各記事の詳細です。

各URLは国会図書館内の端末でないと中身が読めないものです。


PROSIDE VS2/P-VS2 について

まず80286搭載の互換機「PROSIDE VS2」を検索ワードとして出てきものから・・・


月刊アスキー (ASCII) 1987年9月号の「日経バイト10月号予告」として「創刊3周年記念 総力特集 互換機時代がはじまる」となっており

「PART 2 互換機はこうしてつくられる」
・チップセットとBIOSをめぐる動き
・クローン実現手法: エプソンPC-286, Proside 286/386など
・デュアルモードマシンの姿: マイクロソフトが提唱する日本語版 PC AT規格、プロサイドのPC AT/PC-9801互換機など
・BIOSエミュレーションの限界:シャープMZ-2861
・アドオンボードで互換性はかるワークステーション

となっている。

しかし、日経バイトは 国立国会図書館では貸し出しを受けないとダメなやつだった・・・

次の 月刊アスキー (ASCII) 1987年10月号 に「EXPRESS 緊急レポート 明らかになったIBM PC/ATコンパチ日本語仕様 松下.FMR互換パソコン」とあったので見てみると、その手前に興味深いものがいくつかあった

まず シャープMZ-2861広告 があり「エミュレーションソフトV2.0上で動作するPC-98UV2アプリケーション」として、一太郎2.1、MIFES-98、RED++、Multiplan、上海など23本が動作確認としてあげられていた

横河ヒューレットパッカードのVectra-D広告 で「日本語モード(日本語MS-DOS 3.1)と英語モード(PC/ATコンパチブル)の相互切り替えが可能」とうたっているものの日本語MS-DOS3.1側ってなんだったのかがよく分からない。次にくるニュースがAXが新登場するものなので、AX以前の独自仕様だと思われるが・・・

で、「ASCII EXPRESS IBM PC/ATコンパチの統一日本語仕様AXが固まる 来春にも各社から発売か」というのが、緊急レポートの内容だった。

で、後段の「松下.FMR互換パソコン」はなんだったのかというと「松下がFMR 50相当/FMR 60相当マシンを販売する」って話だった(あと富士通からは80386搭載のFMR新製品が出ると)

ヘッドラインには「PCEngineが10月下旬から発売され本年度80万台を生産」という話ものっていた


月刊アスキー(ASCII) 1987年11月号」に「プロサイド P-VS2」として貴重なカラー写真が掲載されている。


インターフェース 1987年11月号」のプロサイドの広告で「i80286 386新世代パソコン PROSIDE VS2 IBM-AT PC9801用互換機」が掲載されている。

この広告にはマザーボードの写真が掲載されているが、これがVS2用なのが、汎用PC/AT用なのかは不明


月刊アスキー(ASCII) 1987年12月号」にHORIGO/堀剛コンピューターサービスという業平にある会社の広告として「PROSIDE VS2(P-VS2)」が掲載されている。

次世代機とよぶにふさわしい!! PC-9801互換機IBM/AT PROSIDE VS2

とのこと


AST DualStation 386SX/16

つづいて「ast dualstation」を検索・・・


ASAHIパソコン 1991年1/1,15合併号」の「プロサイドの広告」に

日米の豊富なソフトウェアアプリケーションプログラムが使える AST DualStation 386SX/16

PC98(RS21)/PCAT両互換機

NEC/AT Dual互換機にAX機能をつけると全日本互換機チャンピオン!!

プロサイドはいつも新鮮!!

・ハードディスクをPC-98用、IBM PC/AT用に分けて使用!
・キーボード操作で98もd-お、ATモードに変換!
・VGAピギーパックアダプタ(オプション)を使用するとマルチシンクモニターと1本にケーブルで接続可能
・JEGA日本語AXグラフィックアダプタを入れるとAXとしても使用可能(ATバージョンはEGAで使用可能)
・98バスマウス、AT用シリアルマウス使用可能
・プリンタは98用NEC PC-PR系、NM系、EPSON使用可能
・キーボードは 98用標準装備、101/AXキーボードオプション

という記載があった。


ファクトリ・オートメーション 9(1)(93) には「ASTリサーチ、デュアルモードPC DualStation386 SX/16の販売代理店を発表」という記事があり、スワイヤトランステック、 大倉商事、プロサイドの3社の販売代理店を通じて発売する、ということが記載されている。


インターフェース = Interface : コンピュータ・サイエンス&テクノロジ専門誌 17(1)(164) に「AST DualStation 386 SX/16のカラー広告」、「T-ZONEの販売商品にDualStation」と広告掲載が2つあったうえで「発売のお知らせ」も掲載されている


1991年5月の ASCII 15(3)(165) に3ページのカラー記事として「PC-9801とIBM PCが合体 DualStation 386SX/16」が掲載されている。

これについてはDairy of windというサイトの「昔のPC雑誌を読む 月刊アスキー91/03よりAST DualStation」という記事で3ページあるうちの最初の2ページについては転載されている。

3ページ目にはIBM DOS J4.0/Vの提供が開始されたあとであるため、DOS/V機としても使えるようになってるということも記述されていた。


1991年9月のインターフェース = Interface : コンピュータ・サイエンス&テクノロジ専門誌 17(9)(172) の「プロサイド広告」に

IBM PC/AT互換機で98ソフトを! DOS/V動作可 PC98(RS21) PC/ATダブル互換機 AST Dualstation 386SX/16 特別セール 限定20台! 早い者勝ち

という広告があったのが最後の掲載である模様


TOMCAT PC-3/X

一番謎に包まれているTOMCAT PC-3/X

どうもPROSIDE VS2やAST DualStationで使われてる技術っぽいのが、TOMCATの技術らしい

とりあえず「TOMCAT PC-3/X」で検索

飛行機のTOMCATの中に2つほどあったが、互換回路を作るための技術の方しか記事が見つからなかった・・・


1988年8月 ASCII 12(8)(134) に「トムキャット VSLチップセットを開発」という記事があった。

トムキャットコンピュータは 川崎製鉄と共同で パーソナルコンピュータ互換機用回路「VSL(仮想システム論理)回路」のLSI化を完了し、チップセット「TOMCAT」として発売した。同チップセットは、システム回路3個、ディスプレイ回路3個の合計6個のLSIで構成されており、これを使うことでPC/AT、PC-9800シリーズ、J-3100シリーズと互換性をとることが可能となる。80286/80386の4~20MHzのクロック周波数レンジでの使用が可能。サンプル価格は1セット5万円。


1988年8月 インターフェース = Interface : コンピュータ・サイエンス&テクノロジ専門誌 14(8)(135) に「パソコン互換機用チップセット

パソコン互換機用チップセット
トムキャットコンピュータは川崎製鉄と共同で開発したパソコン互換機用チップセットTOMCATを共同で販売を開始すると発表した。
これはトムキャットが開発した仮想システム論理回路を用いており、パソコンのシステム回路を構成するアドレス、I/O、割込み、DMAなどの配置をプログラマブルにしている。
これにより IBM PC/AT、PC-9801、J-3100などの各社のパソコン(80286/80386搭載のもの)と互換性のあるパソコンを製作することができる。システム回路用3個とディスプレイ用3個の計6個からなる。
【サンプル価格】5万円/セット


ここから下は次の国会図書館訪問で内容を確認するところ
とりあえず検索結果を見ただけの記述


帰ってから思いついたのだが、「トムキャットコンピュータ」で検索すれば他にもあったんだろうか?と試してみたら、いろいろでてきた・・・

1988年4月 ASCII 12(4)(130)
「内部で作っている「標準機パソコン検討委員会」で,このVSL技術を使用したマルチ互換マシンを」「的な技術提供元であるトムキャットコンピュータ(株)からもPC/3として発売されることがアナウン」という要約が見えるのでなかなか怪しいので詳細調査

ASCII EXPRESS トムキャットがPC-9800シリーズとIBM PCの両機種に互換性を持つ16/32bitマシンを開発
トムキャットコンピュータは日本電気のPC-9800シリーズと米国IBM社のPC/ATの両機種に互換性を持つ16/32bitマシン「PC/3」を開発、発表した。
PC/33は、各社のマシンのハード構造をプログラマブルにする論理回路「VSL(Virtual System Logic:仮想システムロジック)」を搭載してPC-9800やPC/ATとの互換性を実現しているほか、構造上は東芝のJ-3100シリーズや富士通のFMRシリーズ、松下、日立などのマシンとの互換性も実現可能なマルチ互換マシンとなっている。<略>
主な特徴は、(1)CPUに80286(クロック周波数10/8/5/4MHz)と80386(クロック周波数(16/8/4MHz)の2個を搭載 (2)メインメモリは1Mbyesを標準装備し、最大16MBytesまで拡張可能 <略>
「日本パーソナルコンピュータソフトウェア協会が標準パソコンとしてPC/3を認定の方向で検討」
一方 16bitマシンの統一仕様を検討している(社)日本パーソナルコンピュータソフトウェア協会は、内部で作っている「標準機パソコン検討委員会」で、このVSL技術を使用したマルチ互換マシンを標準パーソナルコンピュータとして認定する方向で検討を進めている。同協会は、BIOSなどの著作権問題がクリアになり次第、PC/3を標準パーソナルコンピュータとして認定する予定。「ハードメーカ各社にBIOSを見てもらい、シロとなればすぐにも認定したい」としている。同協会は現在、日本電気に評価を申し入れてる段階とのことで、日本電気とエプソンの互換機訴訟のようなケースが浮上した場合などに、同協会としてどう対応するのか、不透明な要素が多いだけに認定には時間がかかりそうだ。
トムキャットは、当初東京と横浜のヨドバシカメラで同機の試験販売を行う。価格は店頭小売価格で39万8000円、20MByes HDD内蔵タイプが51万2000円、40Mbyes HDD内蔵タイプが56万5000円。’88年4月出荷の予定

SHOWCASE2 PC-9801,IBM PCマルチ互換マシン トムキャットコンピュータ PC/3 プロサイド P-VS2
カラーの2ページ記事。PC9801バスモデルの正面写真と背面写真、また今後予定されているIBM PCバスモデルはタワー型での正面写真を掲載。なおSHOWCASE1は日本語AT共通仕様/AXマシン 三洋MBC-17JFだった。

昨年10月のデータショウでのプロサイドによるデモンストレーション以来、話題となっていたマルチ互換マシンがようやく姿をあらわした。
ここでいうマルチ互換マシンとは国内で圧倒的なシェアを誇る日電のPC-9801シリーズと世界的な16bitパーソナルコンピュータの標準ともいえるIBM PCの互換を同時に実現しようというものである。
昨年10月末とアナウンスされたプロサイドのP-VS2はマシンそのものの調整とともに新たにIBM用拡張ボードが使えるIBMバスのモデルの追加、AXへの対応の考慮などによって大幅に遅れていたが、今年の2月5日にプロサイドに対する全面的な技術提供元でもあるトムキャットコンピュータからもPC/3として発売されることがアナウンスされた。
したがって、プロサイドのP-VS2とトムキャットコンピュータのPC/3は基本的に同じハードウェアと考えて差し支えないが、標準で搭載するCPUなど細かい点では異なるようだ。また、発表された両機種はPC-9801バスモデルであり、AX対応版ではない。

PC/3は標準で386を搭載
トムキャットコンピュータのPC/3は国産のパーソナルコンピュータとしてはやや変則的な形で登場することとなった。同社は米コンチネンタルテレコム社などへのOEM供給をはじめとして、IBM PC互換のノウハウを販売する会社であり、今回のPC-9801/IBM PC両互換マシンも、同社の開発したVSL(仮想システムロジック)と呼ばれるアーキテクチャによって実現されるものであるという。
今回の発表は日本パーソナルソフトウェア技術研究所のソフト・チャンネル・マシン構想(注:ソフト・チャンネル・マシンとは同検討委員会ニュースによればソフトウェアの供給者および使用者の視点に立って設計されたマルチ互換マシンであるという)を受けての6か月~1年間に限った試験販売とのことである。また、発売も当面ヨドバシカメラ(東京,横浜のパソコン売り場)に限ったものである。
PC/3は、正確には PC-9801VM/VX互換とIBM PC/ATの互換を実現するものであるが<略>
当然のことながらPC-9801、IBM PC両互換を実現するための仕様となっているが、IBM PC用ソフトウェアを動作させるためには、別売りのCGAあるいはEGA/SPAボードが必要となる。また、標準のキーボードでもIBM PCキーボードのエミュレーションが可能であるが、より高い互換性を求めたい場合には、これよりも別売りのPC/ATキーボードを接続できる。
さてPC-9801とIBM PCの各モードの切り替えであるが、これは起動システムディスクのIPL部分から判断し、自動的に対応するモードで立ち上げることができる。この方式で識別できなかった場合には、起動時にファンクションキーでモードを指定できるようになっている。また、動作CPUは無変換+テンキーの7で80286、無変換+テンキーの8で80386といった操作で切り替える。
80386CPUの搭載で高速な処理が期待されるところだが、これに加えて、PC-9801ではROMルーチンとなっているような部分を高速なRAM上で実装するためグラフィックなどが高速であるという。非常に簡単なベンチマークしかできなかったがその結果を表2に示す
一方、P-VS2は32bit用オペレーティングシステムなどのソフトウェアや各種ハードウェアの販売で積極的な展開をはかるプロサイドの中心的な商品として昨年発表されたものである。PC/3とほぼ同様のハードウェアながらメーカー側の思惑は異なるものとなっている。
PC/3との相違点は80386CPUが拡張キットによるオプションとなっているところである。PC/3の各モデルに対応する3モデルの価格は表3のようになっている。

PC-9801モード
PC/3PC-9801 VS21
一太郎の画面スクロール16″9712″10
IBM PCモード
PC/3IBM PC/AT
TURBO Cコンパイル1’38″112’01″98
一太郎のスクロールについてはスクロールコントローラのクロックに依存した結果(VXが10MHzに対して、PC/3は8MHz)のようである。演算処理の比重が大きくなるにしたがって、パフォーマンスは向上するだろう。

「互換性、著作権問題など」
互換マシンというからには互換性がどのレベルまで実現されているかが重要な問題となる。PC/3の発表会ではトムキャットコンピュータで行った互換度テストの結果が公表された。
これによるとPC-9801シリーズ用ソフトウェアではゲームには支障のあるものがいくつか見受けられる。ビジネスソフトでは全体としてはかなりの互換性を実現しているものの、Lotus 1-2-3 Ver.2Jで松茸の使用ができない、花子でファイルの操作不良など、気になる点も残っているようだ。一方 IBM PC用ソフトウェアではMS-WINDOWSが動作しない点を除くと、ほぼ完全なご感度を実現しているようである。同社ではこれらの問題点は順次解消するよう努力を続けているという。
またBIOSなどの著作権についてはそれに抵触するものはないとしながらも、日電に対しては評価の申し入れを行っており、その経過については現在コメントできないとしている。
PC-9801、IBM PCのマルチ互換マシンは最初にも述べた経緯から、仕様や出荷時期が流動的となっていたが、発売後の動きが注目されるところである。

THE COMPUTER(月刊 ザ・コンピュータ) 1988年4月号広告
「田原総一朗のコンピュータルポ 規格の壁を破れるか”標準”構想パソコンを語る プロサイド社長 椎名XX」という記事がある模様
「ヒット商品開発ストーリー 日本語フロントエンドプロセッサ、バックス”VJE”物語」も気になる

1988年7月 Newton = ニュートン : graphic science magazine 8(8)
NEW TECHNOLOGY 次世代パソコンの行方を占うかぎはこれだ」という特集内で「COMPATIBLE MACHINE マルチ互換機の登場が日本のパソコン事情をかえるか。」というコーナー
どんなソフトウェアでも自由に使える能力を秘めたパソコンが登場した。トムキャットコンピュータ社が開発したマルチ互換機PC/3である。<略>
そこでトムキャットコンピュータはことなるOSをもとにしたソフトウェアを1台のパソコンで使えるシステムを開発した。これを利用してつくられたPC/3はIBM PCと日本電気のPC-9801シリーズの両方のソフトウェアを使うことができる。
PC/3はプロサイド社からOEM(相手先ブランド製品)方式で生産されている。その際どのOSをいくつもたせるかはOEM先の企業の判断にまかされる。今年の秋以降にはさまざまなOSに対応できるパソコンが何種類も登場することになるだろう。
<以降AXパソコンについて>

1989年2月 ASCII 13(2)(140)
「洋MBC-17JF·トムキャットコンピュータPC/3·ソニーPDD-150·プロサイドP-VS2·スーパータブロ」という要約内容からすると、プロサイドの広告っぽい雰囲気が・・・
→1988年1月~12月号でとりあつかった記事一覧だった
 1988年4月 204ページ トムキャットコンピュータPC/3, プロサイドP-VS2

1990年6月 インターフェース = Interface : コンピュータ・サイエンス&テクノロジ専門誌 16(6)(157)
「X」を,BIOSにはトムキャット·コンピュータ製の「TOMCATBIOS」を採用. OEM で拡販をはかる.(各」という要約が気になる・・・

1998年7月 ASCII 22(7)(253)
特集 目で読む強者マシンの20年 国産銘機(グレートPC)列伝 第3回 スタンダードの確立 1982-1988年」で
「MZ-2861(シャープ) ’87」
ワープロの”書院”互換をうたいながらエミュレーションでPC-9801シリーズのソフトが動いた「隠れ98互換」パソコン。ただし動作するソフトの数は限られ、メーカーの動作保証もなかった。
「TRON試作機(松下) ’87」
’84年、東大の坂村健氏を中心に次世代の標準コンピュータ・標準OSの開発を目的とした産学共同プロジェクト、TRONがスタート。そのOSはマルチタスク、マルチウィンドウ、実身/仮身によるハイパーテキスト構造などを盛り込んだ意欲的なものだったが、市場に普及しないまま現在にいたる。写真は松下電器が’87年に発表したBTRONの試作機。キーボードはもちろんTRONキーボード。
「PC-286(エプソン) ’87」
エプソンによる初のNEC98互換マシン。この年の3月、エプソンはPC-9801互換のPC-286(モデル1~4)を発表。翌月NECから著作権侵害の告訴を受けて発売を中止。その直後にBIOSを差し替えた新互換機PC-286(モデル0)を発売した。<略>PC-9801Vシリーズとの互換性、高速性が話題となる。ここからNECとEPSONの98互換機シェア争いがはじまった。
「PC/3(トムキャットコンピュータ) ’87」
“世界標準”のAT互換機、”日本標準”のPC-9801、両機種との互換を実現したマルチ互換機。CPUに80286(PC-9801互換用)と80386(AT互換用)を搭載。RAM1MB。起動時にシステムディスクのIPLを読んでPC-9801モードとIBM-PCモードを自動判別する。(IBM-PC用ソフトを使うには別売りのCGA/EGAボードが必要)。49万8000円。同時期にほぼ同じ仕様のP-VS2(プロサイド)も発売されている。


2023/09/12追加

1991年2月 インターフェース 17(2)(165)
AST DualStation 386SX/16 の見開き広告

1991年3月 インターフェース 17(3)(166)
AST DualStation 386SX/16の1ページ広告 書いてある内容はほぼ同じ

1991年4月 インターフェース 17(4)(167)
AST DualStation 386SX/16の1ページ広告 前号と同じ

1991年8月 インターフェース 17(8)(171)
プロサイド広告 AST DualStation 386SX/16 特別セール限定20台

1991年3月 ASCII 15(3))(165)
SHOWCASE5 PC-9801とIBM PCが合体 DualSation 386SX/16 という3ページ記事

1991年2月 ASAHIパソコン
プロサイドの広告 日米の豊富なソフトウェアアプリケーションプログラムが使えるAST DualStation 386SX/16 NEC/AT Dual互換機にAX機能をつけると全日本互換機チャンピオン

1991年3月 ASAHIパソコン
プロサイドの広告 日米の豊富なソフトウェアアプリケーションプログラムが使えるAST DualStation 386SX/16 NEC/AT Dual互換機にAX機能をつけると全日本互換機チャンピオン!!

1991年4月 ASCII 15(4)(166)
大倉商事によりAST COMPUTERSの広告
「国際ブランド米国AST社が誇る新製品」として「AST Premium 486/33 超高速ハイパフォーマンスマシーン」と「AST DualStation 386SX/16 PC-9801とIBM PC/AT両互換マシーン」のカラー広告

1987年5月 インターフェース 13(5)120
ニュースダイジェスト 時代転換をねらうパソコンの新機種 PC-98コンパチ機エプソン、シャープが販売へ
セイコーエプソンは日電のPC-9800互換機となる「PC286シリーズ」を4月中に発売すると3月13日に発表した。日電からは「BIOSおよびROM Basicにおいて知的所有権に抵触する」とクレームをつけられていたが、問題点を見直し、場合によってはBIOSを別のものに差し替えることをほのめかしながらも発表に踏み切った。これに対し日電は「法的手段も辞さない」としている。このため実際的な発売日は5月以降にズレ込む可能性もあるという。一方シャープは4月2日MZ-2861を発表したが、これも実質的にはPC-9800互換機である。シャープは「BIOSについては独自開発したもので、正確にいえば互換機ではないが、シャープ用のこれまでのソフトが使えるうえ、異機種接続機能も組み入れているので日電用ソフトも動くようになった」と述べている。

1986年5月 エレクトロニクスライフ 645
Xonコーナー パソコン通信情報 Part II」というコーナーでトムキャット互換機について言及
(パソコン通信PC-VANの話に続いて) NECのパソコン通信ならやっぱりPC-9800シリーズでなくては・・・と思っておられる方に耳寄りな情報をひとつ披露しましょう。
ベンチャー企業のトムキャットコンピュータがPC-9801完全互換機のボードを4月に、本体を今秋に発売するようです。
価格は純正品より2割くらい安くなるとみられていますから、そのつもりのひとはしばらく様子をみたほうがよいかもしれません。

1986年9月 テレコミュニケーション 3(10)(25)
現場のほんねが聴こえる 市場情報」コーナー内に「ついに登場! 日本電気PC-9801シリーズのコンパチマシン、今秋いよいよ登場か!?
かねてから噂の高かった「PC-9801シリーズ」のコンパチブルマシンが早ければ9月末にも登場の模様。開発を進めているのはシステムハウスの「トムキャットコンピュータ」だが開発段階では一切ノーコメントとこれまでマスコミに対しては固く口を閉ざしてきた。コンパチマシンである以上、価格は「PC-9801シリーズ」より低価格(ちなみにIBMのコンパチマシンは約半値で流れている)になることは間違いないが、その全貌も9月下旬にはすべてはっきりする。ソフトウェアの総資産2万本以上を数えるまさに「日本のPC」”キューハチ”だが、いよいよ登場するクローンマシンの出現でこれからどういう展開が始まるのか?現在、コンパチマシン開発を手掛けているのは「トムキャットコンピュータ」以外にも数社動いているといわれているだけに今後のなりゆきが、興味津々といったところである。

1987年11月 Bit : コンピュータサイエンス誌 19(12)(250)
bitレーダー」の「PC/ATとPC9800両機種に互換性 – プロサイド
パソコンシステム会社のプロサイドは世界の標準規格となっているIBM PC/ATと日本の事実上の標準規格となっている日本電気でPC9800シリーズのいずれとも互換性を実現した「P-VS2」を発表、販売を始めた。
両互換機「P-VS2」のアーキテクチャやBIOSなどはソフト会社のトムキャットコンピュータが開発した。VS2のVSL(バーチャル・システム・ロジック)と呼ぶトムキャットアーキテクチャは1つのパソコンの中にあたかも複数のパソコンが動いているかのように機能する。PC/AT用の英文ソフトやPC9800用の日本語ソフトを自動的に識別するため、ユーザはどのソフトかを気にせず使用できる。プロサイドは日本語AT「AX」も搭載していく方針。2台のフロッピーディスク駆動装置を内蔵した価格は39万8000円。16ビット80286を標準搭載しているが14マン8千円の32ビット80386をソケットで差し込むことで32ビットパソコンにできる(日経産業 9.16)

1987年12月 電子工業月報 29(12)(302)
10月3日日本経済)トムキャットコンピュータはボードを日本電気製のPC9800, IBMのPC/AT, 日本IBMの5550シリーズと互換性があるトリプル互換機のアーキテクチャを開発する。 (10月5日 日経産業)“という記述

1988年4月 コンピュートピア 22(259)
パソコントピック ベールを脱いだ パソコン標準機」という記事で「1988年2月に 標準機パソコン検討委員会 で第1次案仕様を実装したものとして トムキャットの PC/3X を公開している。ヨドバシカメラ専売になっている、という記載あり

1989年1月 Asahiパソコン : AP (5)(5)
ニュースの「ハードウェア」コーナーに「98とPC/ATのマルチ互換機 精工舎 (名称、価格など未定)
精工舎はNECのPC-9800シリーズとIBM PC/ATのどちらにも互換性がある、マルチ互換のパーソナルコンピュータの開発に成功した。早くからPC/AT互換機を開発し、マルチ互換を実現するアーキテクチャ「VSL」を提唱するトムキャットコンピュータ社との技術提携により完成したもの。発売は89年春予定。名称、価格などは未定。
マルチ互換のメリットは、約6万本ともいわれているIBM PC/ATのソフトウェア資産に加えて、日本のパソコンで最もソフトウェアの流通量が多いPC-9800シリーズのソフトも使用できる点。OSは日本語および英語MS-DOS、本体には日本語用ROM BASICが搭載され、高い互換性が実現されている。
これまで9800シリーズとPC/ATシリーズで蓄積されたデータなどが有効に活用できる。
<本体写真>
ハードウェアの拡張に関しては、拡張スロットをPC/ATバス準拠とし、世界で最も多く普及している豊富なハードウェア資源を利用できるという。また、1MB標準装備のメモリーもEMS対応などでEMS対応のMS-DOSソフトウェアも使用可能。マウス、プリンタなどのインタフェースは基本的に9800シリーズ用になっていて、PC-9801用のバスマウスやプリンタをそのまま使える。
補助記憶装置としてPC/ATと9800両方に対応できるFDDを2台搭載したほか、40/100MBの大容量HDDを内蔵できる。HDDを内蔵したタイプも発売する予定。

1989年5月 Asahiパソコン : AP (13)(13)
ニュース」の「マルチ互換機の発売延期 精工舎
本誌5号(1/1・15合併号)のハードウェア欄で紹介した日本電気のPC-9800シリーズとIBMのPC/AT機の両方に互換性のある「マルチ互換機」は、当初精工舎から今春発売の予定だったが、同社はこのほど発売を無期延期することを決めた。同社広報部では、無期延期の理由について「まだ、あいまいな部分が多いので会社として正式なコメントを発表できない」といっている。同社の販売部の話によると技術的にはパソコン自体のハードウェアは完成し、ソフトウェアのチェックの段階まで進んでいる。しかし、実際に製造、販売する場合のいくつかの問題点が解決されていないので事業化の決定にまで至っていない、と弁明している。
このマルチ互換パソコンは、精工舎がトムキャットコンピュータ社との技術提携で開発したもの。互換性を実現するアーキテクチャ「VSL」を開発したトムキャットコンピュータの佐々木明社長によると、同社とライセンス契約を結んだのは精工舎以外にも複数のメーカーがあり、開発されたマルチ互換機は精工舎以外のメーカーから発売される予定で、早ければ6月にも第1号機がお目見えする。
「メーカーによっては、PC-9800シリーズとPC/AT機だけではなく、AXパソコンにも互換性があるパソコンとして製品化する可能性もありそう」と佐々木社長はいっている。

1989年10月 NEW教育とマイコン 5(10)(42);1989・10
ニュースレーダー」の「計画だおれか!?マルチ互換機
共同規格パソコンの普及計画がここにきて足踏みしている。
BTRONはいまだに商品化されないし、10社以上が商品化したAXパソコンも売れ行きはいまいちというところだ。
日本パーソナルコンピュータソフトウェア協会が昨年12月に提唱したマルチ互換機「ソフト・チャネル・マシン」はトムキャットコンピューターが開発した可変BIOS(内部基本ソフト)方式により1台で日本電気PC-9801、米IBM製PC/ATの2つを基本に複数のパソコンとのソフト互換を実現しようという試みだった。しかし、第1号ライセンス先として注目された精工舎が「採算面で誤算があった」と企業化を断念。マルチ互換機の計画は開店休業状態らしいという声もきこえてくる。
パソコン標準機の登場は待たれるところだが、進展はなかなか難しそうだ。

1990年6月 事務と経営 42(528)
パソコントピック 互換機登場のタイミング」という記事で
ASTリサーチの98互換機「PC-DUAL・SX/16」が発表
4月10日付けのウォールストリートジャーナルが伝え、4月11日に日本で発表会
発表会には米国大使館の商務参事官が同席しており、商務長官のコメントが読み上げられるなど政治色が強かった

1990年6月 コンピュートピア 24(285)
ASTリサーチ PC-98/AT互換パソコンを発表 OEMリレーションショップを主体に販売
この記事では「PC-DUAL SX/16」という名称になっていて「川崎製鉄のチップセットとトムキャットコンピュータ製BIOSを採用し、互換機のノウハウを持つASTリサーチがi80386ベースの高機能マシンとして設計・開発したもの」と書かれている

1990年10月 ファクトリ・オートメーション 8(12)(90)
ニュース」に「デュアル互換パーソナルコンピュータPC-DUAL SX/16を発表 – PC-9801/AT デュアル互換 – / ASTリサーチジャパン」という1ページ記事
PC/AT互換パーソナルコンピュータのリーディング企業ASTリサーチ(本社カリフォルニア)の日本法人エー・エス・ティー・リサーチ・ジャパンはこのたび世界初のデュアル互換パーソナルコンピュータAST PC-DUAL SX/16を発表した。AST PC-DUAL SX/16は、ASTリサーチが日本市場向けに日米共同開発した、PC-9801/ATデュアル互換機である。
<略>
今回発表のAST PC-DUAL SX/16はCPUにIntel社のi80386 SX/16MHzを採用した32ビットパーソナルコンピュータである。メモリは最大16MBまで増設可能、また8つのISAバスを備える拡張性に富んだシステム<略>
PC-DUAL SX/16は川崎製鉄社製チップセットとトムキャットコンピュータ製VIOSを採用し、互換機のリーディング企業ASTリサーチがi80386SXベースの高機能機として設計したもの。
同社は戦略的なOEMリレーションシップを主体にPC-DUAL SX/16の販売を展開していく予定である。
<略>

1992年7月 コンピュートピア 26(310)
IBM-PCと互換機普及に強力な味方登場
4月末、トムキャットコンピュータ株式会社はIBM-PCおよびその互換機上でPC-9801用のソフトウェアを動作させる仮想PC-9801システム「Virtual-98」を開発、5月下旬より出荷を開始すると発表した。
<略>
トムキャットコンピュータといえば、パソコンのシステム開発を得意とするベンチャー企業で、とくに互換機ビジネスに力を注いでいるメーカーだ。84年にPC/AT互換機を開発したのをはじめ、85年には80286を使用したPC-9801互換機を開発し、エプソンをはじめとする互換機メーカーに対して技術供与するなど技術面での評価は高い。
しかし、わが国のパソコン市場では互換機ビジネスが成立しづらいようだ。これまでにも国内の巨人PC-9801の市場に向けて数社から互換機が発表されているが、実際に市場に出荷されなかったり、出荷されてもごく限られた一部の市場に出荷されただけで市場から撤退したものも少なくない。
88年にはトムキャットコンピュータも「PC-3」という名前のPC-9801互換機を発表しているが、市場に出荷されるまでには至らなかった。
唯一、一般ユーザー向けの市場に出荷され、現在ではその存在を無視できないほどのシェアを占めるエプソンも、当初は日本電気との著作権紛争を繰り広げたことは記憶に新しい。
エプソンと日本電気との著作権紛争は最終的には和解という形で決着を見せたが、その後日電はMS-DOSなど一連のソフトにプロテクトをかけ、互換機対策を講じているのは言うまでもない。
「Virtual-98」はトムキャットにとって二度目の勝負といえるわけだが、今回の戦略は世界標準機でもあるPC/ATをベースにボードとソフトの処理のみでPC-9801互換機を実現した点が注目されるところ。
ただ、次世代の主流を目指すDOS/Vも動き、既存のPC-9801ソフトも動くマルチ互換を実現できる一方で、ハードウェアによる互換機と異なり、完全な互換性を保持することは難しい。
前述したように、同社の説明では高い互換性を維持しているというが、PC-9801の拡張スロットに差し込むボードとの組み合わせで活用するアプリケーションソフトは利用できないことは当然。
また独自OSを使用するゲームソフトやハードウェアに依存したコピープロテクトを施したアプリケーションソフトなどが動かない可能性は高いだろう。
PC-9801からDOS/Vへの架け橋になるか、中途半端なマルチ互換機に終わるのか、次世代パソコン市場を占う格好の素材として注目したい。


「ソフト・チャンネル・マシン」で検索した結果

1988年4月 Trigger 7(5)(71)
情報パック<コンピュータ・ソフトウェア> 昭和63年1月~63年2月
2月5日 日本パーソナルコンピュータソフトウェア協会は、パソ協が提唱するマルチ互換パソコン「ソフトチャンネルマシン」の第1号をトムキャットコンピュータが近く発売する、と発表
日本のパソコン10年史」の1988年のところに「日本パーソナルコンピュータソフトウェア協会による標準機パソコン”ソフトチャンネルマシン”構想が発表される。第1号機はトムキャットコンピュータ PC/3・X」

1988年5月 ASCII 12(5)(131)
THE COMPUTER 1988年5月号広告」(カラー)
特集 新社会人、ビギナーに贈るパソコン入門指南「これが日本のパソコンだ」に
・PC-9801とその互換機
・AXとそのグループマシン
・パソ協のソフトチャンネルマシン構想
・独自路線を歩むハードメーカーたち
・ラップトップとパソコンの省スペース化動向
・サバイバル時代を迎えた8ビットパソコン
・TRONプロジェクトの現状
・・・・すべての規格のジャパニーズパソコンの勢力図をわかりやすく解説します。

1988年5月 インターフェース = Interface : コンピュータ・サイエンス&テクノロジ専門誌 14(5)(132)
THE COMPUTER 1988年5月号広告」(モノクロ)内容はカラー版と同じ

1988年7月 Computer today 5(4)(26)
鹿野谷武文 による ソフト・チャンネル・マシン登場の背景
なぜ作ろうかと思ったのか、ということが語られている。

この「鹿野谷武文」でGoogle検索したところ2007年の「激化する覇権争い――「夢のパソコン」の行方は」がでてきた。”推進役だったパソ協の鹿野谷武文氏”と書かれていた。この記事は”月刊サーバセレクト2006年2月号”の再編集とのこと

1989年1月 インターフェース = Interface : コンピュータ・サイエンス&テクノロジ専門誌 15(1)(140)
ニュースの背景 精工舎がトムキャット 98/AT互換機を製品化 への波紋
「意外」といっていい組み合わせだった。トムキャットコンピュータが開発していたPC-9801とIBM PC/ATのマルチ互換機を服部セイコーグループのクロック時計、電子機器メーカ精工舎が製品化したというニュースのことである。開発だけの発表ということもあり、各紙の扱いはいずれも小さかったが、今後に向けての新たな互換機展開を占うという意味から注目しておく必要がある。まずは発表内容を見てみよう。
核となる技術はトムキャットが2年ほど前から開発している「VSL(Virtual System Logic)」と呼ばれるマルチ互換手法。基本回路は8個のLSIチップセットで構成あれ、半導体ビジネスへの進出を図る川崎製鉄がトムキャットに製造委託したものを精工舎が購入する。著作権や互換度の点からもっとも注目されるBIOSもトムキャットが開発したもので、精工舎はライセンスを受けるという形をとる。同じグループのセイコーエプソンが98互換機「PC-286」を商品化しているが、これとはまったくの別物だ。
CPUはインテルの80386SX(16MHz)で、拡張スロットはATの16ビットバス4本、8ビットバス2本の構成。98用スロットを付加することは技術的に可能だが、EISAなどATバスをベースにした標準づくりの動きもあるため、将来を考えてATバスのみにしたという。<略>ROMにはBIOSと日電互換Basicの両方を含み、互換度は8割程度だという。
販売は精工舎にルートがないため当面OEM供給一本とし、今春の量産開始を目指す。なお、一部雑誌に日本パーソナルコンピュータソフトウェア技術研究所がこの製品を販売するという記事がのったが、精工舎は実質上販売力がないパソ技研への供給を前提に開発したわけではなく、接触もしていない。現在は独自に複数のメーカ、商社などとOEM商談を進めているが、現時点ではまだ契約に至っていない。

販売を担当する企業が現れるかどうかは精工舎がどの程度の価格を設定できるかにかかっている。互換機は純正機より安くなければ売れないというのは常識だが、今回の製品は回路的に複雑になることに加え、精工舎の場合、部品の多くは外部から調達しなければならず、低価格化は難しいとの見方もある。
<略>
互換機の開発となればやはり注目されるのは互換BIOS, Basicなどのクリーン度。エプソンが98互換機のPC-286を出した際、日本電気にBIOSが著作権侵害だとして訴訟されたのはまだ記憶に新しい。この後、エプソンは日電と和解しているが、今回のBIOSなどは基本的にトムキャットの開発によるもので、新たな著作権問題が起きる可能性は捨てきれない。今回の製品はトムキャットがいわゆる”クリーンルーム方式”で開発したというが、エプソンと日電が「シロ」「クロ」と真っ向から対立したように、どこまでの類似が許されるかというガイドラインがないのが現状だ。
トムキャットは’88年に新宿のヨドバシカメラで今回の製品の原型機を約400台販売してきたが、これに対して日電は訴訟などの動きを起こさず”沈黙”している。ただし、法的には、任意の時点で提訴することは可能で、400台を実売したことで保険がかかっているわけではない。
販売網が未定など、精工舎のビジネスの先行きを占うのは尚早かもしれないが、注目されるのはほかにも3社程度あるといわれるトムキャットのライセンシーの動向である。もっとも重要なのは互換BIOSの安定性とマルチ互換機に対する市場の反応だが、これをじっくり見極めてから参入すると考える企業があっても不思議ではない。とくに気になるのは従来からトムキャットのマルチ互換機を「ソフト・チャンネル・マシン」として支援してきたパソ協とパソ技研の動きだ。パソ技研によると早い時期にマルチ互換機を製品化しようという別の企業があり、この記事がでるころには発表されている可能性もある。
だが、ソフトハウス側が移植の手間がかからない互換機を応援するのは理解できるが、これまでの展開をみるかぎり主導権を握ろうとするなど、動きがやや強引な感もある。今回も精工舎側はパソ技研のヒモつきとみられることを嫌って同社に抗議している。マルチ互換機をめぐる動きはまだまだ一波乱ありそうだ。


つづいて「鹿野谷武文 互換」で国会図書館検索

1987年10月 機械振興 20(10)(233)
事例紹介 パッケージソフトウェア流通拡大の条件(2)」という7ページの記事で、ハードウェアとOSおよび互換性に関して述べられている。で、最後のページで「NECのPC-9801シリーズ, IBM PC/ATの互換機を策定していく」といったことが書かれている

ちなみに 事例紹介 パッケージソフトウェア流通拡大の条件(1) はどちらかというとオフィスコンピュータ向けの話だった

1987年12月 週刊宝石 7(46)(298);1987・12・11
ビジネスマン最先端講座277 標準化と生き残りへの道 ニューメディア界 互換と規格の覇権戦争!」という6ページ特集で”PC-9801話”,”トロン話”,”テレビ電話の互換性”,”ハイビジョン”を扱う
「パソコンのガリバーNECの新しい敵は互換機メーカー」というタイトル
<略>どうせ互換機を出すなら日電とIBMの両方のソフトが使えるものをと「ダブル互換機」を発売したのがプロサイド社。社長は前ソード社長の椎名氏。「われわれはこれを兆互換機と呼びたい」を気炎を上げる。<略>
だが、互換機にはどうしても、知的所有権、著作権の問題が絡む。現にエプソンと日電は基本ソフトの著作権をめぐる法廷闘争を展開中なのだ。
「ソフト著作権の最大の焦点となっているのがパソコンの基本ソフトBIOSなんです。これが互換性を保つという性格上、独自開発してもどうしても似てしまう。エプソンの場合、日電にOEMでパソコンを供給していた。つまりノウハウがあるんですが、それを生かして作ったら模倣になってしまうから、絶対に日電のBIOSを見ないように隔離する”クリーンルーム方式”で作ったはずです。ただ、模倣ではないということをどう証明するかが難しいんです」
だが、ここにきて、日電の態度に少し変化がみられる。
去る9月1日「互換機問題を考える」シンポジウムで日電の高橋 パソコン販売推進本部本部長は次のような趣旨の発言をした。
「日電は互換機にいやがらせをしていると取られがちだが、OSの保護問題は、日電がハードとOSに責任を持つための手段。互換機メーカーはOS供給など環境を整備すべきだ」
つまり条件次第では互換機を認めるとの発言だったのだ。この背景には業界あげての日電包囲作戦が影響を与えているという。

1987年11月 コンピュートピア 21(254)
PC-98とATを軸に互換機競争激化 データショウで早くも火花、来年には市場形成か」として、EPSON、シャープ、プロサイドのPC-9801互換機が出たこと、またAX仕様のパソコンが各社から出てくるので日本語ATビジネスが成立するかも?という記載

1987年10月 機械振興 20(10)(233)
事例紹介 パッケージソフトウェア流通拡大の条件(2)」という7ページの記事で、ハードウェアとOSおよび互換性に関して述べられている。で、最後のページで「NECのPC-9801シリーズ, IBM PC/ATの互換機を策定していく」といったことが書かれている

ちなみに 事例紹介 パッケージソフトウェア流通拡大の条件(1) はどちらかというとオフィスコンピュータ向けの話だった

1987年12月 週刊宝石 7(46)(298);1987・12・11
エプソン、プロサイドの互換機に関する記事 2ページ?

1987年11月 コンピュートピア 21(254)
PC-98とATを軸に互換機競争激化 データショウで早くも火花、来年には市場形成か」として、EPSON、シャープ、プロサイドのPC-9801互換機が出たこと、またAX仕様のパソコンが各社から出てくるので日本語ATビジネスが成立するかも?という記載


「プロサイド VS2」で検索

1987年7月 情報科学 23(4)(195)
プロサイド設立披露パーティー 東芝、ソードの支援で設立とある

1987年10月 週刊読売 = The Yomiuri weekly 46(44)(2033);1987・10・18
再びベンチャービジネスに挑む 椎名氏(ソード前社長)の起業家魂と執念」という3ページ記事でプロサイド設立に関しての意気込みや、P-VS2について言及している
「これを開発したソフト会社”トムキャット”の佐々木さんはまさに天才ですよ」

1987年12月 Trigger 6(13)(65)
焦点 終盤に近付いたパソコン業界今年最大の話題を振り返ると PC98互換機論争
エプソンPC-286の話を展開したあと
PC98包囲網はその後も続いている。シャープのMZ-2861はエミュレーションという方法で98のソフトを動かしていることはよく知られているが、最近プロサイドもPC/ATとPC98のデュアル互換機VS2を出してきた。
また、直接PC98に対抗するというのではないが、マイクロソフトなどが提唱している日本語機能をもったPC/AT互換機のAX。松下富士通の互換機連合軍。そして教育市場での具体的な動きの出てきたTRONなど日電からみれば脅威の対象は増える一方だ。
日電はBIOSを公開はしていない。しかし、どうしてもPC98互換機はけしからん、というのは通じなくなってきたのではないだろうか。<略>

1987年12月 インターフェース = Interface : コンピュータ・サイエンス&テクノロジ専門誌 13(12)(127)
大阪堺市百舌鳥にあるアビオニクスコンピュータの広告
「IBM PC/AT互換 日本語対応AX機新発売」として「サンヨー社製AX対応機 MBC-17J 32万円/2FDD 12月発売予定」「プロサイド社製IBM-AT/NEC PC-9801両互換機 VS2 39万8千円 11月発売開始」

1987年12月 週刊宝石 7(46)(298);1987・12・11
換機」を発売したのがプロサイド社。社長は前ソード社長の椎名堯氏。「われわれは、これを超互 (すでに調査済み)

1987年12月 コンピュートピア 21(255)
互換機の登場」の記事内で、エプソンのBASIC-ROM訴訟→互換ROM搭載、シャープはPCエミュレーションモード、プロサイドがVS2発売、という話題

1987年12月 実業の日本 90(23)(2136)
日電に挑む98クローンとAX陣19社 パソコンの覇者 PC98を追撃せよ!」という4ページ記事
プロサイドがP-VS2を送り出した、という言及もあるが全体としてはAX陣営の話

1988年1月 ASCII 12(1)(127)
11月号の感想コーナーで「286マシンの中にどうしてPC-286Uが入っているのですか。エプソンとプロサイドの機種でPC互換機という章を構成したほうがよかったと思います

1988年1月 コンピュートピア 22(256)
乱戦!コンパチビジネス 低価格と高性能化を実現するコンパチ機はどこまでシェアを確保できる」で下記の様な互換機がある、と述べている
IBM PC/ATに対して「日本語AT規格(のちのAX)」「独自日本語AT規格(東芝,日本DG,YHPなど)」「AT互換機」
日本電気 PC-9801に対して「PC-98互換機(プロサイド・トムキャットなど)」「PC-98互換機 (エプソン)」「PC-98エミュレート(シャープ)」
富士通FM/Rに対して「FMR互換機(松下電器)」
TRON規格

1988年2月 ASCII 12(2)(128)
月刊アスキー87年1月~12月号までの目次
1987年8月号 120ページに「プロサイドが98/PCの両モードを持つ互換機を発表か 」という記事がある

1987年8月 ASCII 11(8)(122)
プロサイドが98/PCの両モードを持つ互換機を発表か
ソードの創業者椎名氏が6月に設立したプロサイドは、PC-9800とIBM PC/ATの両マシンの互換モードを持つ80386マシンを9月にも発表する予定だ。同社は80286 CPUを搭載したIBM PC/AT互換機を香港で生産、すでに日本に輸入しており、計画中のPC-9800/PC互換機の80386マシンは同社のパソコン第2弾にあたり。ただし、PC-9800互換モードについては、セイコーエプソンと日電が係争中のため、その動向によっては、当初PC-9800互換モードを切り離して販売することも考えられる。スペックの詳細や価格は不明。

1987年11月 事務と経営 39(494)
ニュース解説「転換したか?日電のPC互換機排除戦略」

1987年12月 NEW教育とマイコン 3(10)(20);1987・12
スペシャル企画インサイドレポート ’88年は教育パソコン元年になる」という6ページ記事内の「98コンパチ」で互換動向
だれもが感じているのはPC-9801は高いということでろう。フルセット100万円近いというのに<略>
日本ではけっして安くないコンパチだけに何かほかのメリットがなければ売れないだろう。そこで、プロサイドからはPC-9801コンパチ+IBM-PC/ATコンパチ+(TRON)といったものが、エプソンからはラップトップ型のPC-9801コンパチといった特色を持ったマシンが現れる。<略>

1986年3月 Bit : コンピュータサイエンス誌 18(3)(228)
bitレーダー 日電PC9801の互換機 – トムキャット
高級パソコン市場で圧倒的なシェアをもつ日本電気のPC9801の互換機が今年秋にも登場する。ベンチャー企業のトムキャットコンピュータが大手電気メーカ数社から委託を受けて開発しており、すでに試作機の製作に入っている。委託しているメーカは日電の販売価格より15~20%安く売りだすことになりそう。また、トムキャットは1月からIBMのパソコンPC-ATの互換機にカナ対応の機能を加えたものを国内で売り出すのに続き、このパソコンをPC9801の互換機としても使えるようにするエミュレータを4月ごろに別売りで売り出す (朝日 1.4)

1986年9月 テレコミュニケーシ ョン 3(10)(25)
はシステムハウスの「トムキャットコンピュータ」だが,開発段階では一切ノーコメントとこれまでマ” (ちょうさずみ)

1986年10月 Bit : コンピュータサイエンス誌 18(11)(236)
bitレーダー マルチ互換パソコン発売 – トムキャット
メーカごとにまちまちに開発された複数のアプリケーションソフトがそのまま利用できるパソコンをベンチャー企業のトムキャットコンピュータが開発、10月から売り出す。トムキャットが開発した「VXシリーズ」は独自開発のOSなどの動きによって1つのパソコンの中に「9800」や「PC/AT」などの仮想マシンを設定、日電やIBM、シャープ、キヤノンなど5社の応用ソフトがほぼすべて使えるようにしたもの。同社では「9800」より5~10%安い価格で売り出し、当面は月産2千台の予定。10月に発売するのは異機種用のソフトがそれぞれ別個に動くもので、来春には複数の異機種用ソフトが同時に動く製品も出し、輸出も始める。また現在2社にOEM供給をし、4社がライセンス生産の自社ブランドで売り出すことになっている。(朝日8 8.27)

1988年4月 近代中小企業 23(5)(302)
動き始めた トロン計画 にみるパソコンの規格統一の行方」という記事内
日本における規格統一構想の中心にあるのは坂村健東大助教授が提唱したトロン計画だ。
という記述から始まって
着々と計画が進んではいるが、トロン構想についてはさまざまな見方がある。代表的なものは、主としてアメリカで開発され、現在普及しているパソコンとトロン仕様とは根本的な断絶があり、すぐさまトロン仕様を受け入れるのは難しいという見方だ。
日本パソコンソフトウェア協会などでは現在のソフトからトロンなど将来のソフトまで幅広く対応出来る「標準機パソコン」をつくることにより、ハードの表儒家を促したほうが現実的とみている。
これをもとに、すでにトムキャットコンピュータ社は、日本電気とIBMのパソコンに互換性がある試作機第一号を完成させている。

1988年6月 ASCII 12(6)(132)
ASCII EXPRESS トムキャット, PC/3に仮想V30モードを搭載
トムキャットコンピュータはPC-9800シリーズおよびPC/ATと互換性を持つ32bitパーソナルコンピュータ「PC/3」をバージョンアップ、仮想V30モードを搭載した。PC-9800シリーズが搭載しているCPUであるV30独自の13種類の命令を使用したアプリケーションソフトは80286/80386上では動作しない。このため、PC/3の基本アーキテクチャであるVSLにV30の命令があるとこれを80386/80286上でエミュレートする「仮想V30モード機能」を搭載して、V30用アプリケーションソフトの動作を80386/80286上で可能にした。また同時にCPUを80286のみを搭載したモデル「PC/2」を発売した。価格は39万8000円

1988年11月 証券調査 (218)
会社研究 川崎製鉄」の「LSIを軸にエレクトロニクス展開」にて
“トムキャットコンピュータと16ビットパソコン用ICチップセットの共同開発も手がける”という言及

1989年1月 ASCII 13(1)(139)
ASCII EXPRESS 精工舎がPC-9800とPC/AT互換のパーソナルコンピュータを開発
精工舎は日本電気のPC-9800シリーズおよびIBM PC/ATと互換性のあるパーソナルコンピュータを開発、’89年春にも発売を開始する。
同マシンはトムキャットコンピュータが開発したVSL(バーチャル・システム・ロジック)を採用したマシンで、複数のコンピュータとの互換が可能となっている。VSLを基本とした8個のLSIを新規に開発搭載している。
主な特徴は(1)CPUにクロック周波数16MHzの80386SXを搭載し、オプションで数値演算コプロセッサ80387SXを搭載可能 (2)メインメモリは1Mbytesを標準装備し、最大16Mbytesまで拡張可能 (3)外部記憶装置として5インチFDD2台を装備し、40/100MbytesのHDDの内蔵が可能 (4)拡張スロットは PC/ATバス準拠の16bitバス4スロットと8bitバス2スロットを装備 (5)グラフィックスはPC-9800モードで解像度640×400ドット 16色表示が、PC/ATモードで320×200どっちのモノクロ表示が可能 (6)インターフェイスはRS-232C、セントロニクス準拠のプリンタIF、バスマウスIFを装備 (7)キーボードはPC-9800タイプのものを標準装備し、PC/ATタイプのものはオプションで用意 —など。
本体サイズは380(W)x420(D)x174(H)mm
本体は50万円を切る予定。
<本体写真>
トムキャットコンピュータが開発したVSL技術を使用したPC-9800・PC/AT両互換のパーソナルコンピュータ

1990年6月 ASCII 14(6)(156)
ASCII EXPRES TOPIC ASTリサーチジャパンが1台でPC-9800シリーズとPC/ATのソフトが動くデュアル互換機を発表
エー・エス・ティー・リサーチ・ジャパンは1台のコンピュータでPC-9800シリーズのソフトウェアとPC/ATのソフトウェアの両者が動作するデュアル互換機「PC-DUAL SX/16(仮称)」を開発したと発表した。
同マシンはCPUに米Intel社製のクロック周波数16MHzの386SXを使用した32bitマシンで、両マシンの互換を実現するために川崎製鉄製のチップセット、トムキャットコンピュータ製のBIOSを採用したもの。主な特徴は (1)メインメモリは標準で1Mbytesを搭載し、最大16Mbytesまで拡張可能 (2)表示機能は標準でPC-9800シリーズ互換を実現し、オプションのVGA/JEGAボードの装着でATモードの表示が可能 (3)キーボードはPC-9800シリーズ互換のものを採用、オプションでPC/ATまたはAXマシン用をサポート (4)PC-9800シリーズ互換のプリンタ/RS-232C/バスマウスIFを標準装備 (5)360K/640K/1M/1.2Mbyesフォーマットの可能なFDD2台を搭載 (6)ATバス準拠のISAバス拡張スロットを6スロット装備 (8)内蔵HDDコネクタは最大2個のAT用HDDをサポート (9)PC-9800/ATモードの選択はFDD/HDDからの立ち上げで自動切換え可能 (10)HDDでPC-9800/ATモードの両システムパーテーションの混在が可能 — など。
同社は日本国内での販売はOEMメーカーを通して行うとしており、発売時期/価格/販売計画は未定だという。なお、ASTからの製品の出荷は今年8月以降になる予定。
また、今回の発表会会場には、米国大使館のまいける・J・ヘゲダス商務参事官も出席し、「同マシンは米国企業のコンピューターが日本市場に入り込めるかどうかの試金石になるだろう。日本市場の開放のためにも積極的に応援したい」と語った。

1992年6月 ビジネスガイド 29(9)(397)
PLUS ONE 情報 IBM/PCとPC98の相互乗り入れ
先月号ではIBMのPC/AT互換機で日本語環境が実現できることに関して、日本IBMが開発した「DOS/V」というソフトウェア中心に紹介した。本号ではIBM方式のPC(以下、IBM/PC)と日本市場で圧倒的なシェアを確保しているPC9801シリーズ(以下、PC98)とのかかわりからいくつかのおもしろいソフトなどを紹介したい。

「PC98でIBM/PC用ソフトを走らせる」
マイクロデータ社のコロポックル98の紹介

「IBM/PCでPC98用ソフトを走らせる」
<略>IBM/PCにボードというソフトを追加するだけでIBM/PC上でPC98用ソフトを走らせることができるシステムを開発している会社がある。
ベンチャー企業のトムキャットコンピュータ社で、この会社は以前にもIBM/PCとPC98の両方の機能を1台のパソコンで実現させる機種を開発したことがある。
同社が4年がかりで開発してきたシステムは近々発売になると報道されているので、その使い勝手やどの程度の互換性脳を持っているかについては確認することはできないが、新聞報道によればPC98用のビジネスソフトの90数%は動くとされており、もしこれが事実なら、なかなかおもしろいことになりそうである。このシステム用のボードとソフトはセットで数万円で販売される予定であり、価格の面では個人用、ビジネス用どちらにとっても大きな問題ではなさそうである。<略>

1992年7月 NEW教育とマイコン 8(7)(75);1992・7
NEWS NOW」の「IBM PC/ATとその互換機で98用ソフトが走る
トムキャットコンピュータはIBM PC/AT方式のパソコンとその互換機をつかって、日本電気のPC-98シリーズ用のソフトが動く仮想的な環境を作るボードとソフトを発売した。
PC/ATとその互換機にボードを差し込み専用のソフトを組み込むだけでPC/AT自体の機能には全く影響を与えず、PC/AT用のソフトのほかにPC-98用のソフトが使えるという。
この技術はPC-98用の命令をPC/ATの命令で実行するようにソフトとボードの回路で翻訳する。ゲームソフトなどで非常に特殊な命令の使い方をするものでは動作しない場合もあるが「ビジネスソフトならば90数%は動く」という。
これが可能になったのは、いずれのパソコンもCPUの米インテル製のマイクロプロセッサ386や486などを利用しているため。
トムキャット社ではPC/AT互換機の販売会社を通して、このボードをソフト付きで数万円で販売するという。(朝日新聞)

1992年8月 ASCII 16(8)(182)
DOS/V Q? and A!
Q?DOS/Vって98でも使えるんですか?
A! うーむ、これはたまに聞くすごい質問。「そんなの動かないに決まってるじゃあないか!」<略>
と言っているうちに、トムキャットコンピュータからおもしろい製品が発売された。同社の「EX-2001」はIBM PCなのに98のソフトも動くという。それどころか、専用ボード「Virutal-98」を装着すれば、そのへんのDOS/Vマシンでも98のソフトを動かせるというのだ。
詳細は次号を待て。

1992年9月 ASCII 16(9)(183)
次号というのでみてみたけど、Virutal98の記事はなし・

ASCII EXPRES 住商データコム DOS/VとSPARCの合体マシンを発売
住商データコムはDOS/VマシンにSPARCカードを装着し、1台でIBM PCとSunの二役をこなす「SPARCAXi486」を発売する。
このマシンはキヤノンが発売しているDOS/Vマシン「AXi/V486」に、米OPUS社が開発した「SPARCard」を装着し、HDDやメモリ、ソフトウェアなどを添付したシステム、SPARCardはATバス用のCPUカードで、RISC CPUのSPARCが搭載されており、PC/ATをSUNワークステーションとして利用できるようにするもの。
SAPRCAXi486ではDOS/VシステムとSPARCワークステーションが同時に動作し、ワンタッチで切り替えて利用できるほか、Windows 3.0上でSPARCのウィンドウを出して動作させることも可能になっている。その結果、5万本以上といわれるIBM PC用ソフト、DOS/Vソフト、および3800本以上といわれるSPARCwareのすべてが利用可能となる。DOS/VマシンとしてはキヤノンのAXi/V486相当で、CPUは486SX(クロック周波数20MHz)、メインメモリ2Mbytes、120MbytesHDDを標準装備するほか、オプションでクロック周波数33MHzの486DXも装着可能となっている。SPARCシステムとしてはSPARC Internatinal のSCD 1.1認定を受けており、SUNのSPARCファミリーとバイナリレベルでの完全互換となっているほか、日本語にも対応している。
SAPRCAXi486はSAPRCチップのクロック周波数が40MHzの「SPC-40-AXi486」と、同25MHzの「SPC-24-AXi486」の2モデルがあり、価格は順に289万円,245万円。40MHzバージョンの処理速度は28.5MIPSとなっている。ともにPC3カラーフレームバッファ/スイッチャ、16MbytesRAM、540MbytesHDD、17インチカラーディスプレイ、およびDOS/V 4.0、Windows 3.0、日本語Solaris 1.01(SunOS 4.1.1B JLE、日本語OpenWindowsなどを含む)およびライセンスが添付される。
<略>

1992年10月 ASCII 16(10)(184)
NEW MODEL IMPRESSION DOS/Vマシンが98に変身する Virtual-98」カラー2ページ記事
ビジネス系ソフトは動かしているがゲームを動かした、という話はない


エプソン

1985年6月 科学朝日 45(7)(533)
エプソンQC-11 精密機器を得意とするエプソンが標準タイプの16ビット機をギリギリまで小型化した。MS-DOSはROMで供給
エプソンのIBM PC互換機の日本語コンパクトパソコンQC-11 の話
メモリーは標準で256KBで最大拡張時は512KBである。メモリーの設定で検討がつくようにDOSは日本語MS-DOSのVer.2.11か日本語コンカレントCP/MのVer.3.1である。MS-DOSと日本語GW-BASICは最初からついてくるが、CP/Mの場合は別途購入することになる。

1985年7月 科学朝日 45(8)(534)
COMPUTER新製品診断 コンパクトな16ビットパソコン エプソンQC-11」で文字ベースとしてのQC-11紹介

1987年5月 ASCII 11(5)(119)
特別企画「ハイパフォーマンス指向で姿を現した98互換マシン EPSON PC-286 PC-9801シリーズ
PC-286 mode 1~4についての5ページ記事。カラー写真で本体掲載
記事を書いた時点では日電からうたえられていないようだが、”互換マシン時代の到来と著作権問題”というコラムもあり

1987年5月 事務と経営 39(486)
NECパソコン互換機」セイコー絵プションでは、日本電気のPC-9801Vシリーズと互換性をもつ「エプソンPC-286シリーズ」を発表した。特徴は次の通り。
1) CPUにi80286を採用し、10MHzノーウェイトの高速性。
2) 内蔵型マスメモリー(20MB/40MBのHDD、20MBカセットストリーマ)を増設可能。
3) データ保護のためのキーボードロック機能。用途に応じた処理スピードを選択。4モデルで構成。
[価格] モデル1 37万8000円より

ニュース解説「日電PC互換機市場いよいよ誕生」で、3/14にエプソンが発表してから、日本電気が警告した上で、販売停止を求めて東京地裁に差し止め訴訟を行った、とある。
この段階では具体的にどこに問題があるか不明である状態での記述

1987年5月 週刊ダイヤモンド = Diamond weekly 75(21);1987・5・30
EPSON 話題の互換機、発売中。 というエプソンのPC-286 model 0の広告

1987年6月 ASCII 11(6)(120)
エプソン PC-9800互換機を新たに発表=民事訴訟中のPC-286シリーズ4機種は発売中止
発売中止とModel 0発売についての記事

1987年6月 Business communication = ビジネスコミュニケーション : デジタルイノベーション情報誌 24(6)(280)
国内でもクローン問題が…」として、エプソンが発表前に日本電気に実機を出してBIOSとBASICで著作権侵害を伝えられたけど修正して発表会を実施。それでも侵害箇所があるというので新BIOSになった。という話、と、シャープ、三洋電機、カシオなどが互換機を計画中、という話が書かれている。

1987年7月 ASCII 11(7)(121)
PC-286 model 0の2ページカラー広告

1987年7月 インターフェース = Interface : コンピュータ・サイエンス&テクノロジ専門誌 13(7)(122)
PC-286 model 0のカラー広告

1987年7月 電子技術 29(9)(377)
国内ニュース「NEC と EPSON 両社とも弁護士同席で記者会見セイコーエプソン」という解説記事

1987年8月 ASCII 11(8)(122)
互換機登場によって盛況を見せる16bitマシン というエプソンPC-286広告

1987年8月 プレジデント = President 25(8)
EPSON VALUEのエプソンPC-286広告
シェア9割の巨人に挑む最後発メーカーのコバンザメ商法 パソコンウォーズ 日本電気vs1エプソン という8ページ記事
エプソン側の開発物語的な記載もあり
互換BIOS開発プロジェクトは「ワルツ」と名付けられた。という言及
またシャープのMZ-2861に関する言及もあり。最初はハードウェア互換予定だったが1987年1月にソフト互換が最終決定された


1987年10月24日 週刊ダイヤモンド = Diamond weekly 75(41);1987・10・24
市場戦略 新勢力の挑戦を受けるパソコン王国日電の勝算
EPSONと日電の訴訟の件。
標準化への動き

1987年11月 ASCII 11(11)(125)
ソフトが待っていた EPSON VALUE up というPC-286V/PC-286Uの広告


独自日本語化AT互換機について

IBM JX

1985年2月 コンピュートピア 19(221)
IBM-JX普及の決め手ソフトウェア」という特集記事で、1984年10月末に発表され、11月22日から発売になったIBM-JXで動作するソフトついて、ソフトウェア会社による開発意図などを含めた紹介
JXはパソコン界のキリンになれるか」で発売2ヶ月の市場動向について。

IBM特約店 トッパンムーア ビジネスシステムズによるIBM JXの広告

1985年6月 科学朝日 45(7)(533)
注目の機種診断」というカラー記事で下記が掲載
・富士通FM16π
・日本電気PC-98XA
・日本電気PC-9801U2
・富士通FM16βSD
・エプソンQC-11
・シャープX1ターボ
・日本IBM JX
・富士通FM-77L4,L2
・日本電気 PC-8801mkII SR
・東芝 YIS 604/128、日本楽器 CX 7M/128

東芝 J-3100

1986年12月 事務と経営 38(481)
東芝では パーソナルワークステーション「J-3100」を発表した。特徴は次の通り。
1) 16ビットマイクロプロセッサのi80286を採用し、処理を高速化。
2) ラップトップ型で10MBのハードディスク内蔵。
3) 640×400ドット(40字x25行)のプラズマディスプレイを採用。
4) IBMパソコン「IBM PC/AT」との互換機能をもつ。
[価格] B11モデル 49万8000円より

1987年3月 ASCII 11(3)(117)
PC-98LT,J-3100のシステム環境」で「東芝J-3100 IBM PC/AT互換機としての顔も持つ高機能ラップトップ

DGの独自日本語化 AT互換機

1985年1月 科学朝日 45(1)(527)
COMPUTER新製品診断 高精度の液晶ディスプレー 日本データゼネラル DATA GENERAL/ ONE
液晶はいいけど、日本語版がない

1985年5月 コンピュートピア 19(224)
ポータブルコンピューター一覧表」の16ビット機にDATA GENERAL「DG ONE(80088)」、シャープ「PC-5000(8088)」、ヒューレットパッカード「HP110(80086)」「Integral PC(68000)」
実物写真が「やってきたポータブルコンピュータ時代」にあるが、16ビット機はラップトップ機
個別詳細が「通信端末として注目されはじめた各社のポータブルコンピュータ」にあるが、この時期のDG ONEは、日本語対応していなかったようだ

1987年5月 Business communication = ビジネスコミュニケーション : デジタルイノベーション情報誌 24(5)(279)
ポータブルワークステーション DATA GENERAL One Model 2J広告
80C88 CPU(7.16MHz)、512KB~2.5MBメモリ、大型液晶画面(バックライト方式, 640×400ドット)、フルキーボード(83キー)、JIS第1第2水準漢字、内蔵バッテリ(約6時間)、約30(幅)x8(高)x37(奥行)cm、5.4kg(2FDD時)
標準仕様(FDD/512KB) 398000円(写真:10MB HDD内蔵モデル)

川口メカトロニクス

1985年2月 Business communication = ビジネスコミュニケーション : デジタルイノベーション情報誌 22(2)(252)
川口メカトロニクスは VAN/LAN通信専用パソコン SPACE RXTシリーズのOEM販売を開始した。
<略>
パソコンとしての機能は日本語MS-DOS(Ver2.11)を搭載し、日本語GWBASICを始めとするホスト機用のfull-C, full-FORTRAN 77, full-COBOL言語,グラフィックユーティリティ,日本語/英文ワードプロセッサなど DOSワールドのソフトウェアが使用できる。
米国IBM PC/ATとの互換性を保っているため海外からの導入ソフトなどの移植もスムーズ。
CPUにインテルの16ビット CPU80186を用いているため パフォーマンスが従来の8088の2~3倍,8086の1~1.5倍向上し、通信機能、グラフィック操作、数値演算などが高速処理できる。
CRTはモノクロ(1024×768ドット)、カラー(640×400ドット 8色)、メモリは最大768KBまで拡張可能。
なお、サンプル価格はMHが130万円

NEC Multispeed?

1986年12月 プレジデント = President 24(12)
データベース情報の戦略的活用法 東芝vs日電のラップトップウォーズ
全体的にはPC-98LTとJ-3100の戦いの話だが、最後のほうで
11月6日付の日経産業新聞によればNECはIBMのパソコンPC-XTと互換性のあるラップトップ「MultiSpeed」(35×31×8センチ、重さ5.1キロ)をアメリカで売り出すという。
NECはすでにアメリカで販売しているパソコン「APC IV」についてはアメリカ業界規格のIBM規格との互換機能を持たせるようにしていた。今度の全面的なIBM規格化は東芝の輸出機がアメリカで好調な売れ行きを見せていることを受けて行われたものとみれる。

NEC Multispeedについてはascii.jpの「DOS/VとThinkPadのエンジニアが一堂に会するイベント開催」にIBM PC JXのあとにNEC Multispeedを買った、という記載

横河ヒューレットパッカード Vectra-D

1986年7月 エレクトロニクス 31(7)(382)
エレクトロニクス技術ダイアリ 製品紹介 昭和61年5月1日~5月31日
5月19日 日本語が使えるIBM PC/Aワークステーション「Vectra-D」発売発表

1986年8月 ASCII 10(8)(110)
NEW PRODUCT The Movement 80286 Machine / 286マシンの動向
Vectra-D (YHP)
日本語モードと英語モードの2つを切り替えて利用できるIBM PC/ATコンパチブルマシン。日本語モードでは画面解像度が上がり、日本語表示が可能となり、英語モードではATとコンパチブルになるというもの。

1987年2月 ASCII 11(2)(116)
日経バイト 1987年2月号広告」に「レビュー 日本語処理機能を搭載した PC AT互換機Vectra-D」とある

1987年3月 ASCII 11(3)(117)
わたしはPC/ATソフトと一太郎 どちらも使いたい…だからVectra-D」という2ページカラー広告
Verctra-Dは、オペレーティングシステムを入れ替えるだけの簡単な操作で、日本語モード(日本語MS-DOS バージョン3.1採用)と英語モード(PC/ATコンパチブル)の相互切り替えが行える、ユニークなワークステーションです。日本語モードでは、日本語ワープロ「一太郎」をはじめ、グラフ作成、データベースなどのソフトウェアが英語モードではPC/AT用に作成された豊富なソフトウェアがご使用いただけます。2台分の機能を1台にビルドイン。これまでのPC/ATコンパチブルの概念を一新、最新のワークステーションです。
<略>
CPU:i80286(クロック8MHz) コプロセッサ:i80287(オプション) メモリ:最大3.64メガバイト(標準640KB) ディスプレイ解像度:日本語モード時 モノクロ1024×768 英語モード時 モノクロ640×200(640×400可能) 漢字ドット構成:24×24
しては,YHPからVectra-Dがトとドライブのアクセスラン発売されていたが,高価格であった

1987年11月 ASCII 11(11)(125)
Vectra-D 2ページカラー広告 これが最後の掲載?
ちなみに次のページは 国際的にソフトウェアの共通化を推進するAX誕生 SANYO MBC-17J という三洋AXパソコン広告

1988年4月 ASCII 12(4)(130)
PRODUCT SHOWCASE1 日本語AT共通仕様/AXマシン 三洋MBC-17JF 内でこれまでのIBM PC互換機での日本語化について言及
IBM PCの日本語化は日本データゼネラルのDG/Oneや横河ヒューレットパッカードのVectra-D、東芝のJ-3100シリーズなどで行われてきたが、AXについていえば、それと同等に20数社が参加する共通しようという点が重要である。

1988年5月 ASCII 12(5)(131)
ASCII EXPRESS YHPが新Vectraシリーズを発売
横河ヒューレットパッカードは米国IBM社のパーソナルコンピュータPC/XT/AT互換機「Vectra」シリーズを一新して発売した。
同シリーズの内訳は (1)PC/XT互換の「Vectra CS」 (2)現行のVectra-Dを改良した「同ES」と「同ES12」(3) CPUに80386を採用したPC/AT互換の「同RS/16」と「同/20」-となっている。

NetApp ONTAPから他サーバに気軽にsshできる穴がふさがれてしまった

NetApp ONTAP 9.xに長らく存在していた diagアカウントをロックしていても、lsなどのコマンドを実行できる、という技があった。

ontap98::> set diag

Warning: These diagnostic commands are for use by NetApp personnel only.
Do you want to continue? {y|n}: y

ontap98::*> systemshell -node localhost -command ls /
  (system node systemshell)
BUILD                           mroot_late
COMPAT.TXT                      mroot_late.tgz
COPYRIGHT                       netapp_nodar_build_check
INSTALL                         nfsroot
README.TXT                      ontap
VERSION                         ovl
bin                             partner
boot                            platform
cap.xml                         proc
cfcard                          root
clus                            sbin
dev                             sim
etc                             sldiag
fw                              tmp
kmip                            usr
lib                             var
libexec                         varfs.tgz
mnt                             vs_conf_files.tgz
mroot                           webjail
mroot.tgz

ontap98::*>

ONTAP 9.10.1でも使えていたのだが、Active Directory暗号化問題パッチを適用したONTAP 9.10.1P12で試したところ、実行できなくなっていた。

netapp9101::> set diag

Warning: These diagnostic commands are for use by NetApp personnel only.
Do you want to continue? {y|n}: y

netapp9101::*> systemshell -node localhost -command ls /
  (system node systemshell)

Error: command failed: Error: Account currently locked. Contact the storage
       administrator to unlock it.

netapp9101::*>

え!?と調べたら ONTAP 9.12.1リリースのころからのパッチバージョンから使えなくなっていた模様。

diagアカウントがロックされている場合は、systemshellを禁止します

以降のバージョンが対象
9.7P22
9.8P15
9.9.1P13
9.10.1P9
9.11.1P5.
9.12.1.
9.13.0
9.13.1.

ということで、いまのONTAPだとdiag モードのロックを解除しないと実行できなくなっていました。

公式の解除手順 SystemShell diagユーザアカウントのロックを解除する方法

上記手順だと、diagユーザアカウントにパスワードを設定していますが、「systemshell -node localhost -command コマンド」で実行する場合はパスワード設定は必須ではありません。

現在のdiagユーザのロック状況を確認「security login show -username diag」(バージョンによっては security login show -user-or-group-name diag)

netapp9101::> security login show -username diag

Vserver: netapp9101
                                                                 Second
User/Group                 Authentication                 Acct   Authentication
Name           Application Method        Role Name        Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
diag           console     password      admin            yes    none

netapp9101::>

「Acct Locked: yes」だとロックされている

「security login unlock -username diag」を実行して、ロック解除する

netapp9101::> security login unlock -username diag

netapp9101::> security login show -username diag

Vserver: netapp9101
                                                                 Second
User/Group                 Authentication                 Acct   Authentication
Name           Application Method        Role Name        Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
diag           console     password      admin            no     none

netapp9101::>

ロック解除したあとであれば従来通り実行できた

netapp9101::> set diag

Warning: These diagnostic commands are for use by NetApp personnel only.
Do you want to continue? {y|n}: y

netapp9101::*> systemshell -node localhost -command ls /
  (system node systemshell)
BUILD                           mroot_late
COMPAT.TXT                      mroot_late.tgz
COPYRIGHT                       netapp_nodar_build_check
INSTALL                         nfsroot
README.TXT                      ontap
VERSION                         ovl
bin                             partner
boot                            platform
cap.xml                         proc
cfcard                          root
clus                            sbin
dev                             sim
etc                             sldiag
fw                              tmp
kmip                            usr
lib                             var
libexec                         varfs.tgz
mnt                             vs_conf_files.tgz
mroot                           webjail
mroot.tgz

netapp9101::*>

なお、ONTAP OSの標準値が変わっていますので、利用が終わったら「security login lock -username diag」を実行してロック状態を戻しておきましょう

netapp9101::*> set admin

netapp9101::> security login lock -username diag

netapp9101::> security login show -username diag

Vserver: netapp9101
                                                                 Second
User/Group                 Authentication                 Acct   Authentication
Name           Application Method        Role Name        Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
diag           console     password      admin            yes    none

netapp9101::>