難易度は Level 1(やさしめ)〜Level 5(難関) の5段階です。
LPIC-1 102試験のサンプル問題(本番形式・解説付き)
LPIC-1 102試験(Linux Professional Institute・LPIC-1 102-500(システム管理とネットワークの基礎))の出題形式を、実際の問題で確かめられます。ここに掲載する5問は、無料の会員登録で解ける模試 第1回(60問)の冒頭から抜粋したオリジナル問題です。当サイトは全720問を本番CBT準拠の形式で収録しており、この5問はそのごく一部にあたります。
設問1
次のコマンドの動作として正しいものはどれか。 useradd -m -s /bin/bash tanaka
- ホームディレクトリを作成せず、ログインシェルを/bin/bashに設定してユーザtanakaを新規作成する。
- 既存ユーザtanakaのホームディレクトリを/bin/bashに移動する。
- ユーザtanakaを削除し、シェルの設定だけを保持する。
- ホームディレクトリを作成し、ログインシェルを/bin/bashに設定してユーザtanakaを新規作成する。(正解)
解説
-mは/etc/skel/の内容をコピーしてホームディレクトリを作成するオプション、-sはログインシェルを指定するオプションである。両方を組み合わせることで、ホームディレクトリ作成とシェル設定を同時に行いながら新規ユーザを作成する。
他の選択肢が誤りである理由
- 「ホームディレクトリを作成せず、ログインシェルを/bin/bashに設定してユーザtanakaを新規作成する。」-mオプションが指定されているため、ホームディレクトリは作成される。
- 「既存ユーザtanakaのホームディレクトリを/bin/bashに移動する。」-sはログインシェルの指定であり、ホームディレクトリの移動を行うオプションではない。またuseraddは新規ユーザ作成用のコマンドであり既存ユーザの変更には使わない。
- 「ユーザtanakaを削除し、シェルの設定だけを保持する。」useraddはユーザを新規作成するコマンドであり、削除は行わない。
設問2
シェルスクリプト build.sh を、実行される各コマンドを変数展開後の実際の内容で表示しながら(デバッグモードで)実行するコマンドを入力せよ。
入力形式(コマンドを打ち込んで答える問題です)
bash -x build.sh(正解)
解説
bash -x(set -xと同義)は、シェルスクリプト内の各コマンドを、変数展開などを済ませた実際に実行される形で、実行直前に+記号を付けて表示するデバッグ用のオプションである。行の読み込みそのものを表示するだけの-v(verboseモード)とは表示内容が異なり、-xは実際の実行内容の追跡に向く。
設問3
bashをログインシェルとして起動したとき、ホームディレクトリ内の個人設定ファイルの読み込みに関する記述として正しいものはどれか。
- ~/.bash_profile、~/.bash_login、~/.profileの3つが存在する場合、すべてが順番に読み込まれる
- ~/.bash_profile、~/.bash_login、~/.profileの順に探し、最初に見つかったファイル1つだけが読み込まれる(正解)
- ~/.profileが最優先で読み込まれ、存在しない場合のみ~/.bash_profileが読み込まれる
- これらのファイルは自動では読み込まれず、~/.bashrc内で明示的にsourceする必要がある
解説
bashはログインシェルとして起動されると、まず/etc/profileを実行し、続いて~/.bash_profile、~/.bash_login、~/.profileの順にファイルを探し、最初に見つかった(存在し読み取り可能な)ファイル1つだけを読み込んで実行する。3つとも実行されるわけではない点が試験でよく問われる。
他の選択肢が誤りである理由
- 「~/.bash_profile、~/.bash_login、~/.profileの3つが存在する場合、すべてが順番に読み込まれる」3ファイルが同時に読み込まれるという記述は誤り。bashは最初に見つかった1つのファイルのみを実行し、残りは無視する。
- 「~/.profileが最優先で読み込まれ、存在しない場合のみ~/.bash_profileが読み込まれる」探索順序が逆である。実際は~/.bash_profileが最初に確認され、~/.profileは最後に確認される。
- 「これらのファイルは自動では読み込まれず、~/.bashrc内で明示的にsourceする必要がある」これらのファイルはbashがログインシェル起動時に自動的に探索・読み込みを行う対象であり、~/.bashrc側から明示的にsourceする必要はない。
設問4
IPアドレス192.168.10.130/26が属するネットワークのネットワークアドレスとして、正しいものはどれか。
- 192.168.10.0
- 192.168.10.64
- 192.168.10.128(正解)
- 192.168.10.192
解説
/26はサブネットマスク255.255.255.192(先頭26ビットがネットワーク部)に相当し、第4オクテットを64個ずつのブロックに分割する(0〜63、64〜127、128〜191、192〜255)。130はこのうち128〜191のブロックに含まれるため、このネットワークのネットワークアドレスは192.168.10.128となる(ブロードキャストアドレスは192.168.10.191)。
他の選択肢が誤りである理由
- 「192.168.10.0」誤り。192.168.10.0は第4オクテットが0〜63のブロックのネットワークアドレスであり、130はこの範囲に含まれない。
- 「192.168.10.64」誤り。192.168.10.64は第4オクテットが64〜127のブロックのネットワークアドレスであり、130はこの範囲に含まれない。
- 「192.168.10.192」誤り。192.168.10.192は第4オクテットが192〜255のブロックのネットワークアドレスであり、130はこの範囲より小さいため含まれない。
設問5
ネットワークインタフェースeth0に、IPアドレス192.168.1.100/24を一時的に追加するコマンドとして、正しいものはどれか。
- nmcli device add eth0 192.168.1.100/24
- ip addr add 192.168.1.100/24 dev eth0(正解)
- ip link add 192.168.1.100/24 dev eth0
- ip route add 192.168.1.100/24 dev eth0
解説
ipコマンドでインタフェースにIPアドレスを追加するには、ip addr addサブコマンドを使い、アドレスをCIDR表記(プレフィックス長付き)で指定し、devキーワードで対象インタフェースを指定する。この設定は再起動すると失われる一時的なものである。ip route addはルーティングテーブルへの経路追加、ip link addは新しい仮想インタフェースの作成に使うサブコマンドであり、いずれもIPアドレスの付与には使わない。
他の選択肢が誤りである理由
- 「nmcli device add eth0 192.168.1.100/24」誤り。nmcliでIPアドレスを追加する場合はnmcli connection modifyで+ipv4.addressesを指定するなどの書式を使う。nmcli device addという形式のサブコマンドは存在しない。
- 「ip link add 192.168.1.100/24 dev eth0」誤り。ip link addは新しい仮想的なネットワークデバイス(VLANやブリッジなど)を作成するためのサブコマンドであり、既存インタフェースへのIPアドレス付与には使わない。
- 「ip route add 192.168.1.100/24 dev eth0」誤り。ip route addはルーティングテーブルに経路を追加するサブコマンドであり、インタフェースへのIPアドレス付与はできない。
続きは、会員登録なしでそのまま50問解けます。採点と解説つきで、上と同じ本物の問題です。
登録なしで50問解く