1.07.2標準
ホスト名解決で、まず/etc/hostsを調べ、見つからない場合にDNSへ進む。
/etc/nsswitch.confのhosts行を選ぶ。
適切な記述はどれか。
× 不正解
nsswitch.confはデータベース名の後へ参照情報源を順番に並べる。hosts: files dnsなら/etc/hostsを先に調べ、続いてDNSを利用する。
詳細解説
誤り
hosts: dns filesDNSを先に参照し、その後filesへ進む順序である。
情報源は左から順に参照されるため、dns filesではDNSが先になる。ローカルhosts優先という条件と逆である。
誤り
hosts = files,dnsnsswitch.confは等号とカンマで情報源を並べない。
nsswitch.confはデータベース名の後にコロンを置き、情報源を空白で区切る。等号とカンマの形式ではない。
誤り
nameserver: files dnsデータベース名がhostsではなく、nameserverという標準行ではない。
名前解決対象のデータベース名はhostsである。nameserverはresolv.conf側で使う語で、この行は目的の設定にならない。
正しい
hosts: files dnsfilesを先に、dnsを後に空白区切りで並べる。
filesは通常/etc/hosts、dnsはDNS問い合わせを表す。左からfiles、dnsと並べるとローカル設定を先に評価する。
実際に確かめる
一時的な検証環境で実行できる例です。
printf '%s
' 'hosts: files dns' | awk -F: '{print $1 ":" $2}'期待される結果
hosts: files dns理解のポイント
- hostsは名前解決データベース
- filesは/etc/hosts
- 左から順に参照
確認時の注意
- 確認環境: POSIX awk / 一時標準入力のみ
基礎のおさらい
Name Service Switch
ユーザー、グループ、ホストなどの情報を、どの情報源からどの順序で得るかを制御する。
アクション条件
[NOTFOUND=return]などを付けると結果状態ごとの継続・終了動作も変更できる。
問題IDKL-102-972
確認環境POSIX awk / 一時標準入力のみ
最終技術確認2026-08-13
誤り・権利侵害を報告