rpm - 同じパッケージをアップグレードするとファイルの競合が発生する可能性があります。

rpm - 同じパッケージをアップグレードするとファイルの競合が発生する可能性があります。

複数のファイルを含むカスタムパッケージをインストールしました。

2回目の実行でrpm --upgradeエラーがたくさん発生しました。

File ABC from install of mypackage-1.0-0.i386 conflicts with file from package mypackage-1.0-0.i386

RPMはエラーコード5で終了します。

しかし、同じバージョン番号を持つ同じパッケージです! 「既にインストール済み」とマークしてはいけませんか?この問題を回避するには、specファイルまたはrpmアップグレードコマンドで何をすべきですか?

実行すると、rpm --upgrade --replacefiles「パッケージmypackage-1.0-0.i386終了コードが5の「インストール済み」

(ファイルが変更されていない場合は、ファイルを交換したくありません...

いくつかのエラーメッセージ

ベストアンサー1

いくつかのオプションがあります。最も簡単な方法は、rpm -U(アップグレード)コマンドが正しく機能するように新しいパッケージをビルドするときにバージョンおよび/またはリリースを増やすことです。これを望まない場合は、をrpm -U --replacefiles --replacepkgs使用してパッケージを効果的に再インストールできます。 3番目のオプションは、インストールする前に「新しい」パッケージを削除することです。

これらすべての場合、通常のペイロードの一部である(つまり、noreplace構成ファイルとして表示されていない)すべてのファイルは最新バージョンに置き換えられます。これがRPMがどのように機能するかです。変更のみを更新するには、以前のバージョンとの違いのみを含むDRPMパッケージ(Delta RPM)の作成を検討する必要があります。これを行うには、再構築時にバージョンおよび/またはバージョン番号を増やす必要があります。私は増分RPMパッケージを作成したことがないので、これについてアドバイスすることはできません。

おすすめ記事