ここでは、Linux における各種環境ファイルについて説明する。
ここでは、システムのブート時からログインまでに自動的に実行される、 各ユーザに共通した初期起動スクリプトについて紹介する。 これらはすべてシェルスクリプト(いわゆるバッチファイル)なので、 vi で内容を自由に閲覧、変更できる。 ただし変更すると影響が大きいので、 本当に変更する場合以外は root では開けないようにすること。 また、特に記述しない限り変更しない方が無難である。
なお、初期起動スクリプトについては Unix 同士のみならず、 同じ Linux でもディストリビューション毎に名称や内容が異なる。 ここで採用した Plamo Linux は Slackware というディストリビューションの 流れをくむもので、初期起動スクリプトに関しては、SunOS などで採用 されていた BSD 系に似ている。
パス | 説明 | 備考 |
---|---|---|
/etc/inittab | カーネル起動後、最初に実行されるスクリプト | 詳細は man inittab を参照のこと |
/etc/rc.d/rc.S | シングルユーザ用初期化スクリプト | /etc/inittab から呼ばれる。 |
/etc/rc.d/rc.modules | モジュール組み込み用スクリプト | /etc/rc.d/rc.S から呼ばれる。 モジュールとしてメイクしたドライバのうち、 自分が使用するものについては、このファイルを変更する。 |
/etc/rc.d/rc.M | マルチユーザ用初期化スクリプト | /etc/inittab から呼ばれる。
システムがらみのデーモンを起動したり、
以下のスクリプトを呼び出したりしている。
18 行目の setterm により、 コンソールで一定時間キーボード入力がないと画面を真っ暗にする制御を 行っている。この機能を無効にしたければ、 この行をコメントアウトすればよい。以下同様。 ※デーモンとは、システムに常駐してクライアントからの接続要求を待ち、 決まったサービスを提供するプログラム群の総称である。 Windows NT でサービスと呼ばれるものとほぼ同様。 本当に常駐するものと、inetd(インターネット・スーパーサーバ)から 起動されるものの二種類がある。 |
/etc/rc.d/rc.inet1 | ネットワーク I/F 初期化スクリプト | /etc/rc.d/rc.M から呼ばれる。 LAN I/F (eth0, eth1,...) に関する IP アドレスの設定や ルーティングの設定などを行っている。これらの設定は netconfig コマンドの実行により上書きされる。 |
/etc/rc.d/rc.inet2 | ネットワーク・デーモン起動用スクリプト | /etc/rc.d/rc.M から呼ばれる。 |
/etc/rc.d/rc.local | ユーザレベル初期化スクリプト | /etc/rc.d/rc.M から呼ばれる。 システム標準でないデーモンなどを起動するため、ユーザが自由に追加する。 このスクリプトを実行し終わると、login: プロンプトが表示され、 ユーザがログインできるようになる。 |
ここでは、ユーザがログインする際に、 システムで共通に使用されるスクリプトについて記述する。
シェル | 起動起動スクリプト | 備考 |
---|---|---|
/bin/bash | /etc/profile | ログイン時にごちゃごちゃと英語の格言が表示されるのは、 このスクリプトの最後にある fortune が犯人であるので、 じゃまであればコメントアウトする。 また、数行上の biff はメールの到着を知らせるコマンドで、 これも必要に応じて削除する。 |
/bin/tcsh | /etc/csh.login | シェルとして tcsh(csh) を使う場合に参照される。 |
シェルスクリプトではない設定ファイルについて説明する。
ファイル名 | 機能 | 備考 |
---|---|---|
/etc/passwd | ユーザ認証用ファイル | 各行は ユーザ名:パスワード:.... となっている。 さらに Plamo Linux では Shadow Password が採用されており、 パスワードフィールドは 'x' になっていて、実際のパスワードは /etc/shadow に書きこまれている。 パスワード('x')のところを削除して ユーザ名::... となるように すればパスワードを聞いてこなくなる。 詳細は man 5 passwd を参照のこと。 |
/etc/hosts | ホスト名←→IPアドレス変換用ファイル | DNS なしの環境では必須。なお、netconfig コマンドの実行により 上書きされるので注意。 |
/etc/hosts.deny | アクセス制御ファイル | アクセスを許可しないホスト/ドメインのリストを記述する。 Plamo のデフォルトでは ALL : ALL となっており、 他のホストからの接続を全く許可しない設定となっている。 とりあえずはこのファイルを hosts.deny.orig とかの別の名前に リネームしてやれば接続できるようになる。 ただし、外からアクセスできる環境にマシンを設置する場合は、 このファイルはそのままにしておき、後述の hosts.allow で アクセス制御をするべきである。 |
/etc/hosts.allow | アクセス制御ファイル | アクセスを許可するホスト/ドメインのリストを記述する。 詳細は man hosts_access を参照のこと。 |
ここでは、ログイン時のユーザ設定ファイルについて紹介する。 特に記述しない限り、これらはシェルスクリプト(いわゆるバッチファイル) なので、vi で内容を自由に閲覧、変更できる。 ここは好みに応じてどんどんカスタマイズしよう。 なお、これらのファイルはすべてユーザのホームディレクトリ直下にある。
パス | 説明 | 備考 |
---|---|---|
.bash_profile | シェルに /bin/bash を使用する場合、 ログイン時に最初に起動されるスクリプト。 | Plamo のデフォルトではこのファイルは存在しない。
以下の内容で作成しておこう。
#!/bin/bash source ~/.bashrcこれにより、ログイン時に後述の .bashrc が自動実行されるようになる。 |
.bashrc | シェル初期化ファイル |
シェルを開くたびに起動される。 ここで良く使うコマンドなどを定義しておく。 おすすめの定義を以下に示すので、適宜取捨選択して欲しい。
|
.jvimrc | vi(jvim) の起動用スクリプト | Plamo のデフォルトでは、次のようになっている。
set nobackup notextautoその他、以下のものがおすすめ。詳細は vi を起動して :h。
|
.canna | Canna 用かな漢変換設定ファイル | Plamo のデフォルトでは存在しない。
以下のようにすると、ATOK と同様の設定になる。
rcx02:~$ ln -s /usr/local/canna/lib/sample/just.canna .canna |
ここでは、X Window System に関するユーザ設定ファイルについて紹介する。 ここは好みに応じてどんどんカスタマイズしよう。 なお、これらのファイルはすべてユーザのホームディレクトリ直下にある。
パス | 説明 | 備考 | |||
---|---|---|---|---|---|
.Xdefaults | X アプリケーションのデフォルト環境設定ファイル | おすすめの設定を以下に示す。
存在する場合は修正すること。
行頭の ! はコメント行を示す。
kterm*background: Black ←kterm の背景を黒に kterm*foreground: White kterm*cursorColor: Orchid ! 以下、デフォルトから変更 KTerm*fontList: kanji14 KTerm*boldFontList: kanji14 (これ以外は '!' でコメントアウトする) | |||
.xinitrc | X アプリケーションの自動起動スクリプト | おすすめの設定を以下に示す。存在する場合は修正すること。
行頭の # はコメント行を示す。
# unclutter は一定時間動かないカーソルを隠すプログラムです。 # unclutter & ←コメントアウト # 日本語のカレンダー #exec xcalendar -geometry 235x215+0+600 & #xcalendar & ←コメントアウト # X Window が一定時間利用されない時に画面をロックします。 #xset s noblank & ←コメントアウト #kterm -vb -km euc -geometry 80x30+10+10 -bg cornsilk & ←コメントアウト |