WPP
Windows updateが 0x80240438 で失敗する場合

数週間前から Windows update が失敗する現象が発生していて少し気になっていたが解決したので記録に残す。

現象の発生状況

問題の PC は、普段は Windows ドメイン (アクティブ ディレクトリ)に参加していて色々な設定がよしなにされている(有無を言わせず強制されている)。インターネットには正常に接続できている。

Windows Update を実行すると「更新サービスに接続できませんでした。。。。」というメッセージが表示され、

イベントビューアでは WindowsUpdateClient がエラー 0x80240438 で失敗している。

解決方法

はじめ、不用意にサービスを停止してしまって Windows update が失敗するのだと思い試行錯誤したが原因は他にあった。

Windows update の参照先が WSUS (Windows Server Update Services) に向いていてそこにアクセスできなくなっていることが問題だったようだ。WSUS はざっくりいうと Windows update のダウンロード元を社内サーバーなどに置くことができるソフト。利用すると会社の PC が一斉にアップデートを実施してインターネットのダウンロード帯域を食いつぶすことを防ぐことができる。

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate キー

デフォルト変更値
DoNotConnectToWindowsUpdateInternetLocations10
WUServer
WUStatusServer

グループポリシーかログイン時のスクリプトで上記レジストリが設定されているっぽいが、それを変更できちゃうのはちょっと解せない。がアップデートできたので OK。

まとめると、何らかの方法で WSUS を使う設定がされており、かつ WSUS にアクセスできない状況で今回のエラーが発生していた模様。エラーコード自身は他の原因とも共有されているらしいので WSUS 関連とは限らないっぽい。

大体、このケースにぶち当たる人は個人ユースでは皆無と思われる。なので検索で見つからないのも無理はない、参照ページがなかったらサービス周りを疑い続けたと思うのでとても助かった。

ついでに依存サービス

Windows update はいくつかのサービスに依存しているようで、サービス表示名のサービス名対応は以下のようになる。sc コマンドで BITS などのサービス名の方を使う。

  • Background Intelligent Transfer service – BITS
  • Windows Update – wuauserv
  • Windows Modules Installer – TrustedInstaller

参照

Windows Update 「更新サービスに接続できませんでした」エラーの解消 – A Memorandum

apt で “N: There are 2 additional versions. ….” が表示されて apt upgrade できないとき

今日 apt list –upgradable すると “N: There are 2 additional versions. …” とメッセージが表示され、upgrade できない現象に出会いました。

ネットを検索すると There are 2 の部分が 1 とか 3 とかで見つかったので一定数、同じ問題で困った人がいるようです。

今回 upgrade できなかったのは、snapd/jammy-updates ですが、その適宜メッセージでレポートされたパッケージにしてください。

$ sudo apt --only-upgrade install snapd/jammy-updates

参照

List Upgradable Packages With apt Command in Ubuntu

Firefox でページ上の QR をスキャンするアドオン “QR Lite”

最近は QR コードが URL の変わりに使われることが多くなりました。カメラ経由でスキャンするケースでは、スマホも PC も大して変わりません、楽ですよね。

今日はスライド共有サイトを見ていて表示された QR コードをなんとかしたいので QR Lite というアドオンを見つけたという話です。

QR Lite – Get this Extension for 🦊 Firefox (en-US)

機能

  • QR コードの生成
  • カメラから QR 読み込み
  • ブラウザ表示中の QR をスキャン

使い方は簡単なので、特に説明しません。

QR を生成するアドオンは無数にあり、多くが画像ファイルのスキャンができるようで。しかし、画面上のQR をスキャンできるものは少ないです。

VScode で pipenv 環境を認識できないとき

ひさびさに python をいじろうと思ったら VScode で認識できなかったのを対処した話です。

まあ pipenv に限らず、python インタプリタを認識しないとき全般同じ対策です。

手順

プロジェクトのフォルダに .vscode/settings.json ファイルがあるはず。なければ .vscode フォルダも含めて作ります。

ファイルに “python.pythonPath” キーを追加しインタプリタのフルパスを設定してやります。

今回は、プロジェクトフォルダ内に pipenv の環境を作ったので .venv フォルダ以下の python を指定してやります。

こんな感じです。

{
 ... 設定済みの値が並んでいたら適当な位置に追加する
  "python.pythonPath": "d:/projects/xxxx/.venv/Scripts/python.exe"
}

これで認識するようになります。

それはそれでいいのだけれど、どうして自動で認識する時としない時があるのか VSCode の挙動は未だに謎が多い。