kyontra日記 -4ページ目

LPIC level2 挑戦!! (第6日-Part2- 果たして結果は・・・?)

試験を受けてきました!!


結果は・・・



敗北・・・ショック!

201試験はギリギリ合格できましたが、202試験は惨敗も惨敗。酷い有様ですしょぼん


<201試験>
あなたの得点:560点
必修合格点:500点
結果:合格

<202試験>
あなたの得点:380点
必修合格点:500点
結果:不合格


言い訳なので、聞き流してよいのですが、今回はあまりにも準備が足り無すぎでした。。
201試験の範囲は、いちおう一通り勉強できていたのですが、202試験はあわてて問題を解いたくらいあせる


まぁ、引きずっててもしょうがないので、再試験に向けてがんばります!!


目標は、2009年の締めくくりを有終の美で終わるために、今年中の合格!!

リテイクポリシーから、次不合格だと、間に3ヶ月が必要になるので、次に絶対合格しないとグー


というわけで、次回から「LPIC level2 挑戦!!-師走の大リベンジ!!-」をお送りする予定ですひらめき電球

202試験の課題と重要度は・・・
主題課題重要度
主題208:
Webサービス
1 Webサーバの実装3
2 Webサーバの保守2
3 プロキシサーバの実装1
主題209:
ファイルとサービスの共有
1 Sambaサーバの設定4
2 NFSサーバの設定4
主題210:
ネットワーククライアントの管理
1 DHCPの設定2
2 PAM認証3
3 LDAPクライアントの利用方法2
主題211:
電子メールサービス
1 電子メールサーバの使用3
2 ローカルの電子メール配信を管理する2
3 リモートの電子メール配信を管理する2
主題212:
システムのセキュリティ
1 ルータを構成する3
2 FTPサーバの保護2
3 セキュアシェル(SSH)4
4 TCPラッパー1
5 セキュリティ業務3
主題213:
トラブルシューティング
1 ブート段階の識別とブートローダのトラブルシューティング4
2 一般的な問題を解決する5
3 システムリソースの問題を解決する5
4 環境設定の問題を解決する5
※2009年12月現在、最新はLPIのサイトにてご確認ください。


それにしても、このご時世に¥15,000の損失は大きいですガーン

Linux教科書 LPICレベル2 第3版 (CD-ROM付)/リナックスアカデミー 中島 能和

LPI認定試験LPICレベル2(201/202)最短合格テキスト&問題集/アイダックLinuxチーム

LPIC level2 挑戦!! (第6日)

毎日更新できていないので、タイトルの日数がおかしいです。(初日から実際は2週間以上は経っている・・・)

さて、いよいよ本日試験本番を迎えることになりました。

状況はかなりやばいですガーン

最後のあがきとして、昨日の夜23:00頃から今朝4:30くらいまで近所のファミレスで勉強をしていました。

今はノートパソコンの電池が切れたので家に帰ってきたところです。


なんとか201試験はいけるかな?(いけるといいな)、202試験は・・・という状態です。


試験は15:00からなので、あと9時間はある!!ということで、まだまだガンバリマス!!

報告だけですいません。。

技術的内容は試験が終わったら・・・。。


Linux教科書 LPICレベル2 第3版 (CD-ROM付)/リナックスアカデミー 中島 能和

LPI認定試験LPICレベル2(201/202)最短合格テキスト&問題集/アイダックLinuxチーム

組み合わせ決定

ワールドカップの組み合わせが決りました!!

日本は
オランダ
カメルーン
デンマーク
と同じE組です。

6/14 vsカメルーン
6/19 vsオランダ
6/24 vsデンマーク

本番が楽しみです音符

グロッキーの語源

意外なことを知りました!!

とらぼる太の一番好きなお酒はラム酒なんですが、ラム酒についていろいろ調べていたら、グロッキーという言葉の由来を見つけました。

ラム酒の水割りをグロッグと呼ぶらしいのですが、そこから酔っぱらいのことをグロッギーと呼んでいるそうです。

それが訛った日本語がグロッキーとのこと。

初めて知りました!!

LPIC level2 挑戦!! (第5日)

昨日はお客さんのところでシステム障害があり徹夜をしてしまいました。。

製品は有償製品なので、ここでは内容については記述を控えさせていただきますが、ポイントは
・過去バージョンとの機能のちがい
です。

製品によっては同じパラメータの規定値がバージョンの違いにより突然変更になることも多々あります。

設計・構築時に見抜けなかったのは、SEとしてのきょんとらぼる太の力不足でしかありませんが、
使い慣れた製品だからという心の油断もあったのかも・・・。

いい教訓になりました。


それでは気を取り直して、LPIC Level2への挑戦を再開します。
(ホントはまたまた試験日をリスケしたかったんですが、昨日はそんなごたごたで、予約の変更期日を過ぎてしまった・・・)


本日は、前回までと話ががらっと変わって、名前解決のコマンドをまとめてみます。

名前解決とは、ホスト名からIPアドレスに変換する「正引き」と、逆にIPアドレスからホスト名に変換する「逆引き」があります。
以前、インターネットの世界ではIPアドレスで相手を特定しているという記事を書きましたが、IPアドレスは数字の羅列であり、人間が覚えるには、都合の良いものではありません。

そこで、ホスト名という人間が覚えやすい名前を定め、通信を行う際にはコンピュータがホスト名からIPアドレスに自動的に変換してくれる処理が登場しました。これが名前解決です。


名前解決はDNSサーバというサーバが行います。

今回はDNSサーバに対して、名前解決を行うコマンドをまとめます。

1.nslookup

一般的な名前解決のコマンドです。LPICの勉強をするまで、このコマンドしか知りませんでした。

<コマンド構文>
# nslookup [ホスト名/IPアドレス]

<コマンド例>
・www.lpi.or.jpのIPアドレスを検索する(IPアドレスは伏せています)
# nslookup www.lpi.or.jp
Server: 192.168.19.2
Address: 192.168.19.2#53

Non-authoritative answer:
Name: www.lpi.or.jp
Address: 202.218.xxx.xxx

・202.218.xxx.xxxのホスト名を検索する
# nslookup 202.218.xxx.xxx
Server: 192.168.19.2
Address: 192.168.19.2#53

Non-authoritative answer:
xxx.xxx.218.202.in-addr.arpa canonical name = xxx.128/25.xxx.218.202.in-addr.arpa.
xxx.128/25.xxx.218.202.in-addr.arpa name = xx.lpi.or.jp.

Authoritative answers can be found from:

nslookupは対話モードによる問い合わせも可能です。
・対話モードでwww.lpi.or.jpのIPアドレスを検索する
# nslookup
> www.lpi.or.jp
Server: 192.168.19.2
Address: 192.168.19.2#53

Non-authoritative answer:
Name: www.lpi.or.jp
Address: 202.218.xxx.xxx
> exit


2.host

<コマンド構文>
# host [オプション] ホスト名/ドメイン名/IPアドレス [問合せ先DNSサーバ]

<オプション>
-t タイプリソースレコードタイプを指定する
-v詳細な情報を表示する

<コマンド例>
・www.lpi.or.jpのIPアドレスを検索する(IPアドレスは伏せています)
# host www.lpi.or.jp
www.lpi.or.jp has address 202.218.212.xxx

・lpi.or.jpのMXレコード(メールサーバ)を検索する
# host -t MX lpi.or.jp
lpi.or.jp mail is handled by 10 mx1.mail-filter.nifty.com.


3.dig

<コマンド構文>
# dig [@問い合わせ先DNSサーバ] ホスト名/ドメイン名/IPアドレス [クエリタイプ]

<クエリタイプ>
aホスト名に対応するIPアドレス(規定値)
ptrIPアドレスに対応するホスト名
nsDNSサーバ
mxメールサーバ
soaSOAレコード情報
hinfoホスト情報
axfrゾーン転送
txt任意の文字列
anyすべての情報

<コマンド例>
・www.lpi.or.jpのIPアドレスを検索する(IPアドレスは伏せています)
# dig www.lpi.or.jp

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5 <<>> www.lpi.or.jp
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61597
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.lpi.or.jp. IN A

;; ANSWER SECTION:
www.lpi.or.jp. 5 IN A 202.218.xxx.xxx

;; Query time: 199 msec
;; SERVER: 192.168.19.2#53(192.168.19.2)
;; WHEN: Fri Nov 27 02:12:46 2009
;; MSG SIZE rcvd: 47



と、ここまでまとめて気づいたんですが、前回サービスの自動起動のコマンドをまとめると書いていました。。
また次回にでもまとめます。


Linux教科書 LPICレベル2 第3版 (CD-ROM付)/リナックスアカデミー 中島 能和

LPI認定試験LPICレベル2(201/202)最短合格テキスト&問題集/アイダックLinuxチーム

LPIC level2 挑戦!! (第4日)

今日からまた更新を続けたいと思います。
・・・と、いつも口ばっかりですいません。。


さて、今日の更新は/etc/rc.d/rc(サービスの自動起動)についてです。
先日説明したinittabの中で、起動ランレベルを引数とした、
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
という箇所がありました。

この処理を追うために、まずは/etc/rc.d/rcのファイルの中身を見てみることにします。
#! /bin/bash
#
# rc This file is responsible for starting/stopping
# services when the runlevel changes.
#
# Original Author:
# Miquel van Smoorenburg,
#

set -m

# check a file to be a correct runlevel script
check_runlevel ()
{
# Check if the file exists at all.
[ -x "$1" ] || return 1
is_ignored_file "$1" && return 1
return 0
}

# Now find out what the current and what the previous runlevel are.
argv1="$1"
set `/sbin/runlevel`
runlevel=$2
previous=$1
export runlevel previous

. /etc/init.d/functions

# See if we want to be in user confirmation mode
if [ "$previous" = "N" ]; then
if [ -f /var/run/confirm ]; then
echo $"Entering interactive startup"
else
echo $"Entering non-interactive startup"
fi
fi

# Get first argument. Set new runlevel to this argument.
[ -n "$argv1" ] && runlevel="$argv1"

# Is there an rc directory for this new runlevel?
[ -d /etc/rc$runlevel.d ] || exit 0

# First, run the KILL scripts.
for i in /etc/rc$runlevel.d/K* ; do
check_runlevel "$i" || continue

# Check if the subsystem is already up.
subsys=${i#/etc/rc$runlevel.d/K??}
[ -f /var/lock/subsys/$subsys -o -f /var/lock/subsys/$subsys.init ] \
|| continue

# Bring the subsystem down.
if LC_ALL=C egrep -q "^..*init.d/functions" $i ; then
$i stop
else
action $"Stopping $subsys: " $i stop
fi
done


# Now run the START scripts.
for i in /etc/rc$runlevel.d/S* ; do
check_runlevel "$i" || continue

# Check if the subsystem is already up.
subsys=${i#/etc/rc$runlevel.d/S??}
[ -f /var/lock/subsys/$subsys -o -f /var/lock/subsys/$subsys.init ] \
&& continue

# If we're in confirmation mode, get user confirmation
if [ -f /var/run/confirm ]; then
confirm $subsys
test $? = 1 && continue
fi

update_boot_stage "$subsys"
# Bring the subsystem up.
if [ "$subsys" = "halt" -o "$subsys" = "reboot" ]; then
export LC_ALL=C
exec $i start
fi
if LC_ALL=C egrep -q "^..*init.d/functions" $i \
|| [ "$subsys" = "single" -o "$subsys" = "local" ]; then
$i start
else
action $"Starting $subsys: " $i start
fi
done

rm -f /var/run/confirm
if [ -x /usr/bin/rhgb-client ] && /usr/bin/rhgb-client --ping ; then
/usr/bin/rhgb-client --quit
fi

一つ一つ追っていくと説明しきれないので、要点だけまとめます。
引数は$runlevelという変数に代入され、まず/etc/rc$runlevel.d/Kで始まるファイルを実行します(ファイル内の赤文字の部分)。実行するときの引数はstopです。その次に、/etc/rc$runlevel.d/Sで始まるファイルを実行します(ファイル内の青文字の部分)。実行するときの引数はstartです。

さて、次に問題になるのはこれらの/etc/rc$runlevel.d/K~や、/etc/rc$runlevel.d/S~が何かということですが、lsコマンドでこれらのファイルを見てみると、実はKとつくファイルもSとつくファイルも、/etc/init.d/配下のKやSを除いた名前のファイルのシンボリックリンクになっています。
# ls -l /etc/rc3.d/K30sendmail
lrwxrwxrwx 1 root root 18 1月 7 2009 /etc/rc3.d/K30sendmail -> ../init.d/sendmail
# ls -l /etc/rc3.d/S55sshd
lrwxrwxrwx 1 root root 14 1月 7 2009 /etc/rc3.d/S55sshd -> ../init.d/sshd

実は/etc/init.d/配下にあるファイルこそが、サービスの起動・停止の実体ファイルになります。
つまり、シンボリックリンクを作成するときに頭にKをつけると/etc/rc.d/rcは/etc/init.d/配下のサービス起動・停止ファイルをstopを引数として実行し、頭にSをつけるとstartを引数として実行します。

これが、サービスの自動起動のからくりです。


まとめると、サービスの自動起動は以下のようになります。

1.サービスの起動・停止ファイルである/etc/init.d/はstopを引数として実行するとサービスを停止、startを引数として実行するとサービスを開始するように作成されています。

2.サービスの自動起動を行う設定は、例えばランレベル3の自動起動設定は、/etc/rc3.d/配下に/etc/ini
t.d/<ファイル名>のシンボリックリンクをそのランレベルで起動させる場合は/etc/rc3.d/S<ファイル名>、停止させる場合は/etc/rc3.d/K<ファイル名>として作成します。(このときSやKと<ファイル名>の間にある2桁の数値は優先度となります。数値が小さいほど優先して起動、停止が行われます。)

3.システム起動時にinittabは/etc/rc.d/rcをランレベルを引数として実行します。

4./etc/rc.d/rcはその引数をもとに、例えば引数が3の場合(ランレベルが3の場合)は、/etc/rc3.d/K~ファイルをstopを引数として実行し、/etc/rc3.d/S~ファイルをstartを引数として実行します。


以上がサービスの自動起動の一連の流れです。文章だけだとちょっと説明がつらいので、気が向いたら図解を掲載しようかと思います。


明日はサービスの自動起動設定を行うコマンドを紹介します。
基本は、/etc/init.d//配下のファイルのシンボリックリンクを/etc/rc[0-6].d/配下に作成すればサービスの自動起動設定が行えますが、サービスの自動起動設定を行うたびにひとつひとつシンボリックリンクを作成しなおすことは大変です。そのため、各ディストリビューションにはサービスの自動起動を設定する便利なコマンドが用意されています。

Linux教科書 LPICレベル2 第3版 (CD-ROM付)/リナックスアカデミー 中島 能和

LPI認定試験LPICレベル2(201/202)最短合格テキスト&問題集/アイダックLinuxチーム

筋肉痛 & LPIC level2 挑戦!!(連絡)

土曜日に久しぶりにダンスをしてきました!

いつものロックダンスではなくて、初めてのジャズだったので、あまりにもカラダの使い方が違いすぎてかなりの困惑…。

おかげで?(それとも最近の運動不足のせい?)、昨日は筋肉痛に苦しめられました。。

やっぱり、個人的にはロックのほうが好きだと感じました。ジャズもたまには気分転換に良いかもしれないけれど。

今年の発表会は不参加だけれど、来年は頑張りたいな。


LPIC level2 挑戦!! の連絡
試験日を来週にずらすことにしました。なので、今週は夜勉強&ブログ更新をする予定です。

クリスマスツリー

地元の駅前にクリスマスツリーが設置されました。

とあるSEのきまぐれ日記-NEC_0200.jpg


もうすぐ12月で、あっという間に今年も終わり。

今年中にはLPIC Level2を取りたいなぁ。

LPIC level2 挑戦!! (第3日)

今日は昨日に続きです。

まずは、inittabの内容を見ていくことにしましょう。

initdefaultではデフォルトのランレベルを指定します。ブートローダからランレベルを指定して起動することもできますが、何も指定しない場合にはこのランレベルで起動します。
とらぼる太環境ではインストールをGUIで行ったので、デフォルトのinitdefaultは5が指定されていましたが、いまは3で起動するように修正してあります。
# 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:
id:3:initdefault:

次はsysinitです。これは、initプロセスの中で最初に実行されるプロセスです。/etc/rc.d/rc.sysinitを実行するように設定してあります(デフォルト設定のまま)。
/etc/rc.d/rc.sysinitはシステムの初期化を行うスクリプトで、ハードウェアのチェックや初期化、ファイルシステムの マウントなどを行なっています。
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit

その後、ランレベルに応じて、各サービスの自動起動を行います。/etc/rc.d/rcスクリプトをランレベルを引数として実行します。rcスクリプトの中身を見てみると、まず終了プロセス(/etc/rc[0-6].d/K*)を実行して、その後、開始プロセス(/etc/rc[0-6].d/S*)を実行しているようです。
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

ctrlaltdelは、CtrlキーとAltキー、Deleteキーを同時に押した時の動作を設定しています。デフォルト設定だとシステムの再起動を行うような設定がしてあります。
とらぼる太環境では、間違って再起動させないようにコメントアウトしてあります。
# Trap CTRL-ALT-DELETE
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

その次にあるのは、電源異常時の処理です。UPS(無停電電源装置、非常時のバッテリのようなものです)からのシグナルを受けて行う処理で、デフォルト設定は、UPS異常時(大元の電源が遮断されたとき)にシステムシャットダウンを行うような設定がしてあります。ただし、2分間の猶予を設けてあり、その間に電源が復旧した場合はシャットダウンを中止するように設定がしてありました。
ですが、企業のサーバなどの電源管理は専用ソフトウェアで行うことがほとんどなので、この設定が効いてくる場面はあまり無いのではないかと思います。。
# 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"

次は仮想コンソールの起動です。tty1~tty6の6つの仮想コンソールを起動するように設定してあります。仮想コンソールが複数あると複数のユーザでログインする時に切り替えて使えて便利です。キーボードのAltキーとF1~F6を同時に押すと、仮想コンソールを切り替えることができます。(F1がtty1、F2がtty2…のように)
とらぼる太環境はデフォルトのまま、6つの仮想コンソールを起動するように設定してありますが、リソースを消費するので必要が無ければコメントアウトしておくと良いと思います。
ちなみにアクション指示子がrespawnなので、プロセスが停止すると自動的にプロセスを再起動します。
# 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

最後に、ランレベルが5の場合にはGUIのログイン処理を実行しています。prefdmスクリプト内では環境変数から設定されているディスプレイマネージャを判別し、それを実行しているようです。スクリプト内に無いディスプレイマネージャを使う場合には、設定変更が必要なのかも。
# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm -nodaemon


なんてことを書いていいたら、ずいぶん長くなってしまいました。

サービスの自動起動は次回に持ち越しということで…。
/etc/rc.d/rcの処理です。

Linux教科書 LPICレベル2 第3版 (CD-ROM付)/リナックスアカデミー 中島 能和

LPI認定試験LPICレベル2(201/202)最短合格テキスト&問題集/アイダックLinuxチーム

大量発生

最近、家の近くの電線に、たくさんの鳥がとまることがあります。

一斉に飛び立つとかなり不気味なくらい、相当の数。
$とあるSEのきまぐれ日記

大きさはカラスよりは小さいけれど、すずめよりはたぶん大きいです。
$とあるSEのきまぐれ日記
目の周りが白いから"めじろ"?


なんてことはない、そんな写真です。