- ベストアンサー
バイナリで配布されているプログラムをインストールする際、ディストリビューションとか関係ないんですか?
すみません。PC-UNIX初心者です。 今、FreeBSDとSolaris10とDebianとFedoraCoreが入っているんですが、とりあえず、プログラム開発環境を作りたいと思いまして、ApacheとPHPとMySQLをインストールしようとおもいました。 書籍の解説&CDには、tar.gz形式のファイルが入っていますが、どのディストリビューションでもこれらのバイナリファイルはインストール可能なんでしょうか?ディストリビューション特有のパッケージ(RPMなど)があることは、知っているんですが、よくサイトで配布されているtar.gz形式とかのバイナリファイルまたはソースファイルは、どのディストリビューションでもインストール可能なようにできているんでしょうか? そもそもLinuxとFreeBSDとかは構造および開発経緯が違う?から、一緒のファイル(この場合だとhogehoge.tar.gz)でインストールを行えるとは思いもよりませんでした。これは、カーネルが同じだからできるという解釈でいいんでしょうか?それともFreeBSDとLinuxではカーネルは違うんでしょうか? PC-UNIXはディストリビューション間で互換性を保とうとカーネルを同じにしているんでしょうか? 詳しい方、よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
同じディストリビューション・バージョンでも、異なるCPUを 使用しているPCに対して配布されているものもあります。 この場合はバイナリレベルの互換性はありません。 通常tar.gz形式で配布される場合は、ソースのみの場合が 多く、ソースからコンパイルする事によって、異なる環境 で実行可能なプログラムを入手する事ができます。 RPMパッケージはコンパイルする手間を省く為に、特定の ディストリビューション・バージョン・機種用に、予め コンパイルし、決められたディレクトリに対してインス トールするようにしたものです。 その為、他のディストリビューションのRPMパッケージを インストールした場合には、バイナリの互換性や環境の 違いによりうまくインストールできない場合もあります。 >LinuxとFreeBSDとかは構造および開発経緯が違う? UNIX系のOSでは、MS WindowsのようなCドライブとか Dドライブとかの概念はなく、必ず(/)ルートディレクトリ を起点とするディレクトリ構造になりますし、リンク を張って、見かけのディレクトリ構造を変更する事も できるので、Linux、FreeBSD、商用UNIXにかかわらず 同じ構成を作る事はできます。
その他の回答 (2)
- Tacosan
- ベストアンサー率23% (3656/15482)
FreeBSD と Linux で, カーネルは全く違います. ただ, どちらも*俗に* PC-UNIX と呼ばれるように POSIX という仕様に準拠しており, 従ってどちらのカーネルも基本的には同じ API を実装しています. そのため, ソースからのコンパイルは*たいてい*できます. なお, 細かいことをいうと, Linux は UNIX ではありません. あ, FreeBSD は Linux のどれかのディストリビューション (昔は RedHat だった) のエミュレーションもできるので, 場合によっては Linux 用にコンパイルされたバイナリでも動くかも. ちなみに「インストールファイル」というものが何を意味するのか全くわかりませんが, Windows でも Services for UNIX とか Cygwin という環境を使うと UNIX 用のソフトウェアがインストールできる, かも.
お礼
どうも適切なご回答ありがとうございます。 なるほど。PC-UNIXはPOSIXという仕様に準拠しているから基本的に同じAPIを実装しており、ソースからのコンパイルの場合は大概、できるということですね。 FreeBSDのLinuxエミュレーション機能、Windows環境下でのCygwin使用などは、私も一応経験済みですが、活用する機会はありそうですね。いつか、使ってみたいと思います。 私の最後の疑問が完全に解けました。しかし、ここの方たちは、質問者の疑問点を見抜き回答するのが上手な方たちばかりですね。本当に素晴しいサイトですね。 今回は、どの方にも全部20Ptを差し上げたいのですが、そうもいかないので、ポイントから漏れてしまった方、本当に申し訳ございません。 皆様どうもありがとうございました。大変、勉強になりました。
- OsieteG00
- ベストアンサー率35% (777/2173)
もちろん、ディストリビューション毎にバイナリは異なります。 ソースを配布している場合もありますし(.configureやmakeする)、ソースをSRPMパッケージとして配布する場合もあります。 どちらにせよ、ソフトウェア毎にインストール形式は異なります。 http://www.atmarkit.co.jp/flinux/rensai/linuxtips/223instsrpm.html http://www.itmedia.co.jp/help/tips/linux/l0302.html
お礼
どうもありがとうございます。 大変に参考になりました(特に2番目のURL)。configureでOSのバージョンやらを調べてくれてMakeFileを作成してくれるんですね。疑問が解けました。 PC-UNIXに関する書籍は何冊か買ったのですが、なかなかそういう記述が書いてある本がなくて、困っていました。 ありがとうございました。とても参考になりました。
お礼
どうも、いつも詳しい解説をありがとうございます。 1つまだしっくりこなかった部分が完全に解けました。それは、ソースからコンパイルすることにより、異なるOS(ディストリビューション)での、利用が可能になるということです。まだ、この部分が完全に解決できていなかったので、大変嬉しいです。プログラムのインストールについての疑問は完全に解けました。要するに、tar.gz形式で配布されているものならば、大概は、どのディストリビューションでもインストールできるということですね。 最後の部分の解説もありがたかったのですが、僕が疑問に思っているのは、Linux、FreeBSD等でtar.gz形式のファイルで大体インストールできるのは、内部のOSとかの構造が似通っているからなんでしょうか?WindowsとPC-UNIXのインストールファイルは絶対に別ですよね。でもPC-UNIXならばFreeBSDであろうとLinuxであろうと大体同じファイルをコンパイルしてインストールします。これは、カーネルが同じだからということでしょうか? よければ、又、答えてください。 最後に、don_goさんにはいつもお世話になっております。以前の回答のおかげで私の求めるマルチブート環境が見事にインストールすることができました。don_goさんが最後まで適切な回答を下さったおかげです。7つのOSを共存させています(;^^ 今回もご丁寧な解説ありがとうございました。