機械翻訳について

互換性

Oracle Linuxは、オペレーティング・システムの下で実行されているカーネル・バージョンに依存しない、Red Hat Enterprise Linux (RHEL)との完全なユーザー空間の互換性を維持します。 ユーザー空間の既存のアプリケーションは、Unbreakable Enterprise Kernelリリース6で変更なしに引き続き実行され、RHEL認定アプリケーションには再認定は必要ありません。

Oracle Linuxチームはリリース時の互換性に関する影響を最小限に抑えるため、カーネル・モジュールに対する依存性があるハードウェアおよびソフトウェアを提供するサード・パーティ・ベンダーと緊密に協力しています。 UEK R6のカーネルABIは、初期リリースへの後続のすべての更新で変更されません。 このリリースでは、システムのサード・パーティのカーネル・モジュールの再コンパイルを必要とする、UEK R5を基準とするカーネルABIに変更が加えられています。 UEK R6をインストールする前に、アプリケーションのベンダーにサポート・ステータスを確認してください。

カーネル・ヘッダーでの重要な変更

カーネル・ヘッダーへの変更をアップストリームすると、ソース・コードを変更することなく、サード・パーティのモジュールが異なるカーネル・バージョン間でコンパイルすることを意味する場合があります。 memcg_cache_params構造がinclude/linux/slab.hからmm/slab.hに移動されたことが顕著です。 つまり、カーネル・バージョン間でコンパイルする場合は、コードを考慮に入れて変更を考慮する必要があります。

この問題を解決するには、コードがUEK R5とUEK R6の両方でコンパイルできるように、ソース・コードでヘッダー要件を変更します。 たとえば、次の例のような明細を、2番目の例のように変更します:

#ifdef CONFIG_SLUB
#include <linux/slub_def.h>
#endif
#if ( LINUX_VERSION_CODE < KERNEL_VERSION(5,4,0) )

#ifdef CONFIG_SLUB
#include <linux/slub_def.h>
#endif

#endif