Linuxで実行される最も古いバイナリは何ですか?

Linuxで実行される最も古いバイナリは何ですか?

LinuxカーネルとGUI ABI以前のバージョンとの互換性に関する議論、Alan Coxは次のように指摘しています。私の3.6rcカーネルは、1992年に構築されたRogueバイナリを実行し続けます。 XはLinuxより古いアプリケーションと逆互換です。

Linuxは以前のバージョンとどのくらい互換性がありますか?アプリケーションバイナリインタフェース

実際には、数年前に書かれ、コンパイルされ、現代の汎用Linuxディストリビューションでまだ実行されている最も古いバイナリ実行可能ファイルは何ですか?

私はこれらの言葉がすべて説明できると確信しています。私の主な考えは、エミュレータ、特殊な仮想マシン、またはバイナリコンバータを介して実行することは公平ではないということです。しかし、これはいくつかの最新のディストリビューションに組み込まれているかもしれません。

ハードウェアアーキテクチャの違い、実行ファイル形式、言語、および主要ライブラリへの依存関係を動的にロードすることも興味深いです。

以下は、ルールが緩和された場合の追加の例です。 2002年のウェブページ最新のRed Hat Linuxでa.out実行可能ファイルを実行する使用について話す本物古い Linux ELF 古い a.out-format 実行可能ファイルが実行され、インポートされmodprobe binfmt_aout ます。/lib/ld.soこれはlibc.so.4 また、この質問に対する周囲の関心事ですが、さらに深く掘り下げたときに含めることができるさまざまな点を示しています。

修正するBSDファンの場合は、以前のXenixアプリケーション(例:1990年のzork / dungeon-2.5.6)とSCO OpenServer 5.0.xアプリケーション、および最近はNetBSD 4.0.1(2008)のiBCS2サポートを確認することをお勧めします。iBCS2とNetBSD仮想化の楽しみ。しかし、NetBSD 5.0.xでも同じ問題が発生しているようです。

アップデート2:1年が過ぎた今、この質問について「アナウンサー」バッジを獲得した後も私はまだ答えを探しています。明確にすると、これはAPIに関するものであり、少なくとも元の方法で動作する「実際の」バイナリ(長さがゼロではない)でなければなりません。

答え1

/bin/true が最も古い作業だと思います..

それでは、0バイトのファイルをバイナリファイルと呼ぶことはできますか?

touch /tmp/old_true
chmod 755 /tmp/old_true
/tmp/old_true
echo $?

答え2

それでは、Linuxアプリケーションバイナリインタフェースの以前のバージョンとの互換性は正確に何ですか?

LinuxカーネルABI分析レポートを見ることができます。ここ(バージョン2.6.36-4.4.5):

ここに画像の説明を入力してください。

複数のLinuxベースライブラリの同じレポートを以下に見つけることができます。このページ(Glibc、Qt、カイロ…)。各バージョンの以前のバージョンのバイナリ互換性はパーセンテージと推定されるため、各ライブラリの完全なABI互換性の結論を導き出すことができます。

ここに画像の説明を入力してください。

約 700 個の Linux ライブラリに関する追加レポートについては、以下を参照してください。upstream.rosalinux.ru。このリソースはサポートされなくなりました(使用abiトラッカー代わりに、以前のリポジトリのレポートを表示できます。

関連情報