みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

バイナリで配布されているプログラムをインストールする際、ディストリビューションとか関係ないんですか?

すみません。PC-UNIX初心者です。

今、FreeBSDとSolaris10とDebianとFedoraCoreが入っているんですが、とりあえず、プログラム開発環境を作りたいと思いまして、ApacheとPHPとMySQLをインストールしようとおもいました。

書籍の解説&CDには、tar.gz形式のファイルが入っていますが、どのディストリビューションでもこれらのバイナリファイルはインストール可能なんでしょうか?ディストリビューション特有のパッケージ(RPMなど)があることは、知っているんですが、よくサイトで配布されているtar.gz形式とかのバイナリファイルまたはソースファイルは、どのディストリビューションでもインストール可能なようにできているんでしょうか?

そもそもLinuxとFreeBSDとかは構造および開発経緯が違う?から、一緒のファイル(この場合だとhogehoge.tar.gz)でインストールを行えるとは思いもよりませんでした。これは、カーネルが同じだからできるという解釈でいいんでしょうか?それともFreeBSDとLinuxではカーネルは違うんでしょうか?

PC-UNIXはディストリビューション間で互換性を保とうとカーネルを同じにしているんでしょうか?

詳しい方、よろしくお願いします。

投稿日時 - 2006-05-24 20:31:52

QNo.2172785

暇なときに回答ください

質問者が選んだベストアンサー

同じディストリビューション・バージョンでも、異なるCPUを
使用しているPCに対して配布されているものもあります。
この場合はバイナリレベルの互換性はありません。

通常tar.gz形式で配布される場合は、ソースのみの場合が
多く、ソースからコンパイルする事によって、異なる環境
で実行可能なプログラムを入手する事ができます。

RPMパッケージはコンパイルする手間を省く為に、特定の
ディストリビューション・バージョン・機種用に、予め
コンパイルし、決められたディレクトリに対してインス
トールするようにしたものです。

その為、他のディストリビューションのRPMパッケージを
インストールした場合には、バイナリの互換性や環境の
違いによりうまくインストールできない場合もあります。

>LinuxとFreeBSDとかは構造および開発経緯が違う?
UNIX系のOSでは、MS WindowsのようなCドライブとか
Dドライブとかの概念はなく、必ず(/)ルートディレクトリ
を起点とするディレクトリ構造になりますし、リンク
を張って、見かけのディレクトリ構造を変更する事も
できるので、Linux、FreeBSD、商用UNIXにかかわらず
同じ構成を作る事はできます。

投稿日時 - 2006-05-24 22:09:39

お礼

どうも、いつも詳しい解説をありがとうございます。

1つまだしっくりこなかった部分が完全に解けました。それは、ソースからコンパイルすることにより、異なるOS(ディストリビューション)での、利用が可能になるということです。まだ、この部分が完全に解決できていなかったので、大変嬉しいです。プログラムのインストールについての疑問は完全に解けました。要するに、tar.gz形式で配布されているものならば、大概は、どのディストリビューションでもインストールできるということですね。

最後の部分の解説もありがたかったのですが、僕が疑問に思っているのは、Linux、FreeBSD等でtar.gz形式のファイルで大体インストールできるのは、内部のOSとかの構造が似通っているからなんでしょうか?WindowsとPC-UNIXのインストールファイルは絶対に別ですよね。でもPC-UNIXならばFreeBSDであろうとLinuxであろうと大体同じファイルをコンパイルしてインストールします。これは、カーネルが同じだからということでしょうか?

よければ、又、答えてください。

最後に、don_goさんにはいつもお世話になっております。以前の回答のおかげで私の求めるマルチブート環境が見事にインストールすることができました。don_goさんが最後まで適切な回答を下さったおかげです。7つのOSを共存させています(;^^

今回もご丁寧な解説ありがとうございました。

投稿日時 - 2006-05-25 11:30:32

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

FreeBSD と Linux で, カーネルは全く違います. ただ, どちらも*俗に* PC-UNIX と呼ばれるように POSIX という仕様に準拠しており, 従ってどちらのカーネルも基本的には同じ API を実装しています. そのため, ソースからのコンパイルは*たいてい*できます. なお, 細かいことをいうと, Linux は UNIX ではありません.
あ, FreeBSD は Linux のどれかのディストリビューション (昔は RedHat だった) のエミュレーションもできるので, 場合によっては Linux 用にコンパイルされたバイナリでも動くかも.
ちなみに「インストールファイル」というものが何を意味するのか全くわかりませんが, Windows でも Services for UNIX とか Cygwin という環境を使うと UNIX 用のソフトウェアがインストールできる, かも.

投稿日時 - 2006-05-25 11:55:41

お礼

どうも適切なご回答ありがとうございます。

なるほど。PC-UNIXはPOSIXという仕様に準拠しているから基本的に同じAPIを実装しており、ソースからのコンパイルの場合は大概、できるということですね。

FreeBSDのLinuxエミュレーション機能、Windows環境下でのCygwin使用などは、私も一応経験済みですが、活用する機会はありそうですね。いつか、使ってみたいと思います。

私の最後の疑問が完全に解けました。しかし、ここの方たちは、質問者の疑問点を見抜き回答するのが上手な方たちばかりですね。本当に素晴しいサイトですね。

今回は、どの方にも全部20Ptを差し上げたいのですが、そうもいかないので、ポイントから漏れてしまった方、本当に申し訳ございません。

皆様どうもありがとうございました。大変、勉強になりました。

投稿日時 - 2006-05-25 13:24:24

ANo.1

もちろん、ディストリビューション毎にバイナリは異なります。

ソースを配布している場合もありますし(.configureやmakeする)、ソースをSRPMパッケージとして配布する場合もあります。

どちらにせよ、ソフトウェア毎にインストール形式は異なります。

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/223instsrpm.html
http://www.itmedia.co.jp/help/tips/linux/l0302.html

投稿日時 - 2006-05-24 20:48:21

お礼

どうもありがとうございます。

大変に参考になりました(特に2番目のURL)。configureでOSのバージョンやらを調べてくれてMakeFileを作成してくれるんですね。疑問が解けました。

PC-UNIXに関する書籍は何冊か買ったのですが、なかなかそういう記述が書いてある本がなくて、困っていました。

ありがとうございました。とても参考になりました。

投稿日時 - 2006-05-24 21:48:25

あなたにオススメの質問