LPIC-1では、Linuxコマンドだけでなく、Linuxシステムの設定や管理に利用されるさまざまな設定ファイルについて出題されます。
Linuxでは、システムやサービスの設定がテキストファイルとして保存されていることが多く、システム管理を行うためには「どの設定がどのファイルに保存されているのか」を理解することが重要です。
LPIC-1の学習では、設定ファイルのパスだけを暗記するのではなく、それぞれのファイルの役割や関連するコマンドについてもあわせて確認しましょう。
この記事では、LPIC-1で覚えておきたい主なファイルやディレクトリを、101試験と102試験の出題範囲に分けて紹介します。
LPIC-1 101試験で覚えておきたい設定ファイル
LPIC-1 101試験では、システムアーキテクチャ、パッケージ管理、GNU・Unixコマンド、ファイルシステムなどについて出題されます。
Linuxの起動やパッケージ管理、共有ライブラリ、ファイルシステムなどに関連するファイルやディレクトリについて確認しておきましょう。
主題101|システムアーキテクチャで登場する設定ファイル
主題101では、Linuxシステムの起動やサービス管理などに関連するファイルやディレクトリが登場します。
/etc/inittab:SysVinitにおけるシステムの初期化やランレベルなどを設定するファイル/etc/init.d/:SysVinitでサービスを管理するための起動スクリプトなどが配置されるディレクトリ/etc/systemd/:systemdのシステム固有の設定などが配置されるディレクトリ/usr/lib/systemd/:ソフトウェアによって提供されるsystemdのユニットファイルなどが配置されるディレクトリ
現在ではsystemdを採用するLinuxディストリビューションが広く利用されていますが、LPIC-1ではSysVinitについても試験範囲に含まれるため、それぞれの仕組みやファイルの違いを確認しておきましょう。
主題102|Linuxのインストールとパッケージ管理で登場する設定ファイル
主題102では、ブートローダー、共有ライブラリ、Debian系・RPM系のパッケージ管理などに関連するファイルが登場します。
/boot/grub/grub.cfg:GRUB 2がOSを起動するために利用する設定ファイル/etc/ld.so.conf:共有ライブラリを検索するディレクトリなどを指定する設定ファイル/etc/apt/sources.list:APTが利用するパッケージリポジトリを設定するファイル/etc/yum.conf:YUMの基本的な動作を設定するファイル/etc/yum.repos.d/:YUM/DNFで利用するリポジトリ設定ファイルなどが配置されるディレクトリ
101試験ではDebian系とRPM系の両方について学習するため、それぞれで使用するパッケージ管理コマンドと設定ファイルを関連付けて覚えましょう。
主題103|GNUとUnixのコマンドで登場する設定ファイル
主題103では、Linuxをコマンドラインから操作するためのさまざまなGNU・Unixコマンドについて学習します。
~/.bash_history:Bashで実行したコマンドの履歴が保存されるファイル
historyコマンドなどとあわせて確認し、Bashのコマンド履歴がどのように保存・利用されるのかを理解しておきましょう。
主題104|デバイス、Linuxファイルシステム、ファイルシステム階層構造規格で登場する設定ファイル
主題104では、ストレージデバイスやファイルシステムのマウントなどに関連するファイルが登場します。
/etc/fstab:起動時などにマウントするファイルシステムを設定するファイル/etc/mtab:マウントされているファイルシステムに関する情報を扱うファイル/proc/mounts:カーネルが認識しているマウント済みファイルシステムの情報を確認できる仮想ファイル
特に/etc/fstabは、デバイス、マウントポイント、ファイルシステムの種類、マウントオプションなど複数の項目から構成されています。mountやumount、blkidなどのコマンドと関連付けて理解するとよいでしょう。
LPIC-1 102試験で覚えておきたい設定ファイル
LPIC-1 102試験では、シェル環境、ユーザー管理、システムサービス、ネットワーク、セキュリティなどについて出題されます。
Linuxシステムを実際に管理・運用する際にも使用する重要な設定ファイルが多いため、それぞれの役割を理解しておきましょう。
主題105|シェルとシェルスクリプトで登場する設定ファイル
主題105では、Bashなどのシェル環境を設定するファイルが登場します。
/etc/profile:ログイン時にシステム全体へ適用するシェル環境などを設定するファイル/etc/profile.d/:システム全体へ適用する追加のシェル設定などを配置するディレクトリ~/.bash_profile:ユーザーごとのBashログイン時の設定に利用されるファイル~/.bash_login:Bashログイン時に読み込まれるユーザーごとの設定ファイルの一つ~/.profile:ユーザーごとのログイン環境を設定するファイル~/.bashrc:主に対話型Bashシェルの設定に利用されるファイル~/.bash_logout:Bashからログアウトするときに実行する処理を記述するファイル
これらは似た役割を持っていますが、読み込まれるタイミングや条件が異なります。ログインシェルと非ログインシェルの違いとあわせて理解しましょう。
主題106|ユーザーインターフェイスとデスクトップで登場する設定ファイル
主題106では、X Window SystemなどLinuxのGUI環境に関連するファイルが登場します。
/etc/X11/xorg.conf:X.Org Serverの設定に利用されるファイル/etc/X11/xorg.conf.d/:X.Org Serverの個別設定ファイルなどを配置するディレクトリ~/.xsession-errors:Xセッションで発生したエラーなどが記録されることがあるファイル
Linuxをサーバーとして利用する場合はGUIを使用しないこともありますが、LPIC-1ではX Window Systemやデスクトップ環境も試験範囲に含まれます。
主題107|管理タスクで登場する設定ファイル
主題107では、ユーザー・グループ管理、ジョブスケジューリング、時刻やローカライズなどに関連する多くのファイルが登場します。
/etc/passwd:ユーザーアカウントの基本情報を保存するファイル/etc/shadow:パスワードに関連する情報などを保存するファイル/etc/group:グループ情報を保存するファイル/etc/skel/:新しいユーザーのホームディレクトリへコピーする初期ファイルを配置するディレクトリ/etc/default/useradd:useraddでユーザーを作成するときのデフォルト設定に利用されるファイル/etc/login.defs:ユーザーアカウントやログインに関連するデフォルト値などを設定するファイル/etc/crontab:システム全体のcronジョブを設定するファイル/etc/cron.d/:追加のcron設定を配置するディレクトリ/etc/cron.daily/:毎日実行する処理を配置するディレクトリ/etc/cron.hourly/:毎時実行する処理を配置するディレクトリ/etc/cron.monthly/:毎月実行する処理を配置するディレクトリ/etc/cron.weekly/:毎週実行する処理を配置するディレクトリ/etc/at.deny:atコマンドの利用を拒否するユーザーを指定するファイル/etc/at.allow:atコマンドの利用を許可するユーザーを指定するファイル/etc/localtime:システムで使用するローカルタイムゾーン情報に関連するファイル/etc/timezone:一部のLinuxディストリビューションでタイムゾーンを指定するファイル
特に/etc/passwd、/etc/shadow、/etc/groupはLinuxのユーザー管理を理解するうえで重要です。それぞれに保存される情報の違いについて確認しておきましょう。
主題108|必須システムサービスで登場する設定ファイル
主題108では、時刻同期、ログ管理、メールなどのシステムサービスに関連する設定ファイルが登場します。
/etc/ntp.conf:NTPによる時刻同期の設定に利用されるファイル/etc/chrony.conf:chronyによる時刻同期を設定するファイル/etc/rsyslog.conf:rsyslogの基本設定ファイル/etc/rsyslog.d/:rsyslogの追加設定ファイルを配置するディレクトリ/etc/systemd/journald.conf:systemd-journaldの動作を設定するファイル/etc/logrotate.conf:logrotateの基本設定ファイル/etc/logrotate.d/:サービスごとのログローテーション設定などを配置するディレクトリ/etc/aliases:メールアドレスのエイリアスなどを設定するファイル
システムログについては、設定ファイルだけでなくjournalctlなどのログを確認するコマンドとあわせて学習すると理解しやすくなります。
主題109|ネットワークの基礎で登場する設定ファイル
主題109では、Linuxのホスト名、名前解決、DNS、ネットワークサービスなどに関連するファイルが登場します。
/etc/hostname:システムのホスト名を設定するファイル/etc/hosts:IPアドレスとホスト名の対応関係をローカルで定義するファイル/etc/nsswitch.conf:名前解決などで参照する情報源と順序を設定するファイル/etc/resolv.conf:DNSによる名前解決で利用するネームサーバーなどを設定するファイル/etc/services:サービス名とポート番号、プロトコルの対応情報を定義するファイル
特に/etc/hosts、/etc/nsswitch.conf、/etc/resolv.confはLinuxの名前解決を理解するうえで関連性の高いファイルです。それぞれを個別に暗記するのではなく、名前解決の流れと関連付けて理解しましょう。
主題110|セキュリティで登場する設定ファイル
主題110では、権限管理やSSHなどLinuxのセキュリティに関連する設定ファイルが登場します。
/etc/sudoers:sudoによって実行できるコマンドやユーザーの権限などを設定するファイル/etc/sudoers.d/:sudoの追加設定を配置するディレクトリ/etc/ssh/ssh_config:OpenSSHクライアントのシステム全体の設定ファイル/etc/ssh/sshd_config:OpenSSHサーバーの設定ファイル~/.ssh/authorized_keys:SSH公開鍵認証でログインを許可する公開鍵を登録するファイル~/.ssh/known_hosts:接続したSSHサーバーのホスト鍵に関する情報を保存するファイル/etc/hosts.allow:TCP Wrappersで接続を許可するホストなどを指定するファイル/etc/hosts.deny:TCP Wrappersで接続を拒否するホストなどを指定するファイル
特にSSHでは、クライアント側の設定とサーバー側の設定を混同しないことが重要です。ssh_configとsshd_configの違いや、公開鍵認証で利用するファイルについて整理しておきましょう。
設定ファイルは実際のLinux環境で確認しながら覚える
LPIC-1で登場する設定ファイルは、ファイル名やパスだけを暗記するのではなく、実際のLinux環境で内容を確認しながら学習することが重要です。
たとえばcatやlessを利用して設定ファイルの内容を確認したり、テキストエディタで設定を編集したりすることで、それぞれのファイルがどのような形式で記述されているのかを理解できます。
設定を変更する場合は、仮想マシンなどの学習用Linux環境を利用すると、実際のシステムへ影響を与えずにさまざまな設定を試すことができます。
設定ファイルと関連するLinuxコマンドをあわせて学習する
Linuxの設定ファイルは、関連するコマンドとあわせて学習すると理解しやすくなります。
たとえば/etc/fstabであればmountやumount、/etc/passwdであればuseraddやusermod、/etc/ssh/sshd_configであればsshやSSHサービスの管理など、それぞれの設定ファイルには関連する操作があります。
「設定ファイルの場所」「設定する内容」「関連するコマンド」を一つのまとまりとして学習することで、試験対策だけでなく実際のLinuxシステム管理でも活用できる知識を身につけられます。
まとめ|LPIC-1の設定ファイルを101・102試験別に整理して覚えよう
LPIC-1では、Linuxの起動、パッケージ管理、ファイルシステム、ユーザー管理、システムサービス、ネットワーク、セキュリティなど、さまざまな分野の設定ファイルが登場します。
101試験ではシステムアーキテクチャやパッケージ管理、ファイルシステムに関連するファイルが中心となり、102試験ではシェル環境、ユーザー管理、ログ、ネットワーク、セキュリティなど、Linuxの運用・管理に関連するファイルが多く登場します。
設定ファイルのパスだけを暗記するのではなく、それぞれの役割や書式、関連するLinuxコマンドをあわせて理解することが重要です。
実際のLinux環境でファイルの内容や設定変更後の動作を確認しながら、LPIC-1の試験対策とLinuxシステム管理の基礎を身につけていきましょう。
