こんにちは、インフラエンジニアのryuです。
LPIC-1の勉強を始めるとき、多くの方は101試験から受けると思います。コマンド操作やファイルシステムなど、Linuxを触るうえでの基本がまとまっている試験です。
ただ、101試験は出題範囲が広く、どこから手をつけたらいいか迷いやすい試験でもあります。
この記事では、101試験(101-500)だけに絞って、4つの主題から合計10問の練習問題を用意しました。すべてオリジナルの問題で、1問ずつ正解と解説を付けています。
101と102の両方から5問ずつ出題した記事は『LPIC-1の練習問題10問』にあります。今回はそちらと重ならない問題を選んでいるので、両方解くと101試験の範囲をより広く確認できます。
101試験(101-500)の基本¶
問題に入る前に、101試験の基本を確認しておきます。
LPIC-1は、LPI(Linux Professional Institute)が認定しているLinuxの資格です。現在の試験はバージョン5.0で、101試験の試験番号は 101-500 です。
LPIC-1に認定されるには、101試験と102試験の両方に合格する必要があります。 101だけ合格しても認定にはならないので、続けて102の準備も進めていきましょう。
| 項目 | 内容 |
|---|---|
| 試験番号 | 101-500 |
| 試験時間 | 90分 |
| 問題数 | 60問 |
| 形式 | 選択式と、コマンドなどを入力する記述式 |
| 合格点 | 200〜800点のスコアで500点 |
101試験の4つの主題¶
101試験の出題範囲は、次の4つの主題に分かれています。
| 主題 | 内容 | 主な項目 |
|---|---|---|
| 101 システムアーキテクチャ | ハードウェアと起動 | ハードウェアの設定、起動の流れ、ランレベルとターゲット、シャットダウン |
| 102 Linuxのインストールとパッケージ管理 | インストールとソフトウェアの管理 | パーティション設計、ブートローダー、共有ライブラリ、dpkg・apt、rpm・yum、仮想化 |
| 103 GNUとUnixのコマンド | コマンド操作 | コマンドライン、テキスト処理、ファイル操作、リダイレクト、プロセス、優先度、正規表現、vi |
| 104 デバイスとファイルシステム | ディスクとファイル | パーティションとファイルシステム作成、整合性の確認、マウント、パーミッション、リンク、FHS |
出題範囲の各項目には重み(Weight)が付いていて、重みが大きい項目ほど多く出題されます。103は項目が8つあり、101試験の中でいちばん出題が多い主題です。
そのため、今回の10問も103の問題を多めにしています。
| 問題 | 主題 |
|---|---|
| 問題1〜2 | 101 システムアーキテクチャ |
| 問題3〜4 | 102 Linuxのインストールとパッケージ管理 |
| 問題5〜8 | 103 GNUとUnixのコマンド |
| 問題9〜10 | 104 デバイスとファイルシステム |
正解は各問題の下の引用ブロックに書いています。自分の答えを決めてから読み進めてください。
主題101・102の練習問題¶
まずは、ハードウェアと起動、パッケージ管理の問題です。
問題1:読み込まれているカーネルモジュールを一覧表示する¶
現在カーネルに読み込まれているモジュールを一覧表示するコマンドはどれですか?
- A.
lspci - B.
lsmod - C.
modinfo - D.
insmod
正解:B
lsmodは、いま読み込まれているカーネルモジュールを一覧表示します。lspciはPCIデバイスの一覧、modinfoは指定したモジュールの詳しい情報、insmodはモジュールを読み込むコマンドです。
モジュールの読み込みには modprobe もよく使います。insmod と違って、依存するモジュールもまとめて読み込んでくれる点が試験でも問われます。
問題2:時間を指定してシステムを停止する¶
10分後にシステムを停止し、ログインしているユーザーにメッセージを送りたいときのコマンドとして正しいものはどれですか?
- A.
shutdown -r +10 "メンテナンスのため停止します" - B.
shutdown -h +10 "メンテナンスのため停止します" - C.
shutdown -k +10 "メンテナンスのため停止します" - D.
shutdown -c +10 "メンテナンスのため停止します"
正解:B
-hは停止、+10は10分後を表します。最後に書いた文字列は、ログイン中のユーザーへのメッセージとして送られます。Aの-rは再起動、Dの-cは予定したシャットダウンの取り消しです。Cの-kは、ユーザーに警告のメッセージを送るだけで、実際には停止しません。
時刻で指定するときは shutdown -h 23:00 のように書きます。すぐに止めるなら now です。
-k は、メンテナンスの予告だけを出しておきたいときに使います。選択肢にまぎれていると停止のオプションと勘違いしやすいので、-h・-r・-c・-k の4つはまとめて覚えておきましょう。
問題3:実行ファイルが使う共有ライブラリを調べる¶
/usr/bin/ssh が依存している共有ライブラリを一覧表示するコマンドはどれですか?
- A.
ldconfig /usr/bin/ssh - B.
ldd /usr/bin/ssh - C.
lsof /usr/bin/ssh - D.
file /usr/bin/ssh
正解:B
lddは、実行ファイルが必要とする共有ライブラリと、その場所を表示します。ldconfigは共有ライブラリのキャッシュ(/etc/ld.so.cache)を更新するコマンドで、依存関係を調べるものではありません。lsofは開いているファイルの一覧、fileはファイルの種類を表示します。
共有ライブラリの検索先を追加したときは、/etc/ld.so.conf に書いてから ldconfig を実行します。この流れはセットで覚えておきましょう。
問題4:設定ファイルも含めてパッケージを削除する¶
Debian系のディストリビューションで、パッケージを設定ファイルも含めて削除するコマンドはどれですか?
- A.
apt-get remove パッケージ名 - B.
apt-get purge パッケージ名 - C.
apt-get clean - D.
apt-get autoclean
正解:B
purgeは、パッケージ本体と設定ファイルの両方を削除します。removeは本体だけを削除し、設定ファイルは残します。cleanとautocleanは、ダウンロードしたパッケージファイルのキャッシュを削除するコマンドです。
dpkg でも同じ違いがあり、dpkg -r が設定ファイルを残す削除、dpkg -P が設定ファイルも消す削除です。
主題103の練習問題¶
次は、101試験でいちばん出題が多いコマンド操作の問題です。
問題5:gzipで圧縮したアーカイブを作る¶
/home/user/docs ディレクトリを、gzipで圧縮した docs.tar.gz にまとめるコマンドはどれですか?
- A.
tar cjf docs.tar.gz /home/user/docs - B.
tar czf docs.tar.gz /home/user/docs - C.
tar xzf docs.tar.gz /home/user/docs - D.
tar tzf docs.tar.gz /home/user/docs
正解:B
cはアーカイブの作成、zはgzipでの圧縮、fはファイル名の指定です。Aのjはbzip2での圧縮なので、拡張子と中身が合いません。Cのxは展開、Dのtは中身の一覧表示です。
圧縮形式とオプションの対応は、表で整理しておくと覚えやすくなります。
| オプション | 圧縮形式 | 拡張子の例 |
|---|---|---|
z |
gzip | .tar.gz |
j |
bzip2 | .tar.bz2 |
J |
xz | .tar.xz |
問題6:killでシグナルを指定しなかった場合¶
kill 1234 のように、シグナルを指定せずに kill を実行したとき、プロセスに送られるシグナルはどれですか?
- A. SIGHUP(1)
- B. SIGINT(2)
- C. SIGKILL(9)
- D. SIGTERM(15)
正解:D
killの既定のシグナルはSIGTERM(15)で、プロセスに終了を求めます。SIGTERMはプロセス側で受け取って後片付けができますが、SIGKILL(9)はプロセスが受け取れず、強制的に終了させられます。SIGHUP(1)は設定ファイルの再読み込みに使われることが多く、SIGINT(2)はCtrl+Cで送られるシグナルです。
シグナルの番号と名前は、記述式でもよく問われます。kill -l で一覧を表示できるので、実機で一度見ておきましょう。
問題7:一般ユーザーが変更できるnice値¶
一般ユーザーが、自分が起動したプロセスに対してできる操作はどれですか?
- A.
nice -n -5でコマンドを起動する - B.
reniceで、実行中のプロセスのnice値を小さくする - C.
reniceで、実行中のプロセスのnice値を大きくする - D.
reniceで、ほかのユーザーのプロセスのnice値を変える
正解:C
nice値は
-20から19までで、値が小さいほど優先度が高くなります。一般ユーザーができるのは、自分のプロセスのnice値を大きくする(優先度を下げる)ことだけです。マイナスの値を指定したり、nice値を小さくしたりするにはroot権限が必要です。
nice はこれから起動するコマンドの優先度、renice は実行中のプロセスの優先度を変えるコマンドです。この区別もよく出題されます。
問題8:コメント行を除いて表示する¶
設定ファイル /etc/ssh/sshd_config から、行頭が # の行を除いて表示するコマンドはどれですか?
- A.
grep '^#' /etc/ssh/sshd_config - B.
grep -v '^#' /etc/ssh/sshd_config - C.
grep -v '#$' /etc/ssh/sshd_config - D.
grep -c '^#' /etc/ssh/sshd_config
正解:B
^は行頭を表す正規表現で、-vは一致しない行を表示するオプションです。Aは逆にコメント行だけを表示します。Cの$は行末を表すので、行末が#の行を除くことになります。Dの-cは一致した行数を数えるだけです。
実務でも、設定ファイルの有効な行だけを確認するときによく使う書き方です。空行も除きたいときは grep -v -e '^#' -e '^$' のように条件を足します。
主題104の練習問題¶
最後は、ファイルシステムとパーミッションの問題です。
問題9:ハードリンクの特徴¶
ハードリンクの説明として正しいものはどれですか?
- A. ディレクトリに対して作成できる
- B. 別のファイルシステムをまたいで作成できる
- C. 元のファイルと同じiノード番号を持つ
- D. 元のファイルを削除すると、ハードリンクからは内容を読めなくなる
正解:C
ハードリンクは、同じiノードに別の名前を付ける仕組みです。そのため元のファイルと同じiノード番号を持ち、元の名前を削除しても、残ったハードリンクから内容を読めます。一般にディレクトリには作成できず、別のファイルシステムをまたぐこともできません。これらはシンボリックリンクの特徴です。
違いは、ls -i でiノード番号を表示すると確認できます。
echo "test" > original.txt
ln original.txt hard.txt # ハードリンク
ln -s original.txt soft.txt # シンボリックリンク
ls -li original.txt hard.txt soft.txt
# original.txt と hard.txt は同じiノード番号、soft.txt は別の番号になる
問題10:umaskとディレクトリのパーミッション¶
umask の値が 0027 のとき、mkdir で新しく作ったディレクトリのパーミッションはどれになりますか?
- A.
750 - B.
640 - C.
755 - D.
027
正解:A
ディレクトリは
777からumaskで指定したビットを除いたパーミッションで作られます。777から027を除くと750です。Bの640は、同じumaskで通常のファイルを作ったときのパーミッションです(ファイルは666が元になります)。
ファイルとディレクトリで元になる値が違うところが、引っかかりやすいポイントです。
間違えやすいポイントのまとめ¶
10問を解いてみて、いかがだったでしょうか?
今回の問題に出てきた、取り違えやすい組み合わせを並べておきます。
| 混同しやすい組み合わせ | 違い |
|---|---|
insmod と modprobe |
依存するモジュールも読み込むのは modprobe |
shutdown -h と shutdown -r |
停止か、再起動か |
ldd と ldconfig |
依存ライブラリを表示するか、キャッシュを更新するか |
remove と purge |
設定ファイルを残すか、消すか |
z・j・J |
gzip・bzip2・xz |
| SIGTERMとSIGKILL | 終了を求めるか、強制的に終わらせるか |
nice と renice |
起動時に指定するか、実行中に変えるか |
| ハードリンクとシンボリックリンク | 同じiノードか、パスを指す別のファイルか |
umask とファイル・ディレクトリ |
ファイルは 666、ディレクトリは 777 から引く |
101試験は、コマンドを実際に打った経験がそのまま点数になる試験です。 問題を解いて終わりにせず、仮想マシンやWSLで同じコマンドを実行して、出力を見ておきましょう。
コマンドの基本から確認したい方は『Linuxコマンドの基本』、主題103に含まれるviの操作は『viコマンドの使い方』が参考になります。一度不合格になってしまった方は『LPIC101試験に落ちた方へ』もあわせて読んでみてください。
続きはInfraAcademyの問題演習で¶
今回の10問で、101試験のどの主題が苦手か見えてきたと思います。
101試験は範囲が広いので、問題数をこなして、間違えたところを繰り返し解くのが近道です。InfraAcademyでは「(無料)LPICの練習問題で毎日トレーニング300問」を用意していて、101試験の範囲を無料で解くことができます。
続きは『InfraAcademy の資格模擬問題』から解いてみてください。
Linuxを基本から順番に学び直したい方は、『Linuxロードマップ』で学習の流れを確認できます。勉強の進め方そのものは『LPICの勉強方法』にまとめています。
まとめ¶
最後に、この記事のポイントを振り返ります。
- 101試験(101-500)は90分・60問で、200〜800点のスコアで500点が合格ライン
- LPIC-1の認定には、101と102の両方の合格が必要
- 出題範囲は101〜104の4つの主題で、103 GNUとUnixのコマンドの出題がいちばん多い
- オプションの1文字違い(
-hと-r、zとjなど)で答えが変わる問題に注意する - 問題で出たコマンドは、実機で打って結果を確かめておく
間違えた問題は、覚えるべきことがはっきりした問題です。1問ずつ確実に自分のものにしていけば、101試験の合格は十分に狙えます。



