2

Linux でアプリケーションの静的にリンクされたバイナリ バージョンを配布しています。しかし、2.4 カーネルを搭載したシステムでは、起動時にセグメンテーション違反が発生し、「FATAL: カーネルが古すぎます」というメッセージが表示されます。

2.4 カーネルでバージョンを簡単に起動して実行するにはどうすればよいですか? 必要なライブラリのいくつかは、2003 年頃の古い Linux ディストリビューションでも利用できません。古いカーネルを簡単にターゲットにできる apt-get インストールなどはありますか?

4

2 に答える 2

2

最も簡単な方法は、VirtualBox (または VMWare などの同様のもの) をインストールし、 CentOS 3または 2.4 カーネルを搭載した適切な古いディストリビューションをインストールし、その上でアプリをビルド/テストすることです。

「カーネルが古すぎる」ため、2.4 カーネルには存在しないいくつかの機能に依存している可能性があるため、トレースして再加工する必要があります。エラーは単に glibc に静的にリンクすることによって引き起こされる可能性があります。glibc に動的にリンクし、他のすべてのライブラリを静的にリンクすることもできますが、後方互換性を維持するには、古い glibv システムでアプリをビルドする必要があります。lsbツールを使用してビルドすることも役立ちます

于 2010-01-17T02:25:49.950 に答える