Linuxの基礎学
デーモンとは?
デーモンとはその名前のとおり、「悪魔」や「守護神」という意味でですが、
Linuxでつかわれるデーモンの意味は、どっちだと思いますか?
もちろん、「守護神(daemon)」のほうです(^^)
デーモンはプロセスの一種になります。特徴としては、処理要求があるのを待ち続け、
要求があったときに自分をコピーしたプロセスをつくり、処理をします。
Webサーバー、telnetなんかが、このデーモンをつかって動作しています。
(サーバーとよばれるサービスにはデーモンは欠かせない存在です)
Webサーバーであれば、アクセスがあるまで、ジィ〜っと待ち続け、処理要求があった
ときにWebページを表示させるために動作をするといったことです。
デーモンは処理要求があるたびに、自分をコピーしたプロセスをつくり処理することは
ご紹介しましたが、ここで一つ問題があります。
アクセスが多いWebページなどのデーモンはそれだけ、多くのプロセスを作る必要があります。
でも、あまり多くのプロセスを作りすぎると、サーバーに負荷がかかり、処理能力が
低下してしまします。
最悪な場合にはサーバーがダウンするといったことにもなります。
(よく、サーバーが落ちたなんていう状態です(^^;))
それらの対策としては、あらかじめ、プロセスをいくつか起動させておいて
そのプロセスで処理を対応させる方法がとられています。
デーモンには上で紹介した普通のデーモンのほかに「スーパーデーモン」とよばれる
デーモンがあります。このデーモンは、他のデーモンの代理で、処理を待って、要求
があった場合に、そのサービスのデーモンを起動させて、処理をさせます。
簡単にいうと、
デーモンの司令塔てきな存在なんです(^^)v
たとえば、telnetの処理要求があった場合にはtelnetデーモンを起動し、Webアクセス
要求があれば、Webサーバーデーモンを起動して、処理をさせます。
これによって、常に必要のないデーモンを起動させておく必要が無く、サーバーに対する
負荷が軽減する効果があります。
デーモンとは簡単にいうと、Linuxの裏方、黒子のようなものです。
決して、目立つことはありませんが、ちゃんと働いてくれないと困る存在なのです。
影でLinuxサーバーを支えるところから、デーモン(守護神)という名前がついたようです。
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をつかって、インストール
のイメージをつかんで、少しなれてきたらスキルアップの意味も兼ねて、ソースコード
インストールに挑戦してみるのが、いいでしょう。
このサイトのサーバー設定ガイドを参考にしてみることをおすすめしますよ!(笑)
ソースコードでインストールしたソフトの削除方法
rpmパッケージでインストールしたソフトの削除は
「rpm -e パッケージ名」
と入力すればできます。でも、ソースコードでインストールしたソフトの
削除方法はどうしたらよいのでしょうか?
基本的にUNIXの考え方としては、一度インストールしたソフトは
削除しないという考え方があるようです。ですので、UNIXをもとに
派生したLinuxも例外なくこの考え方を取り入れています。
Windowsのように「アプリケーションの追加・削除」からクリックひとつ
でソフトが削除できるということはありません。
ここで、紹介している方法をやってみてダメなら、素直にあきらめることを
オススメします。(あまり、後ろ向きなことは言いたくないのですが・・・)
先ほども書きましたが、Linuxも一度インストールしたソフトは削除しない
考えで作られていますので、下手にファイルを削除してしまうとシステム全体に
どんな影響がでるかわからないのであまりオススメしません。
以前、ソフトをインストールした際、
# make install
http://linux-topics.com/setting/setting/003-apache/03-apache.htm
と実行しました。
この「make」ファイル内に「uninstall」という行があれば、削除は可能ですが
これがない場合は、そのソフトはアンインストールしないように作られてるソフト
ですので、あきらめるほうが懸命です。
実際のコマンドは次のようになります。
解凍したソースコードディレクトリに移動してから実行します。
# make uninstall
ちなみに、前回インストールしたApacheで実行したらエラーになりました。
そのソフトの「Makefile」によって、アンインストールできたり、できな
かったりします。
「uninstall」という行がない場合でも、削除する方法はあるのですが、
それには「Makefile」ファイルの中身を理解して、どのような処理をしているのかを
理解する必要があります。これは、上級者向けのないようになってしまい
シェルスクリプトが読めないといけないので、今回は取り上げません。
どうしても、アンインストールしたい場合は、Makefileの中身を見てファイルを
ひとつ一つ削除するしかありません。
# more Makefile
前へ
INDEX
次へ
ホームへ戻る