初めてのmakeserverTOP > LPICレベル1 > システムアーキテクチャ

システムアーキテクチャについて

 
■Level1-No101

出題範囲は以下となります。資格本を熟読していただければ概ね問題ないかと思われます。しかし、全て資格対策本から出題されるわけではないので、やはりコマンドをたたいて、実際に何がどうなっているのか確かめながら勉強した方がよいかと思います。


1) システムアーキテクチャ(主な概要)

・ハードウェア設定の決定と構成
■主要な知識範囲
※組み込まれている周辺機器の有効/無効を切り替える。
※キーボードなどの外部周辺機器を使用する、あるいは使用しないシステ ムを構成する。
※さまざまな大容量記憶装置の相違点。
※さまざまなデバイス向けに、
 正しいハードウェアIDを設定する(特にブートデバイス)
※コールドプラグデバイスとホットプラグデバイスの違いを知っている。
※デバイスに対するハードウェアリソースを決定する。
※さまざまなハードウェア情報をリストするツールおよび
 ユーティリティ(lsusb、lspciなど)。
※USBデバイスを操作するツールおよびユーティリティ
 sysfs、udev、hald、dbusについての概念的に理解する

・システムのブート
■主要な知識範囲
※ブートローダーに一般的なコマンドを与え、
 ブート時にカーネルにオプションを指定する。
※BIOSからブート完了までのブート手順について理解していることを示す
 ログファイルからブート時のイベントを確認する。

・ランレベルの変更とシステムのシャットダウンまたはリブート
■主要な知識範囲
※デフォルトのランレベルを設定する。
※ランレベル(シングルユーザモードを含む)を変更する。
※コマンド行からシャットダウンおよびリブートを行う。
※ランレベルの切り替えやその他の重要なシステムイベントの前に
 ユーザに警告する。
※プロセスを適切に終了させる。

■ブート(起動)の仕組み

@電源投入後 「BIOS」が起動します。BIOSはマウスやキーボードなど、接続されている機器を読み込み認識していきます。

ABIOSが各デバイスの認識が終わったら、次は「ブートローダ」へ引き継ぎます。(LILO、GRUBなど)基本的にOS問わず起動時にはこの流れとなります。

BブートローダはLinuxのカーネルを読み込みます。

Cブートローダによって起動したカーネルはデバイスドライバの初期化を行い「root」ファイルシステムをマウントします。

D「root」ファイルシステムのマウントが終了したら最初のプロセスである
「/sbin/init」を実行します。最初に実行するプロセスなので「init」はプロセス番号が1番となります。

E「init」が起動したら「init」は「/etc/inittab」ファイルに記述されている設定にしたがって「rc」スクリプト(起動時のランレベル)を読み込みます。

■「/proc」について

「/proc」とは,Linuxシステム上のリソース関連情報があり,仮想的なファイル・システムと呼ばれています。「/proc」には,プロセス関連情報やメモリー関連情報などあります。ほとんどはサイズが0byteですが、それぞれ大量の情報が入っています。/proc/interrupts、 /proc/meminfo、/proc/mounts、 /proc/partitions、/proc/cpuinfoなどはシステム情報などを表示してくれます。

「cd /proc」とコマンドを入力し、「/proc」へ移動します。
[cd]コマンドは「チェンジディレクトリ」。ディレクトリ移動の時使用します。
「pwd」コマンドを入力し、現在位置を確認します。
「ls」コマンドを入力し、ファイル名を表示させます。

上は、ホスト名を確認し、次に一般ユーザではいろいろと制限がかかる場合があるので「root」ユーザに変更します。「/proc」ディレクトリへ移動し、現在位置を確認した後、ファイル名を表示させたところです。

※「su」と「su -」の違いについて(ハイフンの有り無し)
「su」と「su -」は 操作環境(環境変数、「PATH」)が違います。
「su」の場合、変更前のユーザの操作環境を引き継ぎます。
「su -」の場合、「root」ユーザの操作環境が使用できます。
「su」で「root」に変更してもコマンド使用に制限がかかってしまいます。

赤枠 一般ユーザ「lpic」
青枠 一般ユーザ「lpic」から「su」で「root」に変更
「pwd」コマンド結果はどちらも同じで「root」のそっくりさん状態です。

赤枠 一般ユーザ「lpic」
青枠 一般ユーザ「lpic」から「su -」で「root」に変更
「pwd」コマンドの結果が違います。「root」になりました。
通常は「su -」を使用します。

※ちなみに「su -」は「su - root」の省略です。


話を元に戻します。
「cat」コマンドを使って各情報を表示させて見ましょう。

cat cpuinfo CPUについての情報
cat loadavg ロードアベレージ(平均負荷)
cat meminfo メモリ情報(総メモリ量、使用メモリ量、空きメモリ量など)
cat partitions パーティション情報
cat stat システム統計情報
cat interrupts  割り込み情報
cat ioports   I/Oポート情報
cat kmsg    カーネルメッセージ
cat devices   デバイス情報
cat mounts    マウント情報
cat version   カーネルのバージョン
cat filesystems  ファイルシステム情報
cat dma  DMAチャネル情報
cat modules  モジュール情報
vmstat プロセス、メモリ、スワップ、io、システム、CPU情報など
uptime 現在時間、稼働時間、ログインユーザ数、ロードアベレージ


■ランレベル
ランレベルとはシステム起動終了における動作モードのことです。「0〜6」までの段階があります。

0 システムの停止
1 シングルユーザモード
2 マルチユーザモード(NFSマウントなし)
3 マルチユーザモード(CUI)
4 未使用
5 マルチユーザモード(GUI)
6 システムの再起動

通常は「3」「5」で設定されています。

「runlevel」コマンド入力すると現在のランレベルが表示されます。
今回は「5」となります。変更する場合は「init」「telinit」コマンドを使用します。
ランレベルを「5」⇒「3」へ変更してみます。

「5 3」と表示があります。左(変更前、右(変更後)

GUIではこのようにコマンドベースの画面になります。
※再起動をすると元に戻ります。

継続的にランレベルを変更する場合
「vi /etc/inittab」と、コマンド入力します。
※「vi」につては「viエディタの使い方」を参照してください。

赤枠の部分を変更します。
id:5:initdefault:
 ↓
id:3:initdefault:
これで再起動をしてもランレベルは「3」のままになります。

「/etc/inittab」ファイル

#
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Author: Miquel van Smoorenburg,
# Modified for RHS Linux by Marc Ewing and Donnie Barnes
#

# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:

# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# When our UPS tells us power has failed, assume we have a few minutes
# of power left. Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"


# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm -nodaemon
■プロセスの起動・終了について

上の例は「httpd」プロセスについてです。
# /etc/init.d/httpd 〜
# /etc/rc.d/init.d/httpd 〜
# service httpd 〜
と使うことができます。例として「httpd」の使い方は、
start、stop、restart、condrestart、reload、status、fullstatus、graceful、help、configtest があります。

これは「/etc/init.d」にある「httpd」を「start」させますとか、「stop」させるとかの意味になります。

「/etc/init.d/」であっても「/etc/rc.d/init.d/」であっても同じです。
※ディストリビューションによって違いがあるかもしれません。

「service --status-all」コマンドを使うと、全てのサービスの現在のステータスを確認する事ができます。
 

LPICレベル1記事一覧

システムアーキテクチャ

■Level1-No101出題範囲は以下となります。資格本を熟読していただければ概ね問題ないかと思われます。しかし、全て資格対策本から出題されるわけではないので、やはりコマ...

インストールとパッケージ管理

■Level1-No101出題範囲は以下となります。資格本を熟読していただければ概ね問題ないかと思われます。しかし、全て資格対策本から出題されるわけではないので、やはりコマ...

GNUとUnixのコマンド

■Level1-No101出題範囲は以下となります。資格本を熟読していただければ概ね問題ないかと思われます。しかし、全て資格対策本から出題されるわけではないので、やはりコマ...

デバイス、Linuxファイルシステム

■Level1-No101出題範囲は以下となります。資格本を熟読していただければ概ね問題ないかと思われます。しかし、全て資格対策本から出題されるわけではないので、やはりコマ...