Fessのdebパッケージで、/etc/fess内の設定ファイルをdpkgのconffilesとして扱う変更がマージされました。ローカルで編集した設定を、更新や再インストールで上書きされにくくする改善です。追加修正では、15.8からの初回移行で未編集の設定を新版へ置き換えます。編集済み設定の選択と無人更新の方針は、引き続き確認が必要です。
保護対象と更新時の動作
対象はfess_config.properties、logging.properties、tomcat_config.properties、tika.xmlと、chunk・crawler・suggest・thumbnail・web用の5つのfess_env_*.propertiesです。
従来はこれらが通常のパッケージファイルとして扱われ、編集した内容が確認なしで上書きされる場合がありました。修正後はconffilesとなり、ローカルとパッケージの双方で変更があればdpkgが選択を求めます。採用しなかった内容は状況に応じて.dpkg-oldや.dpkg-distに残ります。
初回移行と無人更新
追加修正#3627を含むパッケージでは、15.9より前からの更新時に、旧パッケージの記録したMD5と一致する未編集の/etc/fessファイルを新版へ置き換えます。この場合は確認を求めません。編集済みファイルは保持し、dpkgの通常の設定選択に従います。--force-confoldなら編集を残して新版を.dpkg-distへ、Yまたは--force-confnewなら新版を採用して旧編集を.dpkg-oldへ保存します。
#3608だけを含み#3627を含まないビルドでは、未編集のファイルにも確認が発生し、旧初期値を残す場合があります。対象ビルドの修正範囲を確認してください。/etc/default/fess、/etc/init.d/fess、systemdユニットは15.8時点ですでにconffilesで、今回の未編集ファイルの処理対象ではありません。
apt-get install -yだけでは、この設定選択への応答を保証できません。標準入力がない環境では更新処理が止まり、パッケージが未設定状態で残る場合があります。自動更新では既存設定を残すか新しい設定を採用するかを決め、dpkgの--force-confold・--force-confnewなどの方針を明示します。
既存設定を残す方針で、設定待ちの状態を解消する例は次のとおりです。
sudo dpkg --configure -a --force-confold
このコマンドは未設定のパッケージ全体を対象にします。実行前にパッケージ状態と設定のバックアップを確認してください。既存設定を残した場合、新しい初期値が自動で反映されるわけではありません。.dpkg-distなどを比較し、必要な差分を取り込みます。
削除との違い
修正後はdpkg -rで設定ファイルが残ります。dpkg -Pでは設定も削除されます。更新時の保護をバックアップの代わりにせず、設定の保管と差分確認を更新手順に含めてください。