はじめまして、R-Nouveau!さん。かっこいい名前ですね。 > アプリケーションの互換が無くなるほどの差があるのでしょうか? 互換性という言葉を出すなら、何と互換性が高いか、という ことを考えなくてはなりませんね。 まずUNIXにはBSD系とSystemV系があります。 前者はFreeBSD、NetBSD、BSDI、SunOS4(昔のSunOS)、 後者はSolaris、HP-UX、AIXなどほとんど商用OSです。 で、LinuxはBSD系とSysV系のいいとこ取りです。 # 悪く言えばどっちつかずですけど。 というわけで、LinuxのコマンドはSysV系、BSD系、 Linuxオリジナル、の3つが混ざってます。 別の観点から見ると… OS開発者とは別の人が作っているコマンド(例えば muleとかnetscape、procmail、nkf、perl、apache、 tcsh、sendmailなど他にもたくさん)は、動作・ オプションに違いはありません。 その作成者はどの環境でも同じように動くことを望んでいる のですから、当然といえば当然です。 上と同じ理由で、GNUが開発/配布しているコマンド (bash、flex、gcc、fingerなど)も互換性は高いです。 また昔からあるコマンド(lsとかcat)も、結構共通点があります。 んが、OS開発者が自ら作っているコマンド、つまりOSに深く 関わるコマンド(ppp、pkg_add、natd、ps、cron、mount、 ktraceなど)はかなり違います。 それから、ソースレベルでの互換性という点では、 インクルードファイルやライブラリの有無/仕様の違い/ などが原因で、少し大きめのプログラムだと、一発で コンパイルできないことも多いです。 でも、わかっている人がソースやMakefileをいじると 大抵の場合なんとかなります。 # わかってない人がいじってもどうにもならない。 ですから、FreeBSDではportsやpackage、Linuxでは (よく知りませんが)ディストリビューションごとに rpmとかを用意して、わかってない人でも一発で インストールできるようにしてるわけです。 …というふうに、「アプリケーションの互換性」と 曖昧な聞き方をされると、こんなに長くなってしまう のでした(笑) |