FreeBSDの管理者に毎日届くセキュリティレポートの「Checking for packages with mismatched checksums:」に、またまたリストが表示されるようになっていました。
Checking for packages with mismatched checksums: xorgproto-2019.2: missing file /usr/local/include/GL/glxint.h xorgproto-2019.2: missing file /usr/local/include/GL/glxmd.h xorgproto-2019.2: missing file /usr/local/include/GL/glxproto.h xorgproto-2019.2: missing file /usr/local/include/GL/glxtokens.h xorgproto-2019.2: missing file /usr/local/include/GL/internal/glcore.h xorgproto-2019.2: missing file /usr/local/include/X11/DECkeysym.h xorgproto-2019.2: missing file /usr/local/include/X11/HPkeysym.h xorgproto-2019.2: missing file /usr/local/include/X11/Sunkeysym.h xorgproto-2019.2: missing file /usr/local/include/X11/X.h xorgproto-2019.2: missing file /usr/local/include/X11/XF86keysym.h xorgproto-2019.2: missing file /usr/local/include/X11/XWDFile.h xorgproto-2019.2: missing file /usr/local/include/X11/Xalloca.h xorgproto-2019.2: missing file /usr/local/include/X11/Xarch.h xorgproto-2019.2: missing file /usr/local/include/X11/Xatom.h xorgproto-2019.2: missing file /usr/local/include/X11/Xdefs.h
今回は、xorgproto-2019.2 というパッケージに入っているべきファイルの一部が見つからない(結果的にマスターのチェックサムが一致しない)ようです。
xorgprotoパッケージを再インストールすれば解決することは分かっているのですが、私のサーバーはX-Windowを使っていないのに不思議な現象。
では、xorgproto を消してしまおうと、コマンドを発行してみたところ、以下のような結果に。
# pkg delete xorgproto Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 9 packages (of 0 packages in the universe): Installed packages to be REMOVED: xorgproto-2019.2 libXdmcp-1.1.3 libX11-1.6.9,1 libxcb-1.13.1 php72-gd-7.2.26 libXext-1.3.4,1 libXt-1.2.0,1 libXpm-3.5.12_2 phpMyAdmin-php72-4.9.3 Number of packages to be removed: 9 The operation will free 45 MiB. Proceed with deinstalling packages? [y/N]:
なるほど、phpMyAdmin を動かすための依存関係があるパッケージとして道連れで入っていたのね。
削除はキャンセルして、xorgproto だけ入れ直すことにしました。
ところでどうやって?
多分、Forceオプション -f を付けて、pkg install か pkg upgrade を行えばいいんじゃない?って思って試してみました。パッケージデータベースのことを考えると install よりも upgrade の方が良さそうな気がして、以下のように pkg upgrade Force オプション付き を発行してみました。
# pkg upgrade -f xorgproto Updating FreeBSD repository catalogue... FreeBSD repository is up to date. All repositories are up to date. Checking integrity... done (0 conflicting) The following 1 package(s) will be affected (of 0 checked): Installed packages to be REINSTALLED: xorgproto-2019.2 Number of packages to be reinstalled: 1 Proceed with this action? [y/N]: y [1/1] Reinstalling xorgproto-2019.2... [1/1] Extracting xorgproto-2019.2: 100%
コマンドは無事に完了。
> ll /usr/local/include/GL/glxint.h ls: /usr/local/include/GL/glxint.h: そのようなファイルまたはディレクトリはありません
実行前には見つからなかったファイルが、以下のように正しく認識されています。
# ll /usr/local/include/GL/glxint.h -rw-r--r-- 1 root wheel 4695 1月 2 10:16 /usr/local/include/GL/glxint.h
きっと明日のレポートでは、「packages with mismatched checksums」が解決されているでしょう。