設定ファイル関係

コンパイルオプション vs 設定ファイル

Linuxでプログラムの動作を設定する方法には、コンパイル時にオプションを指定して設定する方法、設定ファイルで実行時に動作を変える方法の2種類が存在する。

#起動時にオプションで渡すっつのもあり

前者の場合、設定しなおすにはプログラムの再コンパイルが必要だが、後者の場合は同じプログラムを実行し直す度に(場合によっては実行中に)動作する内容を変更することが可能。

主に、単純なコマンド系プログラムでは前者の方式だけ、シェルやネットワークみたいなシステム系の設定では前者に加えて後者の方式が取られる(というか、用意されてないと使いづらくてしょうがない)。ファイルになってるのは、単純で柔軟性があるという理由だけなので、ユーザーにやさしいフロントエンド系のプログラム(Perlとかの言語で書かれたようなやつ)を使ってファイルを間接的に操作してもOK*1

このページでは、後者の設定ファイルを使ったプログラムとシステムの設定について書いてます。

主な設定ファイルの一覧

参考:Understanding Linux configuration files

アクセス関係

マシンへのアクセスを制御する設定ファイル。

ファイル名 コメント Manページ
/etc/host.conf IPアドレスの名前解決方法の設定(今は殆ど使われてない) host.conf.5
/etc/nsswich.conf 名前解決等の手段を設定
/etc/hosts IPアドレスとホスト名の対応付け hosts.5
/etc/hosts.allow アクセス許可設定 hosts_access.5
/etc/hosts.deny アクセス拒否設定 hosts_access.5

起動・ログイン関係

ブート・ログイン時の処理を決定する設定ファイル。

ファイル名 コメント Manページ
/etc/issue, issue.net ログイン前に表示される注意書き issue.5, issue.net.5
/etc/rc.d/rc
/etc/rc.d/rc.local ローカル用の起動設定
/etc/rc.d/rc.sysinit システム用の起動時初期化設定
/etc/rc.d/rcX.d ブートアップ時・終了時に実行するスクリプトを入れるディレクトリ、ランレベル別

ファイルシステム

ファイルシステム関連の設定ファイル。

ファイル名 コメント Manページ
/etc/mtab 現在マウントされているファイルシステムの情報
/etc/fstab マウントするファイルシステムの情報 fstab.5
/etc/mtools.conf DOS用ユーティリティ向け設定

システム管理

システム管理者向けの設定ファイル。

ファイル名 コメント Manページ
/etc/group グループ設定 group.5
/etc/nologin root以外のログインの禁止を示すファイル nologin.5
/etc/passwd ユーザアカウント情報の設定ファイル passwd.5
/etc/rpmrc RPMコマンドの設定
/etc/securetty rootがログインできる端末の設定 securetty.5
/etc/usertty
/etc/shadow 暗号化パスワード shadow.5
/etc/shells シェルとして認識されている物の一覧 shells.5
/etc/motd ログイン後に表示されるお知らせ motd.5

ネットワーク

ネットワーク関係の設定ファイル。

ファイル名 コメント Manページ
/etc/gated.conf
/etc/gated.version
/etc/gateway
/etc/protocols プロトコル定義。変更禁止 protocols.5
/etc/resolv.conf ネームサーバーなどの設定 resolv.conf.5
/etc/rpc RPC向けデーターベース。NFS用 rpc.5
/etc/exports エキスポートされるファイルシステム。NFS用 exports.5
/etc/services インターネットサービスリスト services.5
/etc/inetd.conf スーパーサーバ設定ファイル
/etc/sendmail.cf Sendmailの設定(かなり古いバージョンです)
/etc/sysconfig/network ”システムの”ネットワーク関連設定(Red Hat)
/etc/network/interfaces ネットワーク設定(Debian)

システム系コマンド

システム関係のコマンドの設定ファイル。

ファイル名 コメント Manページ
/etc/logrotate.conf ログのロテート(シフト)の設定
/etc/identd.conf
/etc/ld.so.conf ダイナミックリンカーの設定
/etc/inittab ブートアップ時・終了時に実行する処理。UNIXで最初に読まれる設定です。 inittab.5
/etc/termcap 端末設定ファイル termcap.5

デーモン

デーモンの設定ファイル。

ファイル名 コメント Manページ
/etc/syslog.conf システムログデーモンの設定 syslog.conf.5
/etc/httpd.conf Apache HTTPサーバーデーモンの設定(旧バージョン)
/etc/modules.conf 読み込むカーネルモジュールの設定ファイル modules.conf.5

ユーザー向け設定ファイル

個別ユーザー向け、設定・初期化ファイル。

ファイル名 コメント Manページ 書式
~/.bash_logout ログアウト時に読み込むBashの後始末ファイル Bashスクリプト
~/.bash_profile ログイン時に読み込むBashの初期化ファイル Bashスクリプト
~/.bash_history Bash コマンドの履歴ファイル Bashスクリプト
~/.bashrc 起動時に読み込むBashの設定ファイル Bashスクリプト

参考

ロギングとモニタリング

システムのログは/var/log/syslogなどに出力される。ログを監視することをロギングと呼ぶ。 プロセスの稼働状況はtopコマンドなどで監視できる。システムの稼働状況を監視することをモニタリングと呼ぶ。

たとえば、ブート時にサービスが起動しなかったときは、まずログファイル/var/log/boot.logを見る。その後に、サービス名が分かったらsystemctl status [サービス名]のように実行して、エラーの詳細を見て解決すればよい。

また、ps axで実行中のプロセス一覧を表示できる。kill [PID]でプロセスの強制終了ができる。

cron

cron(クーロンと読む)はデーモンのひとつで、決まった時間になった時に定期的にスクリプトを実行してくれる。

crontabという設定ファイル・コマンドを持つが、基本的にシステムの方でスクリプトを格納するための決められた場所(スクリプトを入れるべきディレクトリ)が用意されているので、その中に記述したスクリプトを放り込めばよい。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2021年09月07日 16:52

*1 そういったものがあれば。Bashの初期化ファイル(シェルスクリプト)みたいに、設定ファイルの書式自体に柔軟性がありすぎると、フロントエンドを作るのも難しい場合もある