2

私の製品は既にインストールされており、アップグレードしたいと考えています。現在、私のアップグレードには 1 つのファイルしか含まれていませんが、実際の製品にはより多くのファイルを持つディレクトリ構造が含まれています。

現在、私が使用しrpm -Uvh abc.x86_64.rpmているときは、古いファイルをすべて削除し、この単一のファイルを新しいアップグレード パッチに入れています。

Spec ファイルは%pre, %postスクリプトで書かれていますが、役に立ちません。

アップグレードするファイルを除くセクションで古いソフトウェアのバックアップを取得しようとしましたが、セクション%preの助けを借りてインストールした後%post、アップグレードされたファイルを除いてバックアップされたファイルを復元しようとしています。

上記のようにすると、アップグレードが機能しません。

この問題を解決するには助けが必要です。ポインタはありますか??

4

1 に答える 1

2

RPM の新しい (アップグレードされた) バージョンには、古いバージョンに含まれていたすべてのファイルに加えて、ファイルまたはケース内のファイルに加えた変更が含まれている必要があります。その後、リビジョン番号を 1 つ上げて、RPM をビルドする必要があります。これにより、すべての古いファイルがまだ存在するスムーズなアップグレード パスになりますが、必要な変更は適切に適用されます。RPM アップグレード プロセスがどのように機能するかについて混乱しているように見えるため、 Fedora のドキュメントを参照する必要があると思います。

于 2013-03-20T04:32:17.237 に答える