当社では、独自のバイナリのシステム ライブラリとの下位互換性を維持し、FreeBSD の各バージョンごとにビルドすることを避けるために、非常に古い FreeBSD ビルド システム (6.3) を使用しています。
質問: 新しい FreeBSD 11.x をインストールし、その上に古いシステムを jail することは技術的に可能ですか? それとも、互換性のないシステム コールが原因で問題が発生しますか?
カーネル インターフェイスのサイズに関する、おそらく破壊的な変更があったことを覚えていると思いますtime_t
。古いシステム コールに依存する古いバイナリを破壊するような変更はありますか。それとも、(対応する) 新しいシステム コールに関連付けられている新しくビルド/リンクされたバイナリにのみ影響するのでしょうか。
答え1
bhyve は最初の手段であって、最後の手段ではないと思います。ビルド環境を jail にすると、11.x カーネルで 6.3 ワールドとライブラリに対して製品をテストすることになります。ただし、顧客は 6.3 ワールド/ライブラリと 6.3 カーネルを実行することになります。
6.3 カーネルと 11.x カーネルの違いは、時間の経過とともに大きくなることが予想されます。これにより、テスト jail の 11.x カーネルは正常に動作するが、顧客の 6.3 カーネルは動作しないといった状況が発生する可能性があり、その結果、顧客の問題レポートを再現できなくなります。
私の意見では、bhyve がこの作業に最適なツールです。