※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

サーバー/デーモン全般に関するFAQ

デーモン (daemon) ってなんですか?

PC の起動から常に実行状態でシステムに待機 (常駐) し、自動で定期的に処理を実行したり、サーバーとしてクライアントの要求に対してサービスを提供するためのプログラムの事です。

システムに必要のない余計なデーモンが起動していると

  • CPUやメモリなどの資源を過度に消費する。
  • デーモンにセキュリティホールが存在するとシステムを踏み台にされる危険がある。

といったことがあるのでシステムに必要がないデーモンの起動は止めておきましょう。

デーモンの起動設定をしたい。

デーモンの起動スクリプトは通常/etc/rc.dにありますが、特に理由がなければディストリビューション付属のツールを使って設定しましょう。

デーモンの起動設定は次のツールで行うことができます。

  • 操作が簡単な redhat-config-services, rcconf コマンドがおすすめです

Red Hat 系

Debian 系

Gentoo

ランレベルって何ですか?普段使うランレベルを変更したい

OS の起動・終了時に実行する処理を段階ごとに分類する仕組み。

SysV系UNIX互換のディストリビューション (Red Hat/Slackware系) での標準的なランレベルの設定は以下のとおり:

ランレベル 説明
0 停止
1 シングルユーザモード
2 マルチユーザモード(ネットワークなし)
3 マルチユーザモード(ネットワークあり)
4 未使用
5 マルチユーザモード(GUIログイン)
6 再起動

Red Hat系では /usr/sbin/chkconfig --list と実行すれば設定が表示される。 *1

ランレベルの配置は /etc/rc.d で決まっていて、起動・終了時に init/etc/inittab の設定をみて実行します。

なので、普段使うランレベルを変更したい時は /etc/inittab を編集しましょう。

起動スクリプトの配置はどうなってるの?

ディストリビューションによって /etc 直下にあったり /etc/rc.d にあったりという違いはあるものの、大まかに言えば

  1. /etc/rc.d/init.d にシステムデーモン/サービスを起動・終了させるための実行スクリプトがある
  2. /etc/rc.d/rc[数字].d に各ランレベルごとに実行スクリプトへのリンク(Sで始まる名前は起動、Kは停止)

たとえば Apache を起動させたければ

/etc/rc.d/init.d/apache start

とか。stop と restart で停止/再起動。

夜中にハードディスクが不気味なうなりを上げます。怖くて使えません。(updatedb)

夜中に勝手にハードディスクがガリガリガリガリ。うぉ、まさかクラッカーに乗っ取られたのか!?

大抵の場合、夜中に cron デーモン (特定の処理を定期的に実行するデーモン) によって locate コマンドのためのデータベースを更新する作業 (updatedb) が行われています。

停止するには root の crontab を編集して cron の設定を変更します。ただし、その時点から locate コマンドが新しいファイルを探せなくなってしまうので、locate を使う場合は手動で updatedb を実行しましょう。

crontab -e で編集した内容が反映されない。

/var/spool/cron/crontabs に ユーザ名.new というファイルが残っていませんか? 削除してから編集し直してみましょう。

Mandriva Linux

起動時の各種サービスを 追加 / 停止 するには?

この設定変更は、Mandriva コントロールセンターより行えます。具体的には、デスクトップのパネルメニューより [アプリケーション] > [システム] . [コンピューターを設定] > [システムサービス] より、任意のサービスを選択して変更ができます。

サーバーとして活用する方法など。

Mandriva Linux 10.1 Memo というサイトでは、サーバーの運用に関連した実用的な情報が公開されているので大変参考になるでしょう。