Linuxカーネルの変更ログで確認できるように、「Bump ABI-Maverick ABI 28」などの更新メッセージがあります。
Ubuntu Wikiによると、ABIはカーネル空間と他のモジュールとの間の橋のようなものです(私の解釈)。
そのような更新は追加の機能やバグ修正を追加しますか?カーネルを次のバージョンにアップグレードする必要がありますか?
Linuxカーネルの変更ログで確認できるように、「Bump ABI-Maverick ABI 28」などの更新メッセージがあります。
Ubuntu Wikiによると、ABIはカーネル空間と他のモジュールとの間の橋のようなものです(私の解釈)。
そのような更新は追加の機能やバグ修正を追加しますか?カーネルを次のバージョンにアップグレードする必要がありますか?
回答:
注意: 私はカーネルの専門家ではありません-これは収集された知識と経験に基づいています。
ABIの「バンプ」は、ABIの上位バージョンを探している一部のモジュール/アプリケーションのバグを「修正」する場合でも、新しい機能をもたらすべきではありません。通常、すべてのコンポーネントの同期を維持すると安定性とセキュリティが確保されるため、これらの更新プログラムをインストールする必要があります。
まず、Linuxカーネルの変更ログを見ていません。メタパッケージを見ています。これは、最新のカーネルに依存するパッケージです。おそらく次のようなものが必要です:http : //changelogs.ubuntu.com/changelogs/pool/main/l/linux-image-2.6.35-28-generic/linux-image-2.6.35-28-generic_2.6.35- 28.50 / changelog
このメタパッケージの目的は、これらのABIバンプを通じてユーザーを移行することです。
私はあなたと同じ見解をABIとカーネルについて持っています。実際には、ABIバンプは、更新されたカーネルに対してすべてのモジュールを再構築する必要があることを意味します。
私の理解は、ABIのバンプが新機能ではなく、重要な修正とセキュリティ更新のみを意味するという点で、ローランドとも一致しています。
ABIはアプリケーションバイナリインターフェイスです(API、アプリケーションプログラミングインターフェイスと混同しないでください)。ABIは、アプリケーションが使用している数字のサイズ、記号、順序を定義します。
明確にするために、ここに例を示します。建物の年齢を年単位でエンコードします。これを行うにunsigned char
は、サイズが1バイトで、0〜255の値をエンコードできるタイプのCを使用できます。 255年前よりも。その後unsigned int
、4バイトの長さで、0〜65535の値をエンコードできるCを使用できます。
タイプをからchar
にint
変更しても、フィールドのセマンティックな意味は変更していません(年で表される年齢であり、現在もそうです)が、サイズを変更しました。私のアプリケーションと対話するすべてのソフトウェアを変更する必要はありませんが、異なる「言語」を話すでしょう。
したがって、カーネルがABIを変更すると、それは話す言語を変更したが、機能が追加、削除、または変更されていないことを意味します。カーネルと対話する必要のあるすべてのサードパーティモジュールは、この新しい言語を使用するために再コンパイルする必要がありますが、正しく機能するために何らかの方法で変更する必要はありません。
aptitude changelog linux-image-2.6.35-28-generic
変更のリストを表示します。メタパッケージにパッケージの更新が含まれていない理由はわかりませんlinux-{image,headers}-*-generic
。linux-{image,headers}-*-server
パッケージもあるからでしょうか?