RPMクロスプラットフォームは有効ですか?

RPMクロスプラットフォームは有効ですか?

Red Hatおよび/またはFedora(および/または他のディストリビューション?)のRPMについては少し混乱しています。 64ビットRPMを必要とする64ビットOSと32ビットRPMを必要とする32ビットOSは大丈夫です。しかし... OpenOffice.org用のRPMがある場合、どのような方法でそのRPMが許可されますか? RPMはすべてのオペレーティングシステムで動作しますか、または使用しているオペレーティングシステムに合わせて特別にカスタマイズされたRPMを見つける必要がありますか?

ベストアンサー1

いつものように答えは異なります。 RPM(またはデフォルトでは特定のバイナリパッケージ)には実行可能なコードが含まれています。ほとんどの場合、コードはいくつかのライブラリまたはプログラムに依存し、パッケージはlibAバージョン> = 1.0のライブラリに依存することを指定します。

これで、RPMパッケージング形式を使用する2つのディストリビューションがあります。誰かがlibA-1.0パッケージを呼び出して、RPMがlibAに依存することを指定したとしましょう。 2番目のバイナリディストリビューションは異なるnaimgスキームを持ち、パッケージの前にプレフィックスを付けるのでlanguage名前がありますlanguage-libA。両方のlibAパッケージの内容が同じであっても、パッケージマネージャはそれを知りません。もちろん、依存関係を確認せずにRPMにパッケージをインストールすることを強制することもできますが、これは通常必要なペナルティにすぎません。

2 つのディストリビューションが互いに関連しているか、互いに依存している場合、問題はそれほど深刻ではありません。たとえば、Ubuntuはdebianに基づいているため、多くの命名規則とパッケージを共有するので、パッケージビルドをdebianからUbuntuシステムに転送できます。

また、パッケージが作成された言語によって大きく異なります。パッケージがデフォルトでテキストファイルの束であるPythonのような解釈がある場合、さまざまなディストリビューションのパッケージを入手するのは一般的に扱いやすいですが、Pythonで書かれている場合はPythonとC ++に依存し、両方のディストリビューションは異なるバージョンのコアライブラリまたはコンパイラを持っています使用するので、基本的に幸運ではありません。

おすすめ記事