日刊アスキー Linux Top ASCII24 News ASCII24 Review ASCII24 Business Center 携帯24 Mac24 Akiba2GO! 日刊アスキー Linux デジタル用語辞典 ASCII24 Broadband Center ニュース 今日のコラム イベント情報 セミナー情報 Linux magazine ASCII24メールサービス アスキー編集会議
ASCII24 - [Main Menu] [Menu 2]
  ASCII24 > 日刊アスキー Linux > All ASCII Linux Issue 1
111
記事/用語/ID検索 

Linux Magazineの最新記事一覧

Biz Express Focus 『HDE Mail Filter 1.0』 (2003年7月8日)
Biz Express Focus “Ready for e-business” (2002年6月7日)
これで解決! Linux 100の疑問―その3 (2001年9月6日)
これで解決! Linux 100の疑問―その2 (2001年8月27日)
これで解決! Linux 100の疑問―その1 (2001年8月24日)
覚えておきたい必須コマンド30―その6・vi、最初の一歩 (2001年7月13日)
覚えておきたい必須コマンド30―その5・シェルを使おう (2001年6月27日)
覚えておきたい必須コマンド30―その4・コマンドリファレンス (2001年6月18日)
覚えておきたい必須コマンド30―その3・管理コマンド (2001年6月12日)
覚えておきたい必須コマンド30―その2・便利なコマンド (2001年6月9日)
覚えておきたい必須コマンド30―その1・ファイルの基本操作 (2001年5月31日)
初めてでも大丈夫!今日から使える Linux (第3部) (2001年5月25日)
初めてでも大丈夫!今日から使える Linux (第2部) (2001年5月21日)
初めてでも大丈夫!今日から使える Linux (第1部) (2001年5月14日)






Contact Information

[PR]
Printable Version All ASCII Linux Issue / Linux Magazine 2000年2月号

これで解決! Linux 100の疑問―その3

システムの起動・ルートユーザー・シェル


2001年9月6日

システムの起動その2

Q:rootのパスワードを忘れてしまったのですが、再インストールするしかないですか?

A:このようなときは、メンテナンス用の“シングルユーザーモード”というモードで起動してパスワードを再設定することができます。

シングルユーザーモードで起動するには、LILOの“boot:”プロンプトで“linux 1”と入力します。この“linux”は起動するOSを選ぶためのラベルで、環境によっては違うかもしれません。その場合は、“boot:”プロンプトに対してTabキーを押すと、登録されているラベルが一覧表示されるので、その中からLinuxを起動するものを選びます。

シングルユーザーモードで起動するとシェルのコマンド画面になりますので、passwdコマンドでパスワードを再設定します。

さて、rootのパスワードがわからないと、シャットダウンもできないことが多いでしょう。この場合、まずsyncコマンドを実行して、ディスクキャッシュに残っているデータをディスクに書き込みます。次にCtrl+Alt+Deleteキーを押して終了します。

Q:ランレベルってなに?

A:Linuxには、ランレベルという複数の動作モードがあり、0〜6のランレベルによって、機能の範囲を変えられるようにしています。たとえば、Red Hat LinuxやTurboLinuxでは、表2のようになっています。

通常のテキストコンソール起動時は、ランレベル3で動作し、X Window System起動時はランレベル5で動作しているというわけです。Linuxは、マルチユーザーOSなので、同時に複数のユーザーで利用できますが、管理者がディスククラッシュを復旧する際などは、ほかのユーザーやデーモンがファイルを読み書きすると非常にマズいことになります。このようなときには、ほかのユーザーやデーモンを排除するためにシングルユーザーモードで作業をします。管理者はマシンの前に座り、一人寂しく作業をするのです。

起動時のデフォルトランレベルは、/etc/inittabで設定されています。このファイル中に、id:3:initdefaultと書かれていればデフォルトのランレベルは3になります。これを書き換えるか、起動時にLILOの“boot:”プロンプトで“linux 5”のようにすれば、ランレベルを指定することができます。

一方、起動してからランレベルを切り替えるのがtelinitコマンドです。たとえば、“telinit 6”を実行すると、すぐにランレベル6となり、Linuxが再起動します。

表2 ランレベルによるLinuxの機能
0 停止
1 シングルユーザーモード
2 マルチユーザーモード(ネットワーク機能なし)
3 フルマルチユーザーモード(テキスト)
4 未使用
5 マルチユーザーモード(X Window System)
6 再起動

Q:起動フロッピーを作りたい

A:ハードディスクからLinuxを起動できなくなったときなどに活躍するのが起動フロッピーです。

ディストリビューションによっては、起動フロッピーを作るためのシェルスクリプトが用意されているものもありますが、ここでは標準的なコマンドを使い、シンプルな起動フロッピーを作る方法を紹介します。

作成手順は、たったの3ステップだけです。まず、フロッピーディスクをフォーマットします。


# fdformat /dev/fd0H1440

次に、カーネルのイメージを書き込みます。


# dd if=/boot/vmlinuz of=/dev/fd0

最後に/(ルート)ファイルシステムのパーティションを指定して終了です。


# rdev /dev/fd0 /dev/hda1

このフロッピーで起動すると、カーネルをフロッピーディスクから読み出し、/dev/hda1のパーティションを/(ルート)ファイルシステムとしてマウントします。

しかし、カーネルに渡すオプションが入力できないので、ランレベルの指定などはできません。そこで、今度は、オプションを指定できる、もう少し便利な起動フロッピーを作ってみます。このフロッピーには、LILOとカーネルイメージを入れ、フロッピー内のカーネルとハードディスクのカーネルを選べるようにします。

下準備として、フロッピーディスクに書き込むLILOのために、設定ファイル/etc/lilo.flopを作ります(リスト5)。/etc/lilo.confをコピーして雛形にすると簡単です。

次に、起動フロッピーを作成します。最初にフォーマットし、ext2ファイルシステムを作成します。


# fdformat /dev/fd0H1440
# mke2fs
/dev/fd0

作成したディスクをマウントし、ハードディスクからチェインローダとカーネルをコピーします。


# mount -t ext2 /dev/fd0 /mnt/floppy
# cp -p /boot/chain.b /mnt/floppy
# cp -p /boot/vmlinuz-2.2.13 /mnt/floppy

最後に、フロッピーディスクにLILOをインストールし、アンマウントすればできあがりです。


# lilo -C /etc/lilo.flop
# umount /mnt/floppy

この起動フロッピーでブートすると、LILOの“boot:”プロンプトが表示されるので、ここで“linux”と入力すればハードディスクのカーネルが、“rescue”と入力すればフロッピーディスクのカーネルが起動します。さらに、“rescue 1”などと入力すればランレベルの指定も可能です。

ただし、ブートメディアのドライバをモジュールにしている場合は、これらの方法で起動ディスクを作ることはできません。ブートに必要なドライバをカーネルに組み込んでしまえば、簡単に起動フロッピーを作成できます。


boot=/dev/fd0
#LILOはフロッピーに置く
map=/mnt/floppy/lilo-map
prompt
timeout=50
default=linux

image=/boot/vmlinuz-2.2.13
#ハードディスクのカーネル
        label=linux
        read-only
       root=/dev/hda1

image=/mnt/floppy/vmlinuz-2.2.13
#フロッピーディスクのカーネル
        label=rescue
        read-only
        root=/dev/hda1
リスト5 /etc/lilo.flopの例

Q:デーモン(daemon)とはなんですか?

A:ゲームのように、ユーザーと対話しながら表舞台で活躍するアプリケーションとは違い、人目につかないところでひっそりと仕事をする、「縁の下の力持ちプログラム」の総称です。“ps ax”コマンドを実行するとわかるように、Linuxでは数多くのプログラムがデーモンとして動作しています。たとえば、仮想記憶を実現するkswapd、ログを集めてファイルに記録するklogdやsyslogd、各種のネットワークサーバプログラムなどはデーモンとして動作しています。

デーモンは、ユーザーと直接対話する制御端末を持ちません。ですから、一般のユーザーは、デーモンが動いているかどうかを気にかけないでしょう。

起動されたデーモンは、すぐに活動するわけではなく、特定のリクエストを待ち、リクエストを受信するとそれに対する処理を行います。そして処理が済むと、次のリクエストが来るまでまた休むのです。たとえば、Webサーバのhttpdは、ユーザーから接続されるまで休んでいて、接続されると活動を始めます。また、決められた時刻や一定時間ごとにプログラムを起動するcrondも代表的なデーモンです。

Linux、UNIXの世界において、デーモンは、悪魔や悪霊ではなく、ギリシャ神話の「神と人の間に位置する超自然的存在」に由来するものとされています。

Q:デーモンの起動、停止の方法を教えてください。

A:システムの起動時に、自動的に起動するデーモンを設定したい場合はツールを利用するのが便利です。TurboLinuxではturboserviceコマンド、Red Hat Linuxならntsysvコマンドが利用できます。また、X Window Systemで動作するLinuxconfやksysvコマンドが使えれば、グラフィカルなユーザーインターフェイスで設定できます。

では、今すぐデーモンを起動したいときはどうすればよいのでしょう。Red Hat Linuxなどでは、/etc/rc.d/init.dディレクトリ以下にデーモンの起動スクリプトが用意されていますので、起動したいデーモン名のファイルに、引数としてstartをつけて実行します。たとえば、httpd(Webサーバ)を起動したいなら、


# /etc/rc.d/init.d/httpd start

とするとhttpdが起動されます。引数にはstopとrestartも使え、それぞれ停止と再起動を行います。

一方、Slackwareなどでは/etc/rc.d/ディレクトリにrc.httpdのようなファイルが用意されているので、これを実行すれば、そのデーモンが起動します。

また、止めたい場合はps axを実行して、止めたいデーモンプロセスのPID(プロセスID)を調べ、killコマンドを使います。例として、PIDが567のデーモンを止めてみましょう。


# kill -TERM 567

Red Hat Linuxなどでは、/var/runディレクトリに、主要なデーモンのPIDを記録したファイルがあるので、これを利用して次のようにすることもできます。


# kill -TERM `cat /var/run/httpd.pid`

再起動する場合は、killコマンドのオプションをーTERMの代わりにーHUPにします。デーモンの設定ファイルを変更したら、このようにしてデーモンを再起動し、変更内容を動作に反映させます。

(Linux magazine編集部)


[前ページ][次ページ]

Contents...



Copyright (C) 1997-2006 ASCII Corporation. All Rights Reserved.
No portion of this web site may be reproduced or duplicated without the express written permission of ASCII Corporation.
This web site is written in Japanese only.
記事に関するご意見やご質問は、お問い合わせフォームにてお送りください