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


14

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

/opt/old-glibcひどく管理する代わりに、パッケージマネージャー(「このパッケージとその依存関係をインストールする」など)を使用してそれを行うことは可能ですか?


4
する必要がありますが... ...ああ、そんなに痛み。
シェパン

おそらく、しかし、あなたはより詳細を与える必要があるでしょう。どのOS(Debian / Ubuntuのバージョン)、さらに重要なことに、レガシーソフトウェアとは何か、どのlibcバージョンを使用していますか?私lddはあなたに何かを伝えると思います。可能であれば、レガシーlibcライブラリを再コンパイルするか、サポートパッケージをインストール/再コンパイルする必要があります。アプリの古さによっては、注意が必要になる場合があります。現在のDebianはとにlibc6依存しlibc-bin (= 2.13-0exp5)ているlibgcc1のでlibc6、多くの依存関係はありませんが、それでも問題が発生する可能性があります。
ファヒムミサ

回答:


8

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

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

Debian(またはUbuntu)には、chrootに別のシステムをインストールするのに役立つパッケージが付属しています:schrootdchrootの後継)。まず、debootstrapを使用して古いディストリビューションをインストールします(ベースシステムとプログラムに必要なもののみをインストールし、サーバーはインストールしません)。次に(と便利なプログラムを実行するためのschrootを設定し/dev/proc/homeおよびアクセスできる他の「人工衛星」のファイルシステム)。

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


すでに新しいバージョンがインストールされている場合は、そこから始めて、新しいバージョンの上に古いバージョンをインストールでき/old/etchますか?
n611x007

@naxaはい、実際はここで説明している状況ですが、逆方向に移動しても同じように機能します(新しいものは古いものにchrootされています)。実際、この回答を書いてから数日後にdebootstrap / schrootチュートリアルを書いたので、リンクを追加しました。
ジル「SO-悪であるのをやめる」
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.