2013-01-24 9 views
19

私はrpm -upgradeコマンドで遊んでいますが、rpmには変更された設定ファイルを処理する方法があり、アップグレード中に失われることはありません。私が理解するところでは、設定ファイルが変更され、パッケージがrpm -Uでアップグレードされた場合、rpmは元のプロパティファイルの名前を{file} .rpmsaveに変更し、元のファイル名{file}の新しい設定ファイルをインストールします。設定ファイルのRpmアップグレード処理

私が作成したパッケージでrpm -Uを実行しようとすると、実際に表示されるのは元の設定ファイルが削除され、新しい設定ファイルが{file} .rpmsaveに名前が変更されるということです。これは意図された動作ですか?私のインストールスクリプトでは、設定ファイルのテキストを "sed"で変更します。これは、アップグレード中にrpmが設定ファイルを処理する方法に干渉することがありますか?

+0

sedコマンドで何をしましたか? rpmnewファイルを変更しますか? – GrkEngineer

答えて

20

これは意図した動作です。構成ファイルが上書きされずに.rpmsaveに移動されるようにするには、rpm .specファイルで%configの代わりに%config(noreplace)を使用し、ファイルは置き換えられません。代わりに、rpmパッケージの新しいファイルは.rpmnewとして作成され、そこに残されたファイルはそのまま残ります。

+0

元のファイルを保持する方法はありますか?%postインストールで.rpmnewファイルの名前を元のファイル名に戻す必要がありますか? – user459811

+0

申し訳ありませんが、わからない場合は、元のファイルは置き換えられず、rpmからの "新しい"設定ファイルは.rpmnewとして作成されます。 –

関連する問題