いますぐ実践! Linuxシステム管理

[バックナンバーのトップへ] [Linux システム管理のトップへ]


いますぐ実践! Linux システム管理 / Vol.031 / 読者数:504名

こんばんは,うすだです.

今日は,右上の方に,是非注目していただきたいのです.
そうです,2月末に創刊号を発行してから約8カ月,ようやく500名にたどりつきました.

500名ですよ,500名.
メルマガで考えると,全然多くないかもしれませんが,どこかの会場に, 500名が勢ぞろいして,その前で話をしていると思うと… あ,緊張してきました….(-ε-;;

創刊号から,気のきいたことも書かず,あちこち宣伝などすることもなく, 淡々と続けてきましたが,だいたい1日1名強くらいの増加ペースをキープして, 今日に至りました.

これも,数あるメルマガの中から,このメルマガを選んで, 解除することなく今まで読んでいただいている,みなさまのおかげです.
ほんとうに,ありがとうございます.

これからも,だいたい週一ペースを守って,実際に使えるネタ, あるいはうんちくとして使えるネタをお送りしていきたいと思いますので, 今後とも,よろしくお願いいたします.

ま,そんなわけで,今週も,はりきってまいりましょう!

今週のお題 - サービスを登録する

Vol.028 から3回にわたり,ランレベルやサービスのあたりをご説明してきました.

Vol.028 ランレベルを理解する
http://www.usupi.org/sysad/028.html
Vol.029 サービスの制御を覗きみる
http://www.usupi.org/sysad/029.html
Vol.030 サービス起動用スクリプトを作ってみる
http://www.usupi.org/sysad/030.html

…もうそろそろ,このネタで引っ張るのも,やめないといかんですね.
今週は,起動用スクリプトを登録して,使えるようにしたいと思います.

そんな機会があるの? なんて疑問に思ってはいけません.
脳みそが疑問に思う前に,どんどん読み進めていきましょう.

まず,先週までにご紹介した,サービス本体とスクリプトをまとめましたので, まだファイルなどを作られていない貴兄は,以下から入手し, 中の README.txt や今までのバックナンバーを参考に,作ってみてください.

サービスと起動用スクリプトなど一式 (README.txt を読んでね)
http://www.usupi.org/sysad/031.tgz

すでに,スクリプトが /etc/init.d/donothing に置いてあり, start という引数をつけて実行すると, /usr/local/sbin/donothingd が動き出すようになっている,という前提で進めます.

さて,RedHat 系と Debian 系とで,使用するコマンドが異なります.
それぞれの方法について,ご説明します.

1. RedHat 系の場合

Redhat 系の場合は,chkconfig コマンドを使います.
chkconfig は,/etc/rc.d/rcランレベル.d の下に,S や K で始まる, 起動スクリプトへのシンボリックリンクを作成してくれます.

まず,donothing サービスを登録するには,以下を実行します.

  # chkconfig --add donothing

実行すると,ランレベル 2,3,4,5 に S で始まるシンボリックリンクが, ランレベル 0,1,6 に K で始まるシンボリックリンクが作成されます.

  # ls /etc/rc.d/rc?.d/[SK]??donothing
  /etc/rc.d/rc0.d/K91donothing@  /etc/rc.d/rc4.d/S91donothing@
  /etc/rc.d/rc1.d/K91donothing@  /etc/rc.d/rc5.d/S91donothing@
  /etc/rc.d/rc2.d/S91donothing@  /etc/rc.d/rc6.d/K91donothing@
  /etc/rc.d/rc3.d/S91donothing@

登録を抹消するには,以下を実行します.

  # chkconfig --del donothing

すると,上記のシンボリックリンクがなくなります.

また,今どうなってるのかな,と思ったら, --list オプションで確認することができます.

  # chkconfig --list donothing
  donothing     0:off  1:off  2:on   3:on   4:on   5:on   6:off

上記の場合,ランレベル 2,3,4,5 が on なので,登録されていますね.

さて,ランレベル 2,3,4,5 とか,91 とかは, どこから情報を得ているのでしょうか.
実は,起動スクリプトの中にあります.
/etc/init.d/donothing の場合,先頭に

  #!/bin/sh
  # chkconfig: 2345 91 91
  # description: test script.

というコメントがありますが,chkconfig コマンドは,このコメントを解釈して, 処理をしてくれます.
書式は,以下の通りです.

  # chkconfig: 起動のランレベル 起動の優先順位 停止の優先順位
  # description: このサービスの概要

起動のランレベルが「2345」となっていますので, ランレベル 2,3,4,5 で S のスクリプトが, それ以外の 0,1,6 で K のスクリプトが作成されます.
S や K の後の数字は「優先順位」と呼ばれているようです.
それぞれの優先順位が「91」となっていますので,S や K の後の数字が, 91 になるわけですね.

2. Debian 系の場合

Debian 系の場合は,update-rc.d コマンドを使って登録します.
chkconfig とは違い,ランレベルや優先順位を, 明示的に指定する必要があります.(指定しなければ,デフォルト値が用いられます.)

chkconfig のときと同様に登録する場合は,以下のように実行します.

  # update-rc.d donothing defaults 91

実行すると,ランレベル 2,3,4,5 に S91donothing が, ランレベル 0,1,6 に K91donothing が作成されます.
(ちなみに,91 を省略すると,デフォルトの 20 が用いられます.)

ランレベル 2,3,4,5 で起動,というのはデフォルトです.
ランレベルを明示的に指定するなら,以下のように実行します.

  # update-rc.d donothing start 91 2 3 4 5 . stop 91 0 1 6 .

逆に,登録を抹消するには,以下のように実行します.

  # update-rc.d -f donothing remove

実行すると,S??donothing と K??donothing がなくなります.

いずれも,-n オプションをつけて実行すると,実際の作業自体は行われません. ですので,まず -n オプションをつけて実行し,問題なさそうであれば, 本番に挑むのがよろしいのではないかと思います.

…以上,スクリプトの登録方法などを,ご紹介しました.
これで,自作のデーモンを,OS 起動時に動かすことができますね.
そんなときを夢見ながら,苛酷な日々を,もりもりと過ごしましょう.

宿題の答え

先週の宿題は,

  OS 起動時のランレベルは inittab の initdefault で決まりますが,
  このエントリがない場合はどうなるでしょうか?

でした.

起動するランレベルを聞いてくる,が答えです.
…が,先週宣言した通り,Vine Linux 3.2 と Fedora Core 1 で, 実際にやってみました.

/etc/inittab の中の,initdefault と書かれた行の先頭に # を追加し, reboot コマンドを実行します.

  # id:5:initdefault:

すると,どちらも結果は同じで,ブートの途中に

  Enter runlevel:

と聞いてきます.例えば,3 と入力すると,

  Enter runlevel: 3
  INIT: Entering runlevel: 3
  ...

ランレベル 3 で立ち上がります.

今週の宿題

今週の宿題は,こちらです.

  起動スクリプトに誤りがあるとき,OS は起動するでしょうか?

です.

SunOS4.x とか,BSD 系の OS ですと,/etc/rc.local に, 独自に起動したいものを継ぎ足して書いていく,ということをやっていました.
で,追加した部分に誤りがあると,OS が立ち上がらない, という最悪の事態になることがあったわけですね.(わたしの経験では,です)

さて,Linux の場合はどうなんでしょう.
あえて間違えてみて,どうなるか確認してみようと思います.

あとがき

プログラマに限らず,この業界で生きている方々は皆,どちらかというと夜型, どちらかといわなくても夜型,なにがなんでも夜型なのではないかと思います.

しかし,以下の本を読んで,朝型に変えてみようかな, という気になってきております.(つまりまだ実践はしていません….)

早朝起業 - 松山真之介
http://webook.tv/book.htm

朝早く起きて仕事をするとはかどる,という話はよく聞きますが,この本では, 早起きのメリットを,がんがん詰め込まれます.
また,早起きの話ばかりではなく,早起きして何をするのか, 何を目指すのかといったところまで,踏み込んで書かれています.

この本を読んで,わたしは,いい意味で洗脳されました.
プログラマが朝早く起きて仕事する,なんて, ほとんどのひとはやっていないだろうと思います. 他のひとと違うことをする,という点でも,やる価値はあるんじゃなかろうか, と思うわけです.(まだやってませんが…)

あ,そうそう,この著者は,『マインドマップ読書術』という本も書かれていて, わたしは先にこちらを読みました.
それからは,本を読んだら,マインドマップを使った要約を残すようにしています. (まだまだマインドマップと呼べる代物ではありませんが…)

今日は,子どもに連れられて,プールで死ぬほど泳いできました.
今,心地よい体の疲れから来る睡魔と戦いながら,これを書いています.
明日が休みで,ほんとによかったです.
みなさんも,あと1日ある貴重なお休みを,満喫してくださいませ.

今週も,ここまで読んでいただき,ありがとうございました.
それでは,また来週,お会いしましょう!

「いますぐ実践! Linux システム管理」の解除は,以下からどうぞ.
http://www.usupi.org/sysad/ (まぐまぐ ID:149633)

バックナンバーは,こちらにほぼ全部そろっています.
http://www.usupi.org/sysad/backno.html

「栗日記」−今度こそもうすぐ10万ヒット!
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)


[バックナンバーのトップへ] [Linux システム管理のトップへ]

トップ

バックナンバー
    [日付順] [目的別]

プロフィール

▼ リンク

独学Linux
Linuxデスクトップ環境に関する情報が満載です。 メルマガもありますよ。
Server World
CentOS 6をサーバとしたときの設定例が、これでもかというくらいたくさん載っています。 CentOS以外のディストリビューション(Fedora, Ubuntu)も充実しています。
LINUXで自宅サーバーを構築・導入(Fedora9)
Fedora9のインストールの仕方から管理方法まで、詳しく載っています。 SearchManには情報がもりだくさんです。
マロンくん.NET
〜サーバ管理者への道〜
Linuxをサーバとして使用するための、いろいろな設定方法が載っています。 マロンくんもかわいいです。 なんといっても、マロンくんという名前がいいですね!!
日経Linux
今や数少なくなってしまったLinuxの雑誌。ニュースやガイドもあります。
Linux Square − @IT
@ITが提供する、Linux の情報が満載。 載っていない設定方法はないんじゃないでしょうか。
gihyo.jp…技術評論社
Linuxに限らず様々な技術情報が満載のサイト。 SoftwareDesign誌も、 ソフトウェア技術者は必見です。
SourceForge.JP Magazine
Linux に限らず、オープンソース関連の記事が網羅されています。
ITmediaエンタープライズ:Linux Tips 一覧
Tips というより FAQ 集でしょうか。わからないことがあれば覗きましょう。
IBM developerWorks : Linux
開発者向けですが、勉強になりますよ。
Yahoo!ニュース - Linux
Yahoo!のLinuxに関するニュース一覧です。
栗日記
システム管理とかと全然関係ありませんが、毎日栗の絵を描いています。
システム管理につかれちゃったとき、癒されたいときに、ご覧ください。:-)
WEB RANKING - PC関連
ランキングに参加してみました。押してやってください。

▼ 作ってみました

Add to Google

▼ せんでん




▼ 最近読んだ本

▼ 気に入ってる本