• ベストアンサー

パッケージとRPMについて

LINUX初心者です、よろしくお願いします。 Redhat8.0を使用しているのですが、アプリケーションをインストールする方法には、次の2通りの方法があることはわかりました。 1)tarファイルを利用する。 2)RPMパッケージを利用する。 1)の方法の場合、tarファイルを解凍してできたexeファイル(インストーラ?)を実行すれば勝手にインストールが開始されるのかなぁ~と、何となくわかるのですが。(Windowsでのインストールに似ている?) 2)のRPMパッケージを利用する方法について、tarでインストールするよりも便利?であるという説明を見かけたのですが、なぜ便利なのかが今ひとつわかりません。 ●RPMパッケージでインストールすると何が便利なんでしょうか?(Windowsでいうところの、『プログラムの追加と削除』に登録される?) ●SRPMという別のもの?があったりして余計に難しそうなのですが... ●ある1つのアプリケーションについて複数のRPMファイルが存在するようですが、これら複数のファイルをすべてインストールする必要があるのでしょうか?(Windowsの場合は1つのexeをクリックすれば良いだけだと思うのですが...) できるだけ詳しく説明していただけたら助かります。よろしくお願いします。

  • kutu
  • お礼率54% (152/279)

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

  • ベストアンサー
  • Lean
  • ベストアンサー率72% (435/603)
回答No.2

>・RPMパッケージが、WinでいうインストールEXE。 PRMツール+PRMパッケージファイルがWinでいうインストール用exeファイルに近いかと思います。 Winのインストール用exeファイルは、自己展開圧縮ファイルで、その中にインストール用のツールとインストールするパッケージが入っていてそれらを取り出し自動的にインストールまでやってくれると。 RPMパッケージは、RPMパッケージファイルが用意されているのでPRMツールを使用して手動でインストールを行うというところですかね。 >・tarファイルは、Winでいう圧縮ファイルで .tarファイル自体は圧縮ファイルではありません。 gtar(GNU tar)では、オプションの指定で圧縮まで出来ますが、純粋なtarコマンドに圧縮する機能はありません。 ファイルを圧縮するのは、gzip、bzip2等のコマンドです。 例えば、test.tar.gzというファイルは、tarコマンドで複数のファイルを1つにまとめて、gzipコマンドで圧縮したファイルという事になります。 -------8<-------8<------- ●RPMパッケージでインストールすると何が便利なんでしょうか? UNIXでは、ソースからコンパイルしてコマンドを作成するのが一般的でしたが、パッケージを使用すると実行形式ファイルが用意されているのでソースからコンパイルをする必要がありません。 また、パッケージで管理することによって、システムに何がインストールされているか分かりやすいです。 ソースファイルはtarファイル(.tar.gzとか.tar.bz2とか)で用意されている事が一般的で、このtarファイルを展開後、コンパイルという事を行う必要があります。 また、実行形式ファイルもtarファイルとして配布されている事もあります。その時には手動インストールもしくは何らかしらのインストール用のツール等が用意されていてそれを使用したインストールという事もあります。 ただ、これはパッケージではありませんので、後でどのようなものがインストールされているか確認するのが容易でない事もあります。 ●SRPMという別のもの?があったりして余計に難しそうなのですが SPRMパッケージは、該当するRPMパッケージを作成するときに使用したソースファイルとパッケージ作成に必要なファイル等が含まれています。 こちらは、ソースファイルからRPMパッケージを作成する事が出来ます。 通常使用する事はありませんが、RPMパッケージとは異なる設定でコマンドを作成したい等にはいちいちソースファイルをダウンロードしてコンパイルするよりは簡単だとは思いますし、最終的にパッケージに出来ますのでパッケージとして管理出来ます。 ●ある1つのアプリケーションについて複数のRPMファイルが存在する バージョン違いでなければ、全てをインストールしなければならないという事はなく、必要なものだけをインストールすればいいです。 アプリケーションだとRPMパッケージは通常コマンドだけというのが多いですが、例えばヘッダファイルとか別な何かのアプリケーションからそのアプリケーションを使用するためのインタフェースとかがあれば別パッケージとして存在する事もあります。

kutu
質問者

お礼

Leanさん、ありがとうございました。 すごく詳しい説明で、のどにつかえていたものが全て取り除かれた感じです。 非常によく理解することができました。

その他の回答 (1)

  • licky
  • ベストアンサー率71% (5/7)
回答No.1

はじめまして。 リッキーと申します。 私も、最近linuxを始めました。 当初やはり同じ事で悩みました。 質問内容で、間違って理解されているようなので RPMパッケージは、Windowsでいう 実行モジュールexeと同じです。 RPMを解凍インストールする為には、RPM自体のツールが必要です。一般的には、通常インストールされています。 TARは、windowsでいう、ZipやLhzの圧縮ファイルです。 つまり、フィルを解凍して、ソースをつくり。 すべて、コマンドです。 ./configreで、コンフィグレーション ←このコマンドは、configreファイルからコンパイルできる状態のmaikeファイルを作成します。 makeで、コンパイル作業 ←これは、makeファイルでコンパイルします。 makeintallで、インストール作業 こんなところでしょうか? 間違いでしたら、すみません。

kutu
質問者

お礼

リッキーさん、ありがとうございます。 間違って理解していましたか。。 ・RPMパッケージが、WinでいうインストールEXE。 ・tarファイルは、Winでいう圧縮ファイルで、  makeでコンパイルなどしなければならないなど、  少し手間がかかる? だと考えると、RPMパッケージの方が利用されるのは 納得できます。 もう一度勉強しなおします。

関連するQ&A

  • RH9へのPostgresqlのインストール

    Redhat9上に、PHP.Postgresql,Apacheをインストールし、Web上かデーターをアクセスしたいと考えております。参考書等では、FTPサイトなどからtarファイルをダウンロードしてきて、インストールを行い、PHPとApacheとが連携できるように設定も行うことが書かれております。 ところが、Redhatには、便利なRPMパッケージによるインストール方法があります。そこで、PHP.Postgresql,ApacheのRPMパッケージを使用したインストールでも、tarファイルからのインストールを行った場合、前者と同様の操作環境を作ることは可能なのでしょうか?

  • パッケージのバージョンの調べ方

    rpmでインストールされたパッケージは rpm -qaなどでバージョンを確認することができますがソースからインストールした場合、そのパッケージのバージョンを知ることはできますか? もうひとつ、SRPMという形式のパッケージがありますが、これをインストールするときもRPMで使用する オプションと同じなのでしょうか?

  • Turbolinux10でRPMパッケージ

    初心者なのでこのような質問をするのが申し訳ないです。Turbolinux10でRPMパッケージを使用してアプリケーションをインストールしたのですが、WINDOWSのようにデスクトップにアイコンが表示されることもないので、どのようにソフトを起動すればよいのかわかりません。どなたかご教示ください。

  • rpmでパッケージのファイルがインストールされる場所について。

    rpmパッケージでrpm -qlpとかでパッケージに含まれるファイルはわかりますが、それがどこにインストールされるのか事前にわかるような方法はあるでしょうか?rpmのマニュアルはもちろんよんだのですが。

  • rosegarden-1.7.0-1mdv2009.0.src.rpmのインストールについて

    こんにちは。TurbolinuxFUJIの初心者ユーザーです。 楽譜づくりや音楽作成がしたくて、インターネットで探したソフトからRoseGardenというソフトをインストールしたいと思いました。 でも、なんだかリビルドというものが必要らしく、難しいです。いままではOpenOffice.orgやavast for linuxのRPMパッケージからインストールしたことはありますが、そのRPMパッケージとは違うのですね・・・。 あとtarボール? なるものから何かを作ってそれをインストールする方法もあるようで、Linuxは難しいなぁと感じています。 このソフトです↓ http://sourceforge.net/project/showfiles.php?group_id=4932 http://www.rpmfind.net/linux/rpm2html/search.php?query=rosegarden 普通の(windowsでは普通という意味になってしまうかも)、.exeの実行ファイルみたいなRPMパッケージはないのでしょうか。

  • ディストリビューションとアプリケーション

    様々なアプリケーションに共通することだと思うのですが、RPM形式で配布されているアプリケーションをダウンロードしてインストールしたい状況についてです。 この時、RedHatやFedora用のRPMパッケージは用意されていても、Turbo用やVine用など他のディストリビューションの物がなかったりします。このような時には、どうすればよいのでしょうか? (1)RedHat用の.src.rpmをダウンロードしてリビルドする。 (2)tar形式を探してインストールする。 (3)無理やり他のRedHat用のものをRPMインストールする。 いずれも間違いでしょうか?ご教授ください。

  • SRPM について

    RedHat7.1 を使っています。Linux初心者です。 最近、SRPM形式のファイルをダウンロードしました。(ちなみにPostgreSQL ) これをLinuxにインストールしたいのですが、どのようにしたらよいかわかりません。 RPM -ivh ファイル名 をしても、そのディレクトリの中は変わってないのですが、いったいどうなってるのでしょうか?SRPMのインストール方法について、教えてください。 どうか、よろしくお願いします。

  • RPMパッケージのインストール

    FedoraなどインストールCDは4枚程度ありますよね。 でOSインストール後に例えばPostgresなどを追加したいとします。 その場合に該当のRPMパッケージがCDの何枚目にあるか、、探す方法は あるのでしょうか?。

  • RPMパッケージに含まれるファイルが見つからない

    こんにちは。 いきなりですが、 ファイルが消失しているパッケージだけ再インストールすることはできないのでしょうか。 なぜそのようなことをしたいのかと言うと、 先週ごろからyumでRPMパッケージを新しくインストールする時、たまにですが error: ~ scriptlet failed, exit status 1 のようなエラーが出ていました。 しかしインストールも(多分)成功していたようなのでほっといておきました。 しかし一昨日の夜ごろにシャットダウンさせようと sudo /sbin/init 0 としたところ/sbin/initがないと言われてしまったので、rpm -qf /sbin/initしてパッケージを調べた後インストールして、無事シャットダウンすることができました。 しかし、今日起動する際に /etc/rc.d/rc.sysinit: line 648: fsck: command not found と言われてしまい、どうやら色んなコマンドが無くなっているようだということにやっと気付きました。 バックアップは取っておいたのでそこから/sbinに無いコマンドだけ移すと、無事起動できました。 現状、エラーもなく稼働しているのでこのままでもいいのですが、 ファイルが無くなったままだと気持ち悪いので、冒頭のように一部のファイルが消失しているパッケージだけを再インストールすることができないのかと思いました。 OSはCentOS 5です。 よろしくお願いします。

  • RPMのビルドが出来ません

    お世話になります。 社員育成用Serverとして使用予定のPCのNICドライバをインストールするために、 メーカーサイトよりダウンロード後、Serverにて 解凍(unzip)   ↓ rpm -ivh SRPM名   ↓ ビルド使用としましたが、 rpm -bb スペックファイル名  オプション -bb はありません。 rpmbuild -bb スペックファイル名  コマンド自体存在せず。 でビルドが出来ない状態です。 OSインストール段階でパッケージのインストール漏れがあったかと、 現在は疑っています。 何かお分かりになる点などありますでしょうか。 尚、OSはRedHatLinux9です。