RPM修正プログラム/パッチアプローチ
-
14-11-2019 - |
質問
CentOS 5.5でシステムを実行し、私たちのソフトウェアのすべてを含む1回のRPMを使ってソフトウェアをインストールします。ホットフィックスやパッチを適用する必要があるとき、現在のシステムは単にタールに固執することです。
ホットな修正やパッチを適用するための追跡可能な再現性のあるシステムを開発しようとしていますが、このプロセスでRPMが役割を果たしているのは少しわかりません。
私たちがバージョン番号を上げて、1つのファイルだけであっても再インストールしてもRPMはロット全体を爆発します。これには、NooNeが交換されるように認識していないシステムに別の修正プログラムを置いていることが絶対に確信していることが必要です。
新しいファイルを含むRPMを作成し、既存のRPMの上にそれを適用することは可能ですか?それはどのようにしてシステムのその後のアップグレードに影響を与えるでしょうか?
解決
問題は、RPMによってローカルにインストールされたファイルを変更し、それらを忘れることです。
これを修正プログラムとして使用する場合は、修正プログラムの直後に新しいRPMを構築してからその新しいRPMをデプロイする必要があります。
マシンの上にHotfixの後に修正プログラムを通常のプロセスにコミットすることなく修正プログラムを入れることを許可されている場合は、災害を招待しています。
あなたが横になっている修正プログラムがあるという事実を思い出させるためにあなたができることはを使うことです。
rpm -q --verify (your rpm name)
.
RPMがインストールされてから変更されたファイルのリストを印刷します。そのようにあなたは少なくともどのファイルがパッチされていて考慮されるべきかを知っています。
他のヒント
RPMの点は、再現可能で検証可能なインストールを行うことです。アップデートが(パッチまたは新しい上流のソースを介して)ロールされている新しいRPMを生成する必要があります。
モノリシックパッケージを分割すると、部品を個別にアップグレードすることができます。
deltarpm を使用することができます(ただし、推奨されません。 古いRPMと新しいRPMを持つ(ビルドマシン上)DeltArpmツールを使用してデルタを生成できます。 ソフトウェアがインストールされているボックス上のDeltArpmツールを使用すると、自動的に古いRPMを新しいRPMにアップグレードできます(必要に応じてダウングレードする)。
古いRPMによって提供された(設定以外の)ファイルが変更を受けると、修正をインストールすることはできません。さらに、DeltArpmは製造対象のツールではありません。あなたは警告されました。
DeltArpmの代わりとして、私はあなたのソフトウェアを少数の小さいRPMに分割し、新しいRPMのサブセットを修正プログラムとして提供することを勧めます。これはほとんどのコモムアプローチです。