web-dev-qa-db-ja.com

2つのglibcをdebian / ubuntuに一緒にインストールする

同じマシンに2つの異なるglibcバージョンをインストールして使用することは可能ですか?古いglibcバイナリに依存するレガシーソフトウェアを実行するために1つのバージョンが使用されるのはどこですか?

パッケージマネージャーを使用してそれを行うことは可能ですか(「このパッケージとその依存関係を/opt/old-glibc)、それを悲惨に管理する代わりに

15

はい、可能です。ライブラリのロードパスには細心の注意を払う必要があり、他のいくつかのライブラリを再コンパイルする必要がある場合があります。

摩擦が最も少ない方法として、古いバージョンのDebianまたはUbuntuを chroot にインストールすることをお勧めします。つまり、/old/etchなどのディレクトリを作成し、そこにルートを置くツリーに古いディストリビューションをインストールします。問題のあるプログラムを実行するには、chrootを呼び出して、ファイルシステムの表示を/old/etchに制限します。

Debian(またはUbuntu)には、chrootへの別のシステムのインストールを支援するパッケージが付属しています。 schroot (dchrootの後継者)。まず、 debootstrap を使用して古いディストリビューションをインストールします(ベースシステムとプログラムに必要なものだけをインストールし、サーバーはインストールしません)。次に、schrootを設定して、プログラムを便利に実行します(/dev/proc/home、およびアクセス可能なその他の「サテライト」ファイルシステムを使用)。

したがって、計画は、debootstrap、次にdchrootです。 64ビットのDebian/Ubuntuで32ビットのプログラムを実行するにはどうすればよいですか? では、同じバージョンのセットアップについてのチュートリアルを提供します-ディストリビューションの異なるバージョンを実行しているか、異なるアーキテクチャを実行しているかまたは別のDebianライクなディストリビューションでも、適切なパッケージソースを選択するだけで、残りは同じです。