Samba 4.16.x をOracle Linux 8環境でコンパイルする


Oracle Linux 8.6環境でSamba 4.16.3をコンパイルしようとしたら面倒だったのでメモ書き。

まず、「Package Dependencies Required to Build Samba」にあるVerified Package DependenciesのSamba master / CentOS 8 のリンクが使えない。

これは、CentOS8ではなく、CentOS8Streamにリンクが変わったためである。

ただ、Oracle Linux 8ではレポジトリ名が異なっているため、実行が失敗する。

Oracle Linux 8でのレポジトリ対応は下記となる。

RHEL 8CentOS 8Oracle Linux 8
BaseBaseol8_baseos_latest
AppStreamAppStreamol8_appstream
CodeReady Linux Builder*PowerToolsol8_codeready_builder
EPEL**EPEL**ol8_developer_EPEL

なので、Oracle Linux 8では下記を実行してレポジトリを有効化する

# yum config-manager --set-enabled ol8_codeready_builder
# yum config-manager --set-enabled ol8_developer_EPEL

次に、「Red Hat Enterprise Linux 8 / CentOS 8」に記載があるパッケージ群をインストール

# yum install docbook-style-xsl gcc gdb gnutls-devel gpgme-devel jansson-devel \
      keyutils-libs-devel krb5-workstation libacl-devel libaio-devel \
      libarchive-devel libattr-devel libblkid-devel libtasn1 libtasn1-tools \
      libxml2-devel libxslt lmdb-devel openldap-devel pam-devel perl \
      perl-ExtUtils-MakeMaker perl-Parse-Yapp popt-devel python3-cryptography \
      python3-dns python3-gpg python36-devel readline-devel rpcgen systemd-devel \
      tar zlib-devel

エラー対処1: dbus-devel

configure中にエラー発生

Checking for library nscd                                                                       : no
Checking for nscd_flush_cache                                                                   : not found
VFS_STATIC: vfs_default,vfs_not_implemented,vfs_posixacl,vfs_dfs_samba4
VFS_SHARED: vfs_recycle,vfs_audit,vfs_extd_audit,vfs_full_audit,vfs_fake_perms,vfs_default_quota,vfs_readonly,vfs_cap,vfs_expand_msdfs,vfs_shadow_copy,vfs_shadow_copy2,vfs_readahead,vfs_xattr_tdb,vfs_streams_xattr,vfs_streams_depot,vfs_acl_xattr,vfs_acl_tdb,vfs_preopen,vfs_catia,vfs_media_harmony,vfs_unityed_media,vfs_fruit,vfs_shell_snap,vfs_commit,vfs_worm,vfs_crossrename,vfs_linux_xfs_sgid,vfs_time_audit,vfs_offline,vfs_virusfilter,vfs_widelinks,vfs_snapper,vfs_posix_eadb,vfs_syncops,vfs_dirsort,vfs_fileid,vfs_aio_fork,vfs_aio_pthread,vfs_gpfs,vfs_btrfs,vfs_glusterfs_fuse
PDB_STATIC: pdb_smbpasswd,pdb_tdbsam,pdb_samba_dsdb,pdb_ldapsam
PDB_SHARED:
AUTH_STATIC: auth_builtin,auth_sam,auth_winbind,auth_unix,auth_samba4
AUTH_SHARED:
NSS_INFO_STATIC: nss_info_template
NSS_INFO_SHARED:
CHARSET_STATIC:
CHARSET_SHARED:
IDMAP_STATIC: idmap_tdb,idmap_passdb,idmap_nss,idmap_ldap
IDMAP_SHARED: idmap_ad,idmap_rfc2307,idmap_autorid,idmap_rid,idmap_hash,idmap_tdb2,idmap_script
GPEXT_STATIC:
GPEXT_SHARED:
PERFCOUNT_STATIC:
PERFCOUNT_SHARED:
Checking for dbus                                                                               : not found
vfs_snapper is enabled but prerequisite dbus-1 package not found. Use --with-shared-modules='!vfs_snapper' to disable vfs_snapper support.
(complete log in /root/samba-4.16.3/bin/config.log)
# 

これは「dnf install dbus-devel」のインストールで対応

# dnf install dbus-devel
メタデータの期限切れの最終確認: 0:08:21 時間前の 2022年07月19日 09時59分33秒 に 実施しました。
依存関係が解決しました。
================================================================================
 パッケージ      Arch        バージョン                リポジトリー       サイズ
================================================================================
インストール:
 dbus-devel      x86_64      1:1.12.8-18.0.1.el8       ol8_appstream       68 k

トランザクションの概要
================================================================================
インストール  1 パッケージ

ダウンロードサイズの合計: 68 k
インストール後のサイズ: 127 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
dbus-devel-1.12.8-18.0.1.el8.x86_64.rpm          54 kB/s |  68 kB     00:01
--------------------------------------------------------------------------------
合計                                             54 kB/s |  68 kB     00:01
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                        1/1
  インストール中   : dbus-devel-1:1.12.8-18.0.1.el8.x86_64                  1/1
  scriptletの実行中: dbus-devel-1:1.12.8-18.0.1.el8.x86_64                  1/1
  検証             : dbus-devel-1:1.12.8-18.0.1.el8.x86_64                  1/1

インストール済み:
  dbus-devel-1:1.12.8-18.0.1.el8.x86_64

完了しました!
#

エラー対処2: python3-markdown

configure中にエラー発生

Checking for openpty                                                                            : not found
Checking for library util                                                                       : yes
Checking for openpty in util                                                                    : ok
Checking for system installation of Python module markdown                                      : not found
        Unable to find Python module 'markdown'. Please install the system package: python3-markdown'.
#

これは書かれている通りにpython3-markdownをインストール

# dnf install python3-markdown
メタデータの期限切れの最終確認: 0:09:33 時間前の 2022年07月19日 09時59分33秒 に 実施しました。
依存関係が解決しました。
================================================================================
 パッケージ          Arch      バージョン        リポジトリー             サイズ
================================================================================
インストール:
 python3-markdown    noarch    2.6.11-2.el8      ol8_codeready_builder    133 k

トランザクションの概要
================================================================================
インストール  1 パッケージ

ダウンロードサイズの合計: 133 k
インストール後のサイズ: 418 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
python3-markdown-2.6.11-2.el8.noarch.rpm        108 kB/s | 133 kB     00:01
--------------------------------------------------------------------------------
合計                                            108 kB/s | 133 kB     00:01
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                        1/1
  インストール中   : python3-markdown-2.6.11-2.el8.noarch                   1/1
  scriptletの実行中: python3-markdown-2.6.11-2.el8.noarch                   1/1
  検証             : python3-markdown-2.6.11-2.el8.noarch                   1/1

インストール済み:
  python3-markdown-2.6.11-2.el8.noarch

完了しました!
#

エラー対処3: perl-JSON

make中にエラー発生

third_party/heimdal/lib/asn1/der_free.c third_party/heimdal/lib/asn1/der_format.c third_party/heimdal/lib/asn1/der_length.c third_party/heimdal/lib/asn1/der_copy.c third_party/heimdal/lib/asn1/der_cmp.c third_party/heimdal/lib/asn1/der_print.c third_party/heimdal/lib/asn1/extra.c third_party/heimdal/lib/asn1/timegm.c third_party/heimdal/lib/asn1/template.c third_party/heimdal/lib/asn1/oid_resolution.c -> bin/default/third_party/heimdal/lib/asn1/der-protos.h
Can't locate JSON.pm in @INC (you may need to install the JSON module) (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /root/samba-4.16.3/third_party/heimdal/cf/make-proto.pl line 7.
BEGIN failed--compilation aborted at /root/samba-4.16.3/third_party/heimdal/cf/make-proto.pl line 7.

Waf: Leaving directory `/root/samba-4.16.3/bin/default'
Build failed
 -> task in '../heimdal/lib/asn1/der-protos.h' failed with exit status 2 (run with -v to display more information)
make: *** [Makefile:7: all] エラー 1
PYTHONHASHSEED=1 WAF_MAKE=1  ./buildtools/bin/waf install
Waf: Entering directory `/root/samba-4.16.3/bin/default'
        Selected embedded Heimdal build
Checking project rules ...
Project rules pass
[1/1] Compiling VERSION
+ install /usr/local/samba/lib/pkgconfig/samba-hostconfig.pc (from bin/default/lib/param/samba-hostconfig.pc)
+ install /usr/local/samba/lib/pkgconfig/dcerpc_samr.pc (from bin/default/source4/librpc/dcerpc_samr.pc)
+ install /usr/local/samba/lib/pkgconfig/dcerpc.pc (from bin/default/source4/librpc/dcerpc.pc)
+ install /usr/local/samba/lib/pkgconfig/samdb.pc (from bin/default/source4/dsdb/samdb.pc)
+ install /usr/local/samba/lib/pkgconfig/samba-credentials.pc (from bin/default/auth/credentials/samba-credentials.pc)
+ install /usr/local/samba/lib/pkgconfig/wbclient.pc (from bin/default/nsswitch/libwbclient/wbclient.pc)
+ install /usr/local/samba/lib/pkgconfig/samba-util.pc (from bin/default/lib/util/samba-util.pc)
+ install /usr/local/samba/lib/pkgconfig/dcerpc_server.pc (from bin/default/source4/rpc_server/dcerpc_server.pc)
+ install /usr/local/samba/lib/pkgconfig/ndr_krb5pac.pc (from bin/default/librpc/ndr_krb5pac.pc)
+ install /usr/local/samba/lib/pkgconfig/ndr_standard.pc (from bin/default/librpc/ndr_standard.pc)
+ install /usr/local/samba/lib/pkgconfig/ndr_nbt.pc (from bin/default/librpc/ndr_nbt.pc)
+ install /usr/local/samba/lib/pkgconfig/ndr.pc (from bin/default/librpc/ndr.pc)
+ install /usr/local/samba/lib/pkgconfig/samba-policy.cpython-36m-x86_64-linux-gnu.pc (from bin/default/source4/lib/policy/samba-policy.cpython-36m-x86_64-linux-gnu.pc)
+ install /usr/local/samba/sbin/samba_downgrade_db (from bin/default/source4/scripting/bin/samba_downgrade_db.inst)
+ install /usr/local/samba/sbin/samba_dnsupdate (from bin/default/source4/scripting/bin/samba_dnsupdate.inst)
+ install /usr/local/samba/sbin/samba_spnupdate (from bin/default/source4/scripting/bin/samba_spnupdate.inst)
+ install /usr/local/samba/sbin/samba_upgradedns (from bin/default/source4/scripting/bin/samba_upgradedns.inst)
+ install /usr/local/samba/sbin/samba_kcc (from bin/default/source4/scripting/bin/samba_kcc.inst)
+ install /usr/local/samba/sbin/samba-gpupdate (from bin/default/source4/scripting/bin/samba-gpupdate.inst)
+ install /usr/local/samba/bin/samba-tool (from bin/default/source4/scripting/bin/samba-tool.inst)
+ install /usr/local/samba/lib/pkgconfig/netapi.pc (from bin/default/source3/libnet/netapi.pc)
+ install /usr/local/samba/lib/pkgconfig/smbclient.pc (from bin/default/source3/libsmb/smbclient.pc)
[306/306] Linking bin/default/third_party/heimdal_build/compile_et.inst
[317/322] Processing ../heimdal/lib/asn1/der-protos.h: third_party/heimdal/lib/asn1/der_get.c third_party/heimdal/lib/asn1/der_put.c third_party/heimdal/lib/asn1/der_free.c third_party/heimdal/lib/asn1/der_format.c third_party/heimdal/lib/asn1/der_length.c third_party/heimdal/lib/asn1/der_copy.c third_party/heimdal/lib/asn1/der_cmp.c third_party/heimdal/lib/asn1/der_print.c third_party/heimdal/lib/asn1/extra.c third_party/heimdal/lib/asn1/timegm.c third_party/heimdal/lib/asn1/template.c third_party/heimdal/lib/asn1/oid_resolution.c -> bin/default/third_party/heimdal/lib/asn1/der-protos.h
Can't locate JSON.pm in @INC (you may need to install the JSON module) (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /root/samba-4.16.3/third_party/heimdal/cf/make-proto.pl line 7.
BEGIN failed--compilation aborted at /root/samba-4.16.3/third_party/heimdal/cf/make-proto.pl line 7.

Waf: Leaving directory `/root/samba-4.16.3/bin/default'
Build failed
 -> task in '../heimdal/lib/asn1/der-protos.h' failed with exit status 2 (run with -v to display more information)
make: *** [Makefile:10: install] エラー 1
#

「dnf install perl-JSON」で対処

# dnf install perl-JSON
メタデータの期限切れの最終確認: 0:24:56 時間前の 2022年07月19日 09時59分33秒 に 実施しました。
依存関係が解決しました。
================================================================================
 パッケージ      Arch         バージョン              リポジトリー        サイズ
================================================================================
インストール:
 perl-JSON       noarch       2.97.001-2.el8          ol8_appstream        96 k

トランザクションの概要
================================================================================
インストール  1 パッケージ

ダウンロードサイズの合計: 96 k
インストール後のサイズ: 245 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
perl-JSON-2.97.001-2.el8.noarch.rpm              70 kB/s |  96 kB     00:01
--------------------------------------------------------------------------------
合計                                             70 kB/s |  96 kB     00:01
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                        1/1
  インストール中   : perl-JSON-2.97.001-2.el8.noarch                        1/1
  scriptletの実行中: perl-JSON-2.97.001-2.el8.noarch                        1/1
  検証             : perl-JSON-2.97.001-2.el8.noarch                        1/1

インストール済み:
  perl-JSON-2.97.001-2.el8.noarch

完了しました!
#

以上でsamba-4.16.3のコンパイルが正常に終了した。

ワコム AES ペンについてのメモ書き


変な勘違いをしてしまったというのと、久しぶりに電池交換しようとしたら手法が分からなくなってたので、自分用メモとして作成。

AESペンについて

ワコムのタブレット技術の中で、ペンに電池を入れなきゃいけないタイプのやつはAES(アクティブES/Active Electrostatic)。

ワコムブランドのタブレットとしては販売しておらず、基本的に他社のタブレットやノートパソコンなどのタッチパネル液晶で使えるような形での提供形態となっている。

ただ、最近のワコム技術を搭載したタブレットやノートパソコンでは、EMR(電磁誘導方式/Electro Magnetic Resonance)という技術の方が採用されている率がほとんどでAESを使ってるのは古いものが多い(2019年ぐらいがAES採用モデルの最後?)。EMRを使っている場合のペンには電池不要なので、そこで見分ける感じ。

AESペンの世代

AESペンには世代があるようなのだが、ワコムのサイトで世代についての記述を発見できていない。

AES 1.0

筆圧感知 2048段階?
傾き検知なし

AES1.0の筆圧感知が何段階なのか明記した資料が発見できなかったのですが、hpとDELLから出ているAESペンのうち古いものが2048段階なので、AES1.0の制限なのかな?と解釈しています。

AES 2.0

筆圧感知 4096段階
傾き検知あり(選択性?)

AES 2.0ペンはAES 1.0対応機器でも利用できる。

AES 2.0ペンでも傾き検知に対応していない場合もある。

EMRペンについての補足

ワコムのEMRを採用したペンは何種類かある。

ワコム以外の会社のタブレットやノートパソコンなどで採用されているのは 「Wacom Feel IT Technologies」と言われる種類となる。

ただ、この「Wacom Feel IT Technologies」という名称はAESについてもそう呼んでいるのでわかりにくい。

とりあえず、ペンに電池があればAES、電池がなければEMRという感じである

EMRペンとAESペンとは互換性がなく、別物である。

WGP

よく分からないのがWGPという略称のWacom Generic Protocol のペンというものがある。

Dell Premier充電式アクティブ ペン PN7522W」の対応表に「AES 1.0/2.0, WGP」とあったり、「京セラタブレットKC-T304/KC-T304Cのアクティブペン APT301」に「Wacom Generic Protocol方式を搭載しているペン」と書いてあったりする。

京セラタブレットはスマイルゼミのタブレット KC-T301DTとしても使われており、それはEMRペンが使える。ただ、ペンの型番の「APT301」とはスマイルゼミの301と同じ番号なので、実はWGPといってもEMRベースのペンなのでは?との推測が…

ワコム、マイクロソフトと共にデジタルペン方式の互換性拡大を促進“Universal Pen Framework (UPF)”具体化へ前進 という記事で「Universal Pen Framework (UPF) 2.0でAESとMPPを同居するペンが作れる」という趣旨の記事があった。これに出てくるUPF関連を調べるとUlletというサイトのワコムの解説に下記の文章があった

OEM顧客のシステムへ当社技術を搭載していくことに加えて、ITエコシステムの中で当社ペン技術が「事実上の標準」として位置付けられるように、UPF(Universal Pen Framework)パートナーとともに、インセル型タッチパネル向けデジタルペン技術「WGP(Wacom Generic Protocol)」を採用した製品の開発を進めております。

ひょっとして他社向けEMRを「WGP」として再定義した感じなんだろうか?

Lenovo Precision Pen 2(ZG38C03372)は WGP, AES 2.0, MPP 2.0対応と書いてある。 書いてあったのだが、買って試した限りではMPP2.0ペンだった (AESタブレットで反応しなかった)

Wacom Linear Pen?

春に発売になったFMV LOOXについてワコムがプレスリリースを出しているのだが、そこで下記の様に記載されている

株式会社ワコムの次世代Active ES® (AES)ペン技術による「Wacom Linear Pen(ワコムリニアペン)」

従来のAESペンがFMV LOOXで使えるのか?また、FMV LOOXペンが従来のAESタブレットで使えるのか?という点が気になった。

こちらについてはすずみやはややさんより以下の情報をいただきました。

また、FMV LOOXペンおよびDynabook VZペンが例の1万5千円液タブで使えたとのことですので、普通にAESペンとして利用できているようです。

あとは、AES 2.0とWGPとの関連性がどうなってるかかな・・・


ワコム Bamboo Ink CS321AK について

公式マニュアルより引用

電池交換

使う電池は単6電池が1本

AESモード/MPPモードの切り替え

いまどちらのモードで動いているのかを確認する方法はないので、認識しなかったらこの操作をして切り替える。

やらなくても大丈夫なBluetooth接続

AESモードの場合、Bluetooth接続すると機能アップするけど、Bluetooth接続しなくても使えるので必須ではない。

上のボタンをLEDランプが点滅するまで押し続けて接続する

替え芯

純正品 はWACOMショップ: Bamboo Ink 用ペン先キット ACK42416 で買えるが「ソフトx1、ミディアムx1、ハードx1の3種類の替え芯」で1セット1650円という微妙な設定になっている。

KOMMLOGG「Wacom Bamboo Ink と互換性のあるペン先(替え芯)」でdynabook純正アクティブ静電ペン用 PADPN004-1 が紹介されていたので試したところ使えました。
2021年8月頃はヨドバシでも扱っていたのですがいまはない模様。

現在は メーカであるdynabookサイトで「アクティブ静電ペン用替え芯セット PADPN004-1」5本入り1,650円で購入できるようです。

また、「Bamboo Smart CS320AK 用 替え芯 ACK21716」 も使えるのでは?という予測もあるようです。

Wacomペンアプリ上の認識


DELL アクティブペン PN556W

Dell Active PenPN556W ユーザーズガイド」より引用

電池交換

使用する電池は単6電池(AAAA バッテリー)1本+319 コイン型電池 2個

319 コイン型電池は日本ではSR527SWという名称で売られていることが多い。

 

まず、ペンの上を回して外す

これで単6電池は取り出せる

上の部分には319 コイン型電池が隠されているのでドライバや手で回すなどして外す

手だと回しにくいのでドライバで回すのが確実

319 コイン型電池2個を入れて閉じる

Bluetooth接続

やらなくても大丈夫だが上のボタンを3秒長押しして実行する

なお、ボタン電池を交換すると再設定が必要となる

替え芯

Bamboo Ink CS321AK と互換性あり、とのこと

未確認ですが、aliexpressで売ってる ThinkPad Pen Pro / Lenovo Active Pen / Lenovo Active Pen 2 / Lenovo Digital Pen / Lenovo Integrated Pen用の替え芯 4X80P28212 と 4XH0R14769 と互換性があるらしいです。

また、HP Active Pen用の替え芯 3RV56AA 3RV57AA T4Z24AA 1FH00AA 4KL69AA 6SG43AA あたりが使えそうな外見をしていますが、微妙に長さが足らないような気もします。


DELL Active Penの見分け方

Dellアクティブ ペンの識別、コントロール パネルのインストール、およびトラブルシューティング より引用

細かいチェックポイントについてはサポートページ参照


Bamboo Ink Plus

公式マニュアルより引用

替え芯

Bamboo Ink CS321AKとは別のものが必要

ワコム公式「Bamboo Ink Plus用ペン先キット ACK24006Z」 ハード、ミディアム、ソフト、ブルーの4種類1本ずつ で 1,320円


NEC PC-VP-TS37

aliexpressで「PN556W 2048 Rechargeable Stylus Pen for Dell Latitude 7285 7390 7400/ for HP Elite X2 1012 G1 G2 G3 G4 G5 G6 1020 EliteBook」なんてタイトルで売られていたType-Cで充電出来るペンを買ってみたところ、「PC-VP-TS37」と書いてありました。

VersaPro タイプVS用のオプション でした。

ペンの説明についてはVersaPro/VersaProJ活用ガイドの「本機の機能>タッチパネル>デジタイザーペンについて」に記載がある

ペンの充電時の注意点として「はじめにお読みください」の11ページに以下が書かれている

ペン先の交換

替え芯

デジタイザーペン用替え芯[PC-VP-TS31] という名前で50本セットで19000円(1本あたり380円)で販売しているあたりは大規模導入向け製品、という感じです

Wacomペンアプリ上の認識


参考になるサイト

きたみりゅうじ
 「ThinkPad X1 Yoga (2019)付属ペンの替え芯を考える
 「ThinkPad X1 Yoga (2019)付属ペンの特徴まとめ
 Lenovo Yoga 2019という例の液タブの出生元っぽいところでのペンの話

肉うどん
 「Bamboo Ink実機レビュー Surface Pro 3などN-trig機種では大きなメリットを感じる
 「【レビュー】デル製アクティブペンの外観や使い勝手、Bamboo Smartとの比較など【ワコムAES】
 AESペンのレビュー。これ以外にもあります。

8vivid
 「Wacom AES対応デジタイザーペンの“最強”はどれだ?」(2019/03/31)

Windows 7のWindows Updateがうまくいかない件への対処策 2022/07/15版


Windows 7を初期インストールしてWindows Updateを実行すると、「エラーコード 80072EFD」で失敗する。

Windows 7のルート証明書は1つ以外期限切れとなっている

DELLに「Windows 7のアップデートが動作しない」という情報があった。

手順1: Windows 7 Service Pack 1適用

インストールしたメディアがService Pack 1未適用であれば「Windows 7 Service Pack 1(KB976932)」から「windows6.1-kb2533552-x64_0ba5ac38d4e1c9588a1e53ad390d23c1e4ecd04d.msu」をインストールしてmsuパッケージ適用システムのアップデート(KB2533552)を実施。

続いてSP1本体の「windows6.1-kb976932-x64_74865ef2562006e51d7f9333b4a8d45b7a749dab.exe」 を適用し、再起動

なお、SP1インストール中にKB976902 をダウンロードしてインストールしている模様

手順2:KB3020369適用

Windows 7 for x64-Based Systems 用更新プログラム (KB3020369)」から windows6.1-kb3020369-x64_5393066469758e619f21731fc31ff2d109595445.msu を適用

手順3:KB3125574適用

Windows 7 for x64-Based Systems 用更新プログラム (KB3125574)」からwindows6.1-kb3125574-v4-x64_2dafb1d203c8964239af3048b5dd4b1264cd93b9.msu を適用し、再起動

これでWindows Updateが実行できるようになりました。

有効なルート証明書も増えました

Internet Explorer 11適用について

DELLページではInternet Explorer 11のインストールが薦められていますが、2022年7月現在リンク先が動作していません。

現状は「x64 ベース システム Windows 7 用 Internet Explorer 11」から入手となる様です。

ただ、DELLページだと別途Internet Explorer 11をインストールする、と書いてありますが、WIndows Updateからでインストールすることも出来ます。

単独でインストールする場合は上記リンクから ie11-windows6.1-x64-en-us_ddec9ddc256ffa7d97831af148f6cc45130c6857.exe を入手しインストールすると前提パッチ適用も行われます。ただ・・・インストール後もWinodws updateでIE11インストールの選択が残っていたので、おとなしくWindows Update経由でインストールした方が良さそうです。

IE11インストーラによるインストール中に以下が追加されていた
Windows 7 x64 Edition 用プラットフォーム更新プログラム (KB2670838)
Windows 7 for x64-Based Systems 用更新プログラム (KB2729094)
Windows 7 for x64-Based Systems 用更新プログラム (KB2834140)


Windows Updateで適用できないものがある

2022/07/15時点でWindows Updateを行うと2つの重要な更新プログラムで「エラーコード 80092004 Windows Updateで不明なエラーが発生しました」という失敗が発生した。

失敗している更新は以下の2つ

2019-09 x64 ベース システム用 Windows 7 向けセキュリティ マンスリー品質ロールアップ (KB4516065)

2020-01 Windows 7 および Server 2008 R2 (x64 版) 用 .NET Framework 3.5.1、4.5.2、4.6、4.6.1、4.6.2、4.7、4.7.1、4.7.2、4.8 のセキュリティおよび品質ロールアップ (KB4535102)

それぞれ定期的に更新されていそうなものなのでMicrosoft Catalogで検索してみるとかk

Windows 7 向けセキュリティ マンスリー品質ロールアップ」で検索すると、2022/07/15時点では「2022-07 x64 ベース システム用 Windows 7 向けセキュリティ マンスリー品質ロールアップ (KB5015861)」が最新となる。

Windows 7 用 .NET Framework 3.5.1、4.5.2、4.6、4.6.1、4.6.2、4.7、4.7.1、4.7.2、4.8 のセキュリティおよび品質ロールアップ」で検索すると、2022/07/15時点では 「2022-04 Windows 7 (x64 版) 用 .NET Framework 3.5.1、4.5.2、4.6、4.6.1、4.6.2、4.7、4.7.1、4.7.2、4.8 のセキュリティおよび品質ロールアップ (KB5012329)」が最新となる。

2022-07のロールアップの適用を試みたところ、エラーとなり、「Windows を実行しているコンピューターに .msu 更新プログラム パッケージをインストールするときのエラー メッセージ: 「このパッケージをインストールする前に、Windows モジュール インストーラーを更新する必要があります」」というリンクが案内された。

しかし上記記事内に各OSごとの更新プログラム情報のリンクが存在していない。

英語版の「Error message when you install a .msu update package on a computer that is running Windows: “The Windows Modules Installer must be updated before you can install this package”」には記載されている。

ただ、リンク先は「An update that prevents a “0xC0000034” error message when you try to install Windows 7 SP1, Windows Server 2008 R2 SP1, or Windows Embedded Standard 7 SP1 is available」という記事でそこからリンクされているアップデートファイルはアクセス出来ない。

Update the Windows Update Agent to the latest version」の”Stand-alone packages for Windows 7 SP1 and Windows Server 2008 R2 SP1″にてダウンロードできそうだったのですがアクセス出来ず。

2533552」で検索すると、そこにはWindows 7 x64 についてのファイルがないが、「Windows Embedded Standard 7 for x64-Based Systems 用更新プログラム (KB2533552)」で適用しようとしたが、すでに適用されてる、となった。

https://www.catalog.update.microsoft.com/Search.aspx?q=KB3150513
https://www.catalog.update.microsoft.com/Search.aspx?q=KB3185319

ここらを適用しつつ再起動を繰り返したら 次は 2020年 1月 31日 マンスリーロールアップの適用で止まった。

そこは以下を適用していったらなんとなった。

2020 年 1 月 31 日 — KB4539601 (マンスリー ロールアップのプレビュー)」に記載されている前提パッチ
 2019-03×64 ベース システム用 Windows 7 サービス スタック更新プログラム (KB4490628)
 2019-09 x64 ベース システム用 Windows 7 のセキュリティ更新プログラム (KB4474419)
 そしてパッチ本体 2020-01 x64 ベース システム用 Windows 7 向けマンスリー品質ロールアップのプレビュー (KB4539601)

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


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

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

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

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

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

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

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

AlmaLinux の場合

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

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

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

RockyLinuxの場合

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

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

Oracle Linuxの場合

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

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

Cent OSの場合

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

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

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


2023/03/06 追記

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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