連載
» 2008年06月30日 00時00分 公開

実践でも役立つLPICドリル(3):ファイルシステムの管理と保守 (4/4)

[大竹龍史,ナレッジデザイン]
前のページへ 1|2|3|4       

問題3

 表示3-1のようなディレクトリ以下をgenisoimageコマンドでISOイメージファイルfs-image.isoとして作成し、そのファイルをディレクトリにマウントしてからlsコマンドで表示したところ、表示3-2のようにファイル名はすべて小文字となり、ファイル名のサフィックスを除く部分は8文字までとなって表示されました。

[表示3-1]
# ls -a        
. GPL RELEASE-NOTES RedHat images
.. README RELEASE-NOTES-ja.html TRANS.TBL isolinux
.discinfo README-Accessibility RELEASE-NOTES.html autorun  
EULA README.ja RPM-GPG-KEY dosutils  

[表示3-2]          
# ls -a          
. autorun gpl readme redhat release_.htm
.. dosutils images readme.ja relea000.htm rpm_gpg_
_discinf eula isolinux readme_a release_ trans.tbl

[表示3-3]
. AUTORUN GPL README REDHAT RELEASE_.HTM
.. DOSUTILS IMAGES README.JA RELEA000.HTM RPM_GPG_
_DISCINF EULA ISOLINUX README_A RELEASE_ TRANS.TBL

[試験対策の重要度:(level1)* (level2)**]


(設問1)ISOイメージ作成時に実行したコマンドはどれですか?(1つ選択)。なお、Linuxカーネルにはisofsモジュールで対応可能な機能はすべて組み込まれているものとします。

(設問2)ISOイメージファイルをディレクトリにマウントするために実行したコマンドはどれですか?(1つ選択)

(設問3)元のファイル名のままで表示されるようにするために、実行すべきコマンドはどれですか?(3つ選択)

 表示3-1のようなディレクトリ以下をgenisoimageコマンドでISOイメージファイルfs-image.isoとして作成し、それをCD-ROMに焼いて、MS Windowsで読んだところ、表示3-3のようにファイル名はすべて大文字となり、ファイル名のサフィックスを除く部分は8文字までとなって表示されました。

(設問4)ISOイメージファイル作成のために実行したコマンドとして考えられるものはどれですか?(2つ選択)

(設問5)MS Windowsで読んだときに、元のファイル名のままで表示されるようにするために、ISOイメージファイル作成時に実行すべきコマンドはどれですか?(2つ選択)

(設問1〜5)の選択肢

a.genisoimage -o ../fs-image.iso .

b.genisoimage -R -o ../fs-image.iso .

c.genisoimage -J -o ../fs-image.iso .

d.genisoimage -J -R -o ../fs-image.iso .

e.mount ../fs-image.iso /mnt

f.mount -t iso9660 ../fs-image.iso /mnt

g.mount -o loop ../fs-image.iso /mnt

正解

(設問1)a

(設問2)g

(設問3)b、c、d

(設問4)a、b

(設問5)c、d

解説

(設問1)genisoimage/mkisofsコマンドを実行するとき、ISO9660にオプションで-J(Joliet拡張)や-R(Rock Ridge拡張)などの拡張規格を指定しない場合は、ファイル名8文字以下、拡張子3文字以下となります。

(設問2)ブロックデバイスではなく、中にファイルシステムが作られている通常ファイルをマウントする場合はmountコマンドにオプション"-o loop"を付けてloopデバイスを使ってマウントします。

(設問3)Linuxで元のファイル名のとおりに表示できるようにするには-Jか-Rか-rオプションを付けます。

(設問4)MS Windowsでは-Jオプション以外では元のファイル名のとおりに表示できません。

(設問5)MS Windowsで元のファイル名のとおりに表示できるようにするには-Jオプションを付けます。

問題4

 あるとき突然電源が落ちて、その後復帰したことが判明しました。しかしシステムは電源が復帰した後、立ち上げ途中で次のエラーメッセージ(表示4-1)が表示され、その後、次のプロンプト(表示4-2)が表示された状態で止まっています。

[表示4-1]

fsck.ext2: Bad magic number in super-block while trying to open /dev/sda7

[表示4-2]

Give root password for maintenance

( or type Control-D to continue ):

[試験対策の重要度:(level1)*** (level2)-]

(設問1)ここで、次に取るべき最適な手順はどれですか?(1つ選択) なお、表示4-3はsda7に障害が発生する前、正常時にコマンドを実行した結果の抜粋です。

[表示4-3]

# dumpe2fs /dev/sda7

................................

Reserved block count: 24899

Block size: 1024

Blocks per group: 8192

Inodes per group: 2048

Group 0: (Blocks 1-8192)

Group 1: (Blocks 8193-16384)


a.rootのパスワードを入力してログインし、スーパーブロックが損傷した状態なので次のコマンドを実行してスーパーブロックのバックアップを使用し、修復を試みる

# fsck -b 8193 /dev/sda7

b.rootのパスワードを入力してログインし、スーパーブロックが損傷した状態なので次のコマンドを実行してスーパーブロックのバックアップを使用し、修復を試みる

# fsck -b 1 /dev/sda7

c.rootのパスワードを入力してログインし、init 6などのコマンドでシステムを再起動する。再起動時にfsckが実行されてファイルシステムは正しく修復される

d.Control-Dを入力してそのまま立ち上げ、ログイン画面が表示されたところで、通常どおりにログインして、fsckコマンドでファイルシステムを修復する

e.fsckの結果でこのような致命的なエラーがある場合は、現行Linux上では修復できない。Linuxインストーラをrescueモードで立ち上げて、fsckコマンドで修復する

(設問2)上記作業の結果、/dev/sda7は正しく修復できました。この後、/dev/sda7のマウントポイントを変更する必要があったので、viエディタで/etc/fstabを編集しようとしたところ、rootで作業しているにもかかわらず書き込みができなかったため、変更ができませんでした。その原因についての正しい説明と、次に取るべき最適な手順はどれですか?(1つ選択)

a./etc/fstabのパーミッションに書き込み権がないためと思われる。rootが書き込みできるようにパーミッションを変更してから再度/etc/fstabを編集する

b.ルートファイルシステムがread-onlyでマウントされていると思われるので、次の手順で一度アンマウントしてから、rw(read/write)オプションを付けてマウントし、/etc/fstabを編集する

umount / ; mount -o rw /

c.ルートファイルシステムがread-onlyでマウントされていると思われるので、次の手順でrw(read/write)オプションとremountオプションを付けてリマウントし、/etc/fstabを編集する

mount -n -o remount,rw /

d.ルートファイルシステムがread-onlyでマウントされているときは、Linuxインストーラをrescueモードで立ち上げて/etc/fstabを編集するほかはない

 上記作業の終了後、/etc/fstabに記述をしていない2つのファイルシステム/dev/sda5、/dev/sda6を停電前まで実験的にマウントして使用していたので、fsckに-nオプションを付けて検査をしたところ、それぞれのファイルシステムで次のようなエラー(表示4-4、4-5)が発見されました。

[表示4-4]

# fsck -n /dev/sda5

.............................................

Pass 4: Checking reference counts

Inode 34817 ref count is 4, should be 3. Fix? n

/dev/sda5: ********** WARNING: Filesystem still has errors **********

[表示4-5]

# fsck -n /dev/sda6

.............................................

Pass 4: Checking reference counts

Unattached inode 34819

Connect to /lost+found? no

/dev/sda6: ********** WARNING: Filesystem still has errors **********

(設問3)sda5のファイルシステムのエラーについての説明と、その対処方法について正しいものはどれですか?(1つ選択)

(設問4)もしsda5のエントリが/etc/fstabに記述されていた場合、停電後のシステム立ち上げ時にはどのようなことが起きますか?(1つ選択)

(設問5)sda6のファイルシステムのエラーについての説明と、その対処方法について正しいものはどれですか?(1つ選択)

(設問6)もしsda6のエントリが/etc/fstabに記述されていた場合、停電後のシステム立ち上げ時にはどのようなことが起きますか?(1つ選択)

(設問3〜6)の選択肢

a.inodeを参照するディレクトリエントリがないのに、inodeに書かれたリンク数の値が1以上である状態。ディレクトリファイルの損傷か消失により、そのinodeを参照するディレクトリエントリが失われた可能性が高い。fsckコマンドを実行して「Connect to /lost+found?」の質問に「y」と答えるか、「fsck -y」として実行する。この結果、lost+foundディレクトリの下に、#inode番号のディレクトリエントリが作られ、以前のファイル名は失われても、元のファイルの実体にアクセスできるようになる

b.inodeを参照するディレクトリがあるにもかかわらず、参照先のinodeのリンク数の値が0である状態。inode中のデータブロック番号が残っていれば、debugfsなどのユーティリティで修復できるが、ディスクブロックの物理的な損傷が原因の場合は修復できる可能性はほとんどない

c.スーパーブロックだけは正常だがinodeが損傷した状態。この場合はfsckでは修復できない

d.inode中のリンク数の値とfsckが全ディレクトリエントリを調べて数え上げた実際のリンク数が異なった状態。fsckコマンドを実行して「Fix<y>?」の質問に「y」と答えるか、 「fsck -y」として実行するか、「fsck -p」として実行する。この結果、inode中のリンク数の値がfsckが実際に数えた値に修正される

e.inode中のリンク数の値とfsckが全ディレクトリエントリを調べて数え上げた実際のリンク数が異なった状態。fsckがうっかりしてエントリ数を数え間違ったと思われる。fsckコマンドを実行し「Fix<y>?」の質問に「n」と答えることにより、inode中のリンク数の値はそのままにしておくのがよい

f.システムは、当該ファイルシステムを変更・修正することなく、そのまま立ち上がる

g.システムは立ち上げ時にfsck -pコマンドを実行することにより、当該ファイルシステムのエラー個所を修正して、そのまま立ち上がる

h.システムは立ち上げ時にfsck -pコマンドでは修復できないエラーを当該ファイルシステムの中に発見し、「UNEXPECTED INCONSISTEMCY;RUN fsck MANUALLY」のメッセージを表示した後、シングルユーザーモードとなってrootのパスワードを要求する。このとき、ルートファイルシステムはread-onlyでマウントされた状態になる

正解

(設問1)a

(設問2)c

(設問3)f

(設問4)i

(設問5)a

(設問6)j

解説

(設問1)立ち上げ時にファイルシステムエラーが検出されてシングルユーザーモードになった場合は、rootのパスワードを入力してログインし、エラーの修復作業を行います。正常時のdumpe2fsの表示によると、2番目のブロックグループの先頭ブロック(ここに1番目のバックアップがあります)の番号が8193なので、fsckの-bオプションでこの番号を指定して修復を試みます。

(設問2)立ち上げ時にファイルシステムエラーが検出されてシングルユーザーモードになった場合はルートファイルシステムはread-onlyでマウントされた状態です。mountコマンドをオプション"-o remount.rw"を付けて実行し、reda-writeでマウントし直してから、設定ファイルを編集します。

(設問3)fsckを-yあるいは-pオプションを付けるか、あるいはyと答えて、inodeのリンク数を正しく修正します。

(設問4)ルートファイルシステムではないので、fsck -pで修正できた場合はそのまま立ち上がります。

(設問5)inode 34819のファイル名への対応情報を持つディレクトリエントリが失われた状態です。inodeとデータブロックの内容はそのまま残っている可能性が高いので、yを入力します。lost+foundディレクトリの下にinode番号をファイル名とするディレクトリエントリ #34819が作られます。

(設問6)ディレクトリエントリの損傷によるエラーは、システム立ち上げ時のfsck -pでは修復できないので、エラーメッセージが表示されて、シングルユーザーモードでrootのパスワード入力を待つ状態になります。

 大問4問お疲れさまでした。次回は「X Window System」の問題を出題します。

筆者プロフィール

大竹龍史

有限会社ナレッジデザイン 代表取締役。1980年代に日本コンピュータビジョン社にてサン・マイクロシステムズのWorkstation、Sun2に出合って以来、サン関連のサポート、社内教育、ユーザー教育に従事。1998年、Netscape(現在はサンのSJESプロダクトに引き継がれている)とLinuxのトレーニングを提供する有限会社ナレッジデザインを設立。現在はLinuxとSolarisのシステム管理、ネットワーク管理、サーバ構築を担当。



前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。