« 07.デーモンとは | メイン | 09.ソースコードでインストールしたソフトの削除方法 »

08.rpmインストールとソースコードインストールの違い

rpmもソースコードも、どちらも、ソフトウェアをインストールするための形態です。でもなんで、インストールする方法が2つあるのでしょうか?

そもそも、rpmインストールとソースコードインストールの違いってなんなのでしょうか?あなたはしってますか?ということで、今回は、rpmとソースコードのインストールの違いをご紹介します!

■rpm
Redhat社が考案した、ソフトウェアを管理するための技術方式です。パッケージと言うバイナリ形式のファイルで色々なソフトウェアを管理します。「rpm」というコマンドを使って、ソフトウェアのインストール、アンインストール、バージョンの確認などをすることができます。

簡単に説明すると、


『 すでに、コンパイルされたソフトウェアを簡単にLinuxに組みこむことができる! 』ということです。(どこにも、そんなこと書いてないぞ!とかはナシです(^^;))

コンパイルとは、人が書いたプログラム(ソースコード)をコンピュータが理解できるように変換する作業のことを言います。コンパイルされたプログラムは、コンピュータが理解できる「0」と「1」だけのバイナリとよばれるファイル形式に変換されます。


この状態のファイルがrpmというパッケージになっているわけです。


では、なぜバージョン、ディストリビューションごとにrpmパッケージが用意されているのでしょう。


それは、コンパイルという作業は、そのコンピュータに最適な状態で、そのソフトウェアが動くようにする役目もあるからです。つまり、同じ「Apache」をアップデートするにも、Redhat7.1とRedhat9とでは、アップデートするrpmのパッケージが違ちがいます。それは、それぞれのバージョンに合わせた最適な状態のrpmパッケージが用意されているからです。

基本的に、他のバージョン、他のディストリビューションのrpmパッケージは互換性がないと思ってください。ムリにインストールするとせっかく構築したサーバーがおかしくなる可能性があります。

rpmを使うメリットとしては、インストールやアップデート時にコンパイルする必要が無く手間がかからないという点です!「rpm」コマンドをつかえば、自動で
インストールされます。

逆に、デメリットとしては、最新版のソフトウェアがrpmパッケージになるまでに時間がかかるということです。

ディストリビュータがrpmパッケージをリリースするまでは、旧バージョンを使いつづけなければなりません。もちろん、その間にセキュリティーホールを狙ったハッキングに合う可能性があります。(自分でrpmパッケージもつくることができますが、ここではふれません(笑))


■ソースコード
ソースコードはさっきrpmで紹介した、コンパイル前の人が書いたプログラムのことをいいます。これをインストールする時にはかならず、コンパイルという作業が必要で、rpmとくらべると管理に手間がかかります。

ですが、常に最新版のソフトウェアをつかえるというメリットがあります。ディストリビューターがrpmパッケージを用意してくれるまで待たなくて良いですからね。

どちらかというと、Linuxに使いなれた人が多く利用しているようです。


rpmでは、ごくまれに、インストール時にエラーになることがあります。いくら、ディストリビュータが用意したrpmパッケージでも、ハードウェアやソフトウェア環境でインストールできない時があるようです。

その点、ソースコードからのインストールなら、ディストリビューション、バージョンに加えて、そのコンピュータに最適な状態でインストールするためそのようなことは、まず、ないですね。


もし、あなたが、Linuxをはじめたばかりなら、最初はrpmをつかって、インストールのイメージをつかんで、少しなれてきたらスキルアップの意味も兼ねて、ソースコードインストールに挑戦してみるのが、いいでしょう。

このサイトのサーバー設定ガイドを参考にしてみることをおすすめしますよ!(笑)

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2005年09月06日 23:36に投稿されたエントリーのページです。

ひとつ前の投稿は「07.デーモンとは」です。

次の投稿は「09.ソースコードでインストールしたソフトの削除方法」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.36