
CentOS 4.7ベースのソフトウェアをインストールしようとしています。 Ubuntuでも動作するかどうかご存知ですか? CentOSは100%バイナリと互換性があることを読みました。最新バージョンのUbuntuにも適用されますか?
答え1
Linuxディストリビューション用にコンパイルされた実行可能ファイルは、他のディストリビューションに必要な共有ライブラリがある場合は、他のディストリビューションで実行できます。 CentOSのライブラリのバージョンはかなり古いので、Ubuntuのバージョンはあまりにも新しいかもしれませんが、通常はUbuntuが利用可能な唯一のバージョンであり、libfoo5
必要にlibfoo6
応じlibfoo3
て古いUbuntuのバージョンから入手できます。
CentOSとUbuntuは、rpmとdebという異なるパッケージングシステムを使用しています。 .rpmを使用してrpmをdebに変換できますalien
。必要な依存関係があるかどうかに応じて、結果のパッケージがインストールされる場合とインストールされない場合があります。 rpmを通常のアーカイブ(再利用するため)に変換したり、alien
下の別のディレクトリに抽出したりするのは簡単です。/opt
/usr/local
プログラムに依存関係のリストがない場合は、プログラムを実行してldd /path/to/binary
必要なライブラリーを確認できます。libfoo.so.4 => not found
何か欠けているかのように出力されるのがわかります。
答え2
中央オペレーティングシステム「100%バイナリ互換」です。商業対応、Red Hat Enterprise Linux。なぜならRHELサポート契約とさまざまな企業関連事項を含む許可されたシステムですが、誰もがそれを実行したいとは限りません。しかし、オープンソースの世界では、すべての開発を共有する必要があるため、サポート契約、メディアなどの費用を請求しても、まだソースコードを共有する必要があります。中央オペレーティングシステム再梱包してコミュニティに無料で提供することです。
さらに、「100%互換性」は、次の場合にのみ存在します。同等バージョン~のRHELそして中央オペレーティングシステム。ライブラリのバージョンは各メジャーバージョンによって変更されますが、これらのプロジェクトは同時にリリースされるため、すべて同じメジャーバージョンに設定されている限り、パッケージ間でパッケージを交換できます。
ディストリビューション、特にRPMベースのディストリビューションの違い。中央オペレーティングシステム次の Debian ベースのシステムUbuntu多くがあるかもしれませんが、与えられたパッケージはそれらの間で移植可能ではありません。ただし、システム全体はほぼ同じであり、あるシステム用に開発されたソフトウェアは、わずかに異なるコンパイルおよびパッケージング方式を使用して別のシステム用に簡単にコンパイルできることがよくあります。正しいライブラリバージョンをすべてインポートする場合は、あるバージョンのバイナリを実際に別のバージョンで実行できます。ザイルズの返信を見る。
答え3
LSB(Linux Standard Base)バイナリは、LSBをサポートするディストリビューション間で互換性がなければなりません。 CentOSはLSBをサポートしています。 UbuntuでもLSBサポートが提供されていますが、関連するLSBパッケージがデフォルトでインストールされているかどうかはわかりません。可能テストアプリケーションがバイナリ互換である場合。
LSBは、標準自体とそれがどのような影響を与えるかどうか、およびその程度の点で議論の余地があります。
答え4
CentOSは長期的に安定しているため、古いライブラリがあり、最新のシステムでコンパイルされたバイナリはリンクされていません。 CentOSはrpmパッケージマネージャを使用し、UbuntuはDebian aptを使用します。したがって、これらのパッケージは互換性がありません。
通常、CentOSで使用したいがまだ利用できない場合は、他のCentOSシステムのソースからRPMを構築する必要があります。