匿名質問者

linuxについてですが、個々のディストリビューションがカーネルやアプリに対してそれぞれパッチを当てますよね?その時互換性とかはどうなってるんでしょう。アプリはディストリビューション側で管理しているので、glibcみたいなコアな部分とかも互換性切りまくりでズタズタに変更されてる可能性があるんじゃないかと心配です。ディストリによるでしょうがどの程度バニラのコードと互換性があるのか、詳しい方教えていだたけないでしょうか。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2014/01/12 23:51:51

ベストアンサー

匿名回答1号 No.1

一般的な話をしますと、

* 通常時に当たるパッチのほとんどはバグフィクスで、互換性を壊すような変更はメジャーバージョンアップの時に限られます。
* パッチのほとんどは本来の開発元にて行われた変更を、各パッケージャが取り込んで再ビルドして配ってるもので、ディストリビューション毎にバラバラに開発しているわけではありません。

ですので、API、ABIレベルでの互換性が問題になることはそれほど多くないはずです。

開発元の最新バージョンがAPI互換性を崩すような変更を行って、そのまま変更を配信すると他のアプリと整合性が取れなくなるような場合、ディストリビューションではそのソフトのバージョンを据え置いたまま、セキュリティパッチなど重要なものだけ個別にバックポートして配信する場合はあります。従ってソースコードレベルで見ればあちこちに差異はあるでしょうね。

ディストリビューションの方針によって、多少互換性を崩す恐れがあってもなるべく最先端に追従するか、保守的な方に振って安定性を重視するか、といった個性はあります。

他1件のコメントを見る
匿名回答1号

「それぞれのディストリが本来の開発元のソースとの互換性を切るような変更」←これはほぼ無いです。これって本家からフォークするということを意味しますが、そうするメリットが全くありません。メンテの手間が増えるだけですよね。ディストリビューションの方でどうしても必要な変更をしたのなら、それを本家に送ればみんなで共有できるわけですから。


ディストリビューション提供のバイナリではなく、アプリ本家から独自にソースを取ってきてビルドする場合に素直に通らない、ということはしばしばあります。本家最新版が依存するライブラリのバージョンが、ディストリビューション提供のライブラリのバージョンと違うというケースですね。この場合は仕方ないので自力で依存するライブラリを入れてゆく必要があります(依存ライブラリが多い、大きなソフトだと結構な手間になります。) けれどもこれも単なるバージョンの違いであって、ディストリビューション独自の変更が障害になったというケースは私は目にしたことがありません。

2014/01/12 23:25:43
匿名質問者

回答ありがとうございます。
今回もわかりやすく、とてもためになりました。
こういったこちらの意図を汲んでくる回答を得られることを嬉しく思います。
本当にありがとうございました。

2014/01/12 23:51:34

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません