インストールされないファイルを所有する rpm パッケージをビルドできますか?

インストールされないファイルを所有する rpm パッケージをビルドできますか?

アプリケーションの最初の起動時にデフォルト値が設定された構成ファイルを作成する必要がある状況があります。これは、ユーザーによる変更を重視する一般的な構成ファイルではありません。アップグレード中は、構成ファイルを削除して、新しいコードが起動し、デフォルトで構成ファイルを自動的に再作成するようにします (これは私の決定ではなく、しぶしぶ指示に従っただけです)。

インストールされないファイルを所有する rpm パッケージをビルドして、アンインストール中にこのファイルを削除する方法はありますか?

ファイルを削除する事前削除スクリプトレットをいつでも追加できることはわかっています。rpm で自動的に削除できるかどうか知りたいだけです。

答え1

次のディレクティブを使用してこれを実行できます%ghost

%files
%ghost /path/to/future.file

からドキュメンテーション:

%ghost ディレクティブ

%files リストというセクションで述べたように、%files リストにファイルが指定されている場合、そのファイルは自動的にパッケージに含まれます。ファイルがパッケージによって所有されていてもインストールされない場合があります。ログ ファイルや状態ファイルは、これが起こることを望む場合の良い例です。

答え2

いいえ、それは不可能です。

ちなみに、RPM はアプリとライブラリを配信するためのものです。構成管理には Ansible を使用する必要があります。

関連情報