続いて、FreeBSDネタ。
半年くらい前から、FreeBSDのデイリーセキュリティーレポートに、次の行が含まれています。
Database fetched: Thu Aug 4 04:19:02 JST 2022 db5-5.3.28_8: Tag: expiration_date Value: 2022-06-30 db5-5.3.28_8: Tag: deprecated Value: EOLd, potential security issues, maybe use db18 instead
db5 というパッケージがメンテナンスから外れて、代わりに db18 を使えってことを伝えるメッセージ。
じゃあ、db5 を消して db18 を入れればいいのね?ってことで、pkg delete で db5 を消そうとしたところ、以下のように依存関係があって消せない。
# pkg delete db5 Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 3 packages (of 0 packages in the universe): Installed packages to be REMOVED: db5: 5.3.28_8 portupgrade: 2.4.16,2 ruby30-bdb: 0.6.6_8 Number of packages to be removed: 3
消してもいいけど、portupgrade も消えるのでパッケージメンテナンスが出来なくなります。
db5 を消した後、もう一度 portupgrade パッケージを入れるときに、依存関係が変わって db18 がインストールされるならいいのですが、portupgrade コマンドとの依存関係は db5 のまま。
再インストールすると、結局 db5 削除前の状態に戻ります。
そういえば、確か、portmaster コマンドか何かのパッケージメンテナンス系コマンドを使って、パッケージの依存関係を切り替えることが出来たはずと思いだそうとしたのですが、すぐには思い出せない。db5 と db18 の並列インストールは可能なので、両方が入っている状態を作ることは出来ます。db5 なんて、ユーザーが直接使うコマンドじゃないので、どうメンテナンスすればいいのかわからん!/usr/ports/UPDATING には EoL情報はあるけど手動による切り替え方法は書いてないし。。。。。。
どうすりゃいいんだい?