スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

カーネル(3)

1.古いLinuxカーネルを上書きする形でLinuxカーネルを最新版にアップグレードした。しかし、アップグレード後にマシンを再起動すると、Linuxが起動しなくなった。この際、もっとも考えられる原因を選択しなさい。

1. /etc/lilo.confの内容を変更していない
2. MBRにLILOをインストールする前に再起動した
3. リストア用に古いカーネルのイメージファイルを保存したFDを作成していなかった
4. 古いカーネルを新しいLinuxカーネルで上書きしてしまった

正解:2

ブートローダLILOを使用している場合、再構築したカーネルを利用するためには次の作業が必要になります。
まず、Linuxカーネルのファイル名などを変更した場合、LILOの設定ファイル「etc/lilo.conf」の内容を新しいLinuxカーネルに合わせたものに変更します。
次に、/sbin/liloコマンドを実行します。実行された/sbin/liloコマンドは、設定ファイル「/etc/lilo.conf」を参照し、設定ファイルで指定された場所(MBR、ブート・パーティションの先頭など)に起動用のプログラムをコピーします。
この一連の作業をしないと再起動後にLinuxは起動しなくなります。
問題文は、旧カーネルを上書きしたとありますので、ファイル名や保存場所(ディレクトリ名)は変更されていません。したがって、設定ファイル「/etc/lilo.conf」の内容を変更する必要はありません。


2.カーネルを構築する前に、機能を選択(コンフィグレーション)するためのコマンドを選択しなさい。

1. ./config
2. ./configure
3. make config
4. make configure

正解:3

make configコマンドはCUIの対話的なプログラムです。このプログラムでは、画面に表示されるメッセージに沿って、組み込む機能を対話的に選択していきます。
make menuconfigコマンドは、テキスト・ベースのプログラムです。このプログラムでは、主にカーソル・キーを使って組み込む機能を選択します。
make xconfigコマンドは、GUIのプログラムです。X上に表示される設定画面で、主にマウスを使って組み込む機能を選択します。どの設定ツールも一長一短ですが、コンソールやターミナルではmake menuconfigコマンドが、X上ではmake xconfigコマンドがよく使われています。選択肢にはmake menuconfigコマンドもmake xconfigコマンドもありません。したがって、正解はmake configコマンドです。


3.カーネルを再構築する際、カーネルサイズが大きくなる場合に使用するコマンドを選択しなさい。

1. make zdisk
2. make zImage
3. make bzImage
4. make gzImage

正解:3

この場合、イメージ・ファイル「zImage」は512KB以下のサイズになる必要があります。圧縮イメージ・ファイルのサイズがこれを越える場合は、カーネルをイメージ・ファイル「bzImage」として作成します。その方法は次のとおりです。
$ make bzImage


4.カーネルを再構築したあとにシステムを再起動した。ところが、Linuxの起動時に「Can't find modules」と表示される。この原因として適切なものを選択しなさい。

1. モジュールがインストールされていない
2. モジュールが不適切なディレクトリにインストールされている
3. ローダブル・モジュールの機能が無効になっている
4. 再起動する前にdepmodコマンドを実行していない

正解:1

カーネル・モジュールは
make modules_install
コマンドにより、/lib/modules/<カーネルのバージョン番号>ディレクトリ以下にインストール(コピー)されます。仮に、make modules_installコマンドを実行せずに、すなわちモジュールをインストールしないでマシンを再起動すると、画面に「Can't find modules」というエラー・メッセージが表示されます。これは、Linux カーネルがモジュールをロードしようと試みているが、モジュールを発見できないということを表しています。なお、make modules_install コマンドを実行して、モジュールが誤った場所にコピーされることはありません。また、モジュールを利用するためにはLinuxカーネルでローダブル・モジュール機能を有効にしておく必要がありますが、この機能が無効になっていれば「Can't find modules」というメッセージは表示されません。このほか、depmodコマンドはモジュールの依存関係情報を生成するためのコマンドで、本文とは関係ありません。


5.カーネルの設定に関するコマンドを答えよ

シンプルな対話形式でカーネルの設定を行なう

正解:make config

カラーテキスト形式で見やすく、カーソルキーも使える。

正解: make menuconfig

GUIベース。Xが利用できる環境で使用する。

正解: make xconfig

古い設定をそのまま使う

正解: make oldconfig

6.カーネルにする以下の問題を答えよ

カーネルソースが格納されているディレクトリは?

正解: /usr/src/linux

カーネルのバージョンが2.4.3-12の場合、カーネルモジュールはどこに配置されるか?

正解: /lib/modules/2.4.3-12

カーネルのバージョンを確認するコマンドは?

正解: uname -r

カーネルイメージを作成するコマンドは?

正解: make zImage

前回のコンパイル時に生成されたファイルのうち、不要なものを削除するコマンドは?

正解: make clean

モジュールの再構築後に依存関係を更新するコマンドは?

正解: depmode

カーネルモジュールを作成するコマンドは?

正解: make modules

作成したカーネルモジュールをインストールするコマンドは?

正解: make modules_install

カーネルソースとヘッダファイルの依存関係をチェックするコマンドは?

正解: make dep

カーネル再構築において、カーネル設定を初期化し、不要なファイルを削除するコマンドは?

正解: make mrproper
スポンサーサイト

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LPIC LINUX

カーネル(2)

1.カーネルに関する説明として適切なものを選びなさい。

1.ユーザーが入力したコマンドの解釈などを行ない、デフォルトではbashが使用される。
2.ハードウェアやプロセスなどの管理を行なう、OSの核にあたる機能を提供する。
3.BIOSの起動後に、Linuxをブートさせる機能を提供する。
4.デバイスドライバなどの追加機能を必要に応じて動的に組み込む機能である。
5.Linuxで提供されている標準のGUI環境のことである。

正解: 2

1-- シェルに関する説明です。
3-- ブートローダに関する説明です。
4-- ローダブルモジュールに関する説明です。
5-- X Window Systemに関する説明です。


2.モジュールのエイリアスや、モジュールをロードするときのオプションなどを定義するファイルを選択しなさい。

1. /etc/motd
2. /etc/conf.modules
3. /etc/modules.dep
4. /etc/module.conf

正解:2

モジュールをロードするためのmodprobeコマンドは、ファイル「/lib/modules/<カーネルのバージョン番号>/modules.dep」や「/etc/conf.modules」を読み込みます。ファイル「/lib/modules/<カーネルのバージョン番号>/modules.dep」にはモジュール間の依存関係が記述されています。また、ファイル「/etc/conf.modules」にはモジュールの別名(エイリアス)やロード時のオプションが記述されています。


3. 2.4カーネルでモジュールをロードする方法を選択しなさい。

1. rmmod
2. kmod
3. vi /proc/modules
4. modinfo
5. modprobe


正解:5

Linuxカーネルのモジュール(ファイル)は、/lib/modules/<カーネルのバージョン番号>ディレクトリ以下に格納されています(*1)。これらのモジュールを利用(ロード)するためには、insmodコマンドまたはmodprobeコマンドを利用します。modprobeコマンドは、ファイル「/lib/modules/<カーネルのバージョン番号>/modules.dep」や「/etc/modules.conf」を読み込み、モジュール間の依存関係を解消しながら、指定されたモジュールをロードします。つまり、指定されたモジュールが他のモジュールも必要としていたら、他のモジュールも一緒にロードするのです。一方のinsmodコマンドは、指定されたモジュールのみをロードします。指定されたモジュールが他のモジュールに依存する場合、モジュールのロードは失敗します。


4.あるプログラムを実行するために必要なライブラリを調べたい。ライブラリを調べるために実行するコマンドを選択しなさい。

1. ldconfig
2. ldd
3. dll
4. libexec

正解:2

プログラムは実行時にライブラリを読み込みます(スタティック・コンパイルされたプログラムは除く)。本文では、そのようなライブラリを確認するための方法が問われています。ldconfigコマンドは、ライブラリが正しくロードされるようにするためのコマンドです(1 は不正解)。ライブラリを新たに追加した場合、まずldconfigコマンドの設定ファイル「/etc/ld.so.conf」にライブラリが格納されているディレクトリ名を記述します。その後、ldconfigコマンドを実行すると、追加したライブラリがプログラムによってロードされるようになります。なお、設定ファイル「/etc/ld.so.conf」を使わず、

# ldconfig -n <ディレクトリ名>

と実行しても同じです。lddコマンドは、プログラムが依存するライブラリを確認するためのコマンドです。
よって正解は2です。


5.他のモジュールとの依存関係を考慮してモジュールをロードするコマンドは?

正解:modprobe

■オプション
-a -- 指定したモジュール名にマッチしたすべてのモジュールをロードする。
-r -- 依存関係を考慮してモジュールをアンロードする。
-l -- ロードできるすべてのモジュールのファイル名を表示する。

insmodやrmmodは、他のモジュールとの依存関係を考慮しません。一方、modprobeは依存関係にあるモジュールもロード・アンロードするため、通常はmodprobeを使用すると便利です。


6.自動的にカーネル・モジュールがロードされるように設定したい。このとき、編集する設定ファイルを選択しなさい。

1. /etc/conf.modules
2. /etc/sysconfig
3. /boot/module.info
4. /boot/System.map

正解:1

Linuxにはカーネル・モジュールを自動的にロードする機能が備わっています。たとえば、ユーザーがハードウェアのドライバ(モジュール)を必要とするプログラムを実行すると、まず、Linuxカーネルはモジュールをロードするためにmodprobeコマンドを実行します。次に、Linuxカーネルによって実行されたmodprobeコマンドは、設定ファイル「/etc/conf.modules」やファイル「/lib/modules/<カーネルのバージョン番号>/modules.dep」を参照し、ハードウェアを利用するために必要なモジュールをリストアップし、それらをメモリにロードします。ファイル「modules.dep」には、モジュールの依存関係情報が格納されるています。このファイルはシステムの起動毎にdepmodコマンドによって生成されため、通常、ユーザーが編集する必要はありません。したがって、モジュールの自動ロード機能を設定するために、ユーザーが編集すべき設定ファイルは「/etc/conf.modules」となります。なお、カーネル2.2では設定ファイル「/etc/conf.modules」が利用されていますが、カーネル2.4では設定ファイル「/etc/modules.conf」が利用されています。両者の役割と書式はまったく同じです。


7.depmod コマンドに関する説明として適切なものを選びなさい。

1.ロードするモジュールと依存関係にあるモジュールも同時にロードする。
2.システムにロードされているモジュールの一覧を表示する。
3.モジュールのバックアップを作成する。
4.モジュールの再構築後に依存関係を更新する
5.LILOを更新する。

正解:4

8.depmodのオプションに関して答えよ

設定ファイル /etc/modules.conf があれば、そこで指定されている全てのディレクトリでモジュールを検索するオプションは?

正解: -a, --all

ファイルのタイムスタンプを比較し、さらに必要ならば depmod -a と同じように振る舞う。このオプションは、何か変更があった場合にのみ依存関係ファイルを更新するオプションは?

正解: -A, --quick

各モジュールごとに、解決されていない全てのシンボルを表示するオプションは?

正解: -e, --errsyms

依存関係ファイルを/lib/modules以下ではなく標準出力に書き出すオプションは?

正解: -n, --show

quiet モード。見付からないシンボルがあっても文句を言わないオプションは?

正解: -q, --quiet

9.次のコマンドを実行すると、どのような結果が得られるか?

$ modinfo lpic_module

1.他のモジュールとの依存関係をチェックしながら、lpic_moduleモジュールをロードする。
2.lpic_moduleモジュールをアンロードする。
3.lpic_moduleファイルがどのような種類のファイルであるかを表示する。
4.lpic_moduleコマンドのinfoフォーマットのドキュメントを表示する。
5.lpic_moduleモジュールの情報を表示する。

正解: 5

■オプション
-a -- モジュールの作者のみ表示
-d -- モジュールの説明のみ表示
-n -- モジュールのファイル名のみ表示

1 -- modprobe の説明です。
2 -- rmmod の説明です。
3 -- file の説明です。
4 -- info の説明です。


10.ファイル「modules.dep」を作成するためのコマンドを選択しなさい。

1. moddep
2. depmod
3. makedep
4. mkmod

正解:2

ファイル「modules.dep」は、モジュールを読み込むためのmodprobeコマンドによって利用されます。depmodコマンドは、モジュール毎の依存関係情報を生成します。「-a」オプションを指定することで、全モジュールの依存関係情報を生成します。 depmodコマンドを実行すると、/lib/modules/<カーネル・バージョン>ディレクトリにファイル「modules.dep」を生成されます。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC

カーネル(1)

1.Linuxカーネルがモジュールを読み込む設定ファイルは?

正解: /etc/modules.conf

2.モジュールをシステムにロードするコマンドは?

正解: insmod

3.モジュールをアンロードするコマンドは?

正解: rmmod

4.モジュール情報を表示するコマンドは?

正解: modinfo

5.他のモジュールとの依存関係を考慮してモジュールのロードやアンロードを行なうコマンドは?

正解: modprobe

6.モジュールの依存関係は何というファイルに記述されているか?

正解: modules.dep

7.insmodのオプション:すべての出力を端末ではなく、syslogに対して行なうオプションは?

正解:insmod -s

8.カーネルモジュールの拡張子は?

正解: .o

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LPIC LINUX

スカウター
プロフィール

Author:うにえる
個人的メモ

検索フォーム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。