• ベストアンサー

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

すみません。PC-UNIX初心者です。 今、FreeBSDとSolaris10とDebianとFedoraCoreが入っているんですが、とりあえず、プログラム開発環境を作りたいと思いまして、ApacheとPHPとMySQLをインストールしようとおもいました。 書籍の解説&CDには、tar.gz形式のファイルが入っていますが、どのディストリビューションでもこれらのバイナリファイルはインストール可能なんでしょうか?ディストリビューション特有のパッケージ(RPMなど)があることは、知っているんですが、よくサイトで配布されているtar.gz形式とかのバイナリファイルまたはソースファイルは、どのディストリビューションでもインストール可能なようにできているんでしょうか? そもそもLinuxとFreeBSDとかは構造および開発経緯が違う?から、一緒のファイル(この場合だとhogehoge.tar.gz)でインストールを行えるとは思いもよりませんでした。これは、カーネルが同じだからできるという解釈でいいんでしょうか?それともFreeBSDとLinuxではカーネルは違うんでしょうか? PC-UNIXはディストリビューション間で互換性を保とうとカーネルを同じにしているんでしょうか? 詳しい方、よろしくお願いします。

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

  • ベストアンサー
  • don_go
  • ベストアンサー率31% (336/1059)
回答No.2

同じディストリビューション・バージョンでも、異なるCPUを 使用しているPCに対して配布されているものもあります。 この場合はバイナリレベルの互換性はありません。 通常tar.gz形式で配布される場合は、ソースのみの場合が 多く、ソースからコンパイルする事によって、異なる環境 で実行可能なプログラムを入手する事ができます。 RPMパッケージはコンパイルする手間を省く為に、特定の ディストリビューション・バージョン・機種用に、予め コンパイルし、決められたディレクトリに対してインス トールするようにしたものです。 その為、他のディストリビューションのRPMパッケージを インストールした場合には、バイナリの互換性や環境の 違いによりうまくインストールできない場合もあります。 >LinuxとFreeBSDとかは構造および開発経緯が違う? UNIX系のOSでは、MS WindowsのようなCドライブとか Dドライブとかの概念はなく、必ず(/)ルートディレクトリ を起点とするディレクトリ構造になりますし、リンク を張って、見かけのディレクトリ構造を変更する事も できるので、Linux、FreeBSD、商用UNIXにかかわらず 同じ構成を作る事はできます。

kamkamkam3
質問者

お礼

どうも、いつも詳しい解説をありがとうございます。 1つまだしっくりこなかった部分が完全に解けました。それは、ソースからコンパイルすることにより、異なるOS(ディストリビューション)での、利用が可能になるということです。まだ、この部分が完全に解決できていなかったので、大変嬉しいです。プログラムのインストールについての疑問は完全に解けました。要するに、tar.gz形式で配布されているものならば、大概は、どのディストリビューションでもインストールできるということですね。 最後の部分の解説もありがたかったのですが、僕が疑問に思っているのは、Linux、FreeBSD等でtar.gz形式のファイルで大体インストールできるのは、内部のOSとかの構造が似通っているからなんでしょうか?WindowsとPC-UNIXのインストールファイルは絶対に別ですよね。でもPC-UNIXならばFreeBSDであろうとLinuxであろうと大体同じファイルをコンパイルしてインストールします。これは、カーネルが同じだからということでしょうか? よければ、又、答えてください。 最後に、don_goさんにはいつもお世話になっております。以前の回答のおかげで私の求めるマルチブート環境が見事にインストールすることができました。don_goさんが最後まで適切な回答を下さったおかげです。7つのOSを共存させています(;^^ 今回もご丁寧な解説ありがとうございました。

その他の回答 (2)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

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

kamkamkam3
質問者

お礼

どうも適切なご回答ありがとうございます。 なるほど。PC-UNIXはPOSIXという仕様に準拠しているから基本的に同じAPIを実装しており、ソースからのコンパイルの場合は大概、できるということですね。 FreeBSDのLinuxエミュレーション機能、Windows環境下でのCygwin使用などは、私も一応経験済みですが、活用する機会はありそうですね。いつか、使ってみたいと思います。 私の最後の疑問が完全に解けました。しかし、ここの方たちは、質問者の疑問点を見抜き回答するのが上手な方たちばかりですね。本当に素晴しいサイトですね。 今回は、どの方にも全部20Ptを差し上げたいのですが、そうもいかないので、ポイントから漏れてしまった方、本当に申し訳ございません。 皆様どうもありがとうございました。大変、勉強になりました。

  • OsieteG00
  • ベストアンサー率35% (777/2173)
回答No.1

もちろん、ディストリビューション毎にバイナリは異なります。 ソースを配布している場合もありますし(.configureやmakeする)、ソースをSRPMパッケージとして配布する場合もあります。 どちらにせよ、ソフトウェア毎にインストール形式は異なります。 http://www.atmarkit.co.jp/flinux/rensai/linuxtips/223instsrpm.html http://www.itmedia.co.jp/help/tips/linux/l0302.html

kamkamkam3
質問者

お礼

どうもありがとうございます。 大変に参考になりました(特に2番目のURL)。configureでOSのバージョンやらを調べてくれてMakeFileを作成してくれるんですね。疑問が解けました。 PC-UNIXに関する書籍は何冊か買ったのですが、なかなかそういう記述が書いてある本がなくて、困っていました。 ありがとうございました。とても参考になりました。

関連するQ&A

  • ftpASCIIモードをbinaryに変換にしたい

    こんにちは 今本来バイナリーとしてダウンロードすべきファイル(hogehoge.tar.gz)を ASCIIモードでftpで取得してしまいました。 元ファイルを消してしまったので、今はそれをgz+tarで解凍しようとしても エラーが出てしまいます。 このファイルをASCII ->binaryファイルに戻す方法はないでしょうか? (多分改行コードや、文字コードを変換すればいいと思うのですが・・・) シェルスクリプトでも、プログラムでもLINUX、WINDOWS、MACで動くものなら もんだいありません。 よろしくお願い致します。

  • gcc-2.95.3.tar.gz等をコンパイルしてインストールしたいのですが

    Linux初心者です、すいません。m(__)m make-3.80.tar.gz binutils-2.14.tar.gz gcc-2.95.3.tar.gz gcc-g++-2.95.3.tar.gz glibc-2.3.4.tar.gz これらのパッケージをコンパイルしインストールしたいのですが何から始めたらよいでしょうか・・・? ご教授おねがいいたします。

  • FedoraCore6にて無線LANが使えません

    FedoraCore6にて無線LANが使いたいのですが、ドライバの設定方法がわからなくて困っています。 Linuxについてはまったくの初心者なので、何をしてよいのかがわかりません。 使用している無線LANカードがAtheros Communications製のAR5212 802.11abg NICなので、ネットで調べたところMADWIFI(madwifi-0.9.3.tar.gz)というものを使用するというところまではわかりました。 しかし、このファイルを解凍して、このディレクトリでmakeを実行すると /bin/sh: line 0: cd: /lib/modules/2.6.18-1.2798.fc6/build: そのようなファイルやディレクトリはありません Makefile.inc:66: *** /lib/modules/2.6.18-1.2798.fc6/build is missing, please set KERNELPATH. 中止. と出てきて失敗してしまいます。 本についていたFedoraCoreをインストールしたのですが、1枚目に入っていた kernel-2.6.18-1.2798.fc6.i686.rpm というファイルはインストールされているようです。 何をしたら良いかさっぱりわかりません。 初心者で申し訳ありませんが、よろしくお願いします。

  • tiny-coreに.tar.gzをいれたいです

    tiny-core-linuxにblenderの最新版をいれたくて.tar.gzファイルをダウンロードしたのですがインストールのしかたがわかりません。usbにファイルは入っていて場所は"/mnt/sdb1/ファイル名.tar.gz"です。 どんなコマンドを打てば良いのでしょうか。よろしくお願いします。

  • インストール済みかどうか&ファイル展開のコマンド

    SunOS5.6を使っています。 ものすごく初心者なので、UNIXコマンドをネットで検索しながら触っています。 autoconf-2.13.tar.gzをインストールしようと思いネットで検索していたら ----------------------------- $ cd /usr/local/src  $ autoconf-2.13.tar.gz  $ tar -xvzf autoconf-2.13.tar.gz 又は # gzip -cd autoconf-2.13.tar.gz | tar -xvf - ------------------------------- とあったのでautoconf-2.13.tar.gzを展開したいのですが、どうやったら展開できるのか分からず困っています。 というのも、 tar -xvzf 、gzip -cd としてもコマンドが見つかりません。 いろいろ調べまわっても、いろんな展開方法があり試してやっているのですが、よくわかりません。 *.zipというファイルであれば展開を自分で出来ましたが、、、*.tar.gzとなる拡張子の展開方法が分かりません。 その前にautoconf自体がインストール済みであるかどうか、どうやってコマンドでしらべるのでしょうか?

  • phpでsmartyを使いたいのですが

    Windows用のsmartyを入手する手段を教えてください。 Smarty-2.6.13.tar.gz は有ったのですがこれはLinux/Unix用で解凍もできず使えそうに名ありません。

    • ベストアンサー
    • PHP
  • tar.gzのファイルの保存先はどこでしょうか?

    Ubuntu 11.04でデスクトップ上に置いてある[linux-wbfs-manager-0.1.12.tar.gz]をインストールしたいのですが、ターミナルにて tar zxvf linux-wbfs-manager-0.1.12.tar.gz と入力したのですがファイル名がありませんなどと表示されて保存場所が間違っていると思い質問させてもらったのですが、保存場所はデスクトップではなく他の場所に置かなくてはだめなのでしょうか?

  • RHL7.2でカーネルの再構築

    RHL7.2でインストールしたばかりのデフォルトの状態で、カーネルの再構築(linux-2,4,17.tar.gz)ができません。マニュアルにあるように、 cp linux-2.4.17 /usr/src tar xvzf linux-2.4.17 cd /usr/src/linux make xconfig make dep make clean make modules make modules_install make install の手順を踏んでカーネルの再構築をしているのですが、どうしても、最後のmake install時にエラーが2つでてしまいます。 カーネルオプション事態には問題はないと思うのですが、なぜ、エラーがでてしまうのかわかりません。エラーの一つに「lilo.confがありません」。とでてくるのですが、インストール時にはGRUBを設定しています。 このエラーに関して、思い当たることがあれば、どうか、教えてください。お願いします。 ついでにPPPもできずに困っています。RHL7.1では普通にできたのに・・・ RHL7.2自体の評判というのはどうなんでしょうか?それについても教えてください。どうか、よろしくお願いします。

  • linuxにjreのbinをダウンロード

    linuxにjreをインストールしたいです。 http://java.com/ja/download/help/linux_install.xml の手順を参考にしているのですが、どうもjreXXX.binファイルでなく jreXXX.tar.gzファイルがダウンロードされて、先にすすめません。 binファイルはどうやったらダウンロードできますか? もしくは、tar.gzを解凍してパスをとおせばbinをたたくことと同じ結果に できますでしょうか? ド素人の質問ですみませんが、たすけてください。

  • tar.gzファイルの解凍

    FreeBSDを使用しています。 ダウンロードした AAA.tar.gz というファイルを解凍したいのですが、 gunzip AAA.tar.gz とすると、 gunzip: AAA.tar.gz: not in gzip format と出ます。 そこで、 file AAA.tar.gz とすると、 AAA.gz: GNU tar archive と出ました。 ですので、 tar xzvf AAA.tar.gz としてみましたが、以下のように出ます。 gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error exit delayed from previous errors どのようにして解凍すればよいのかご教授いただけませんでしょうか?よろしくお願いいたします。