Configuration HOWTO By Guido Gonzato, v1.3.7, 6 September 1999 遠藤明と JF Project v1.3.7j, 30 November 1999 この HOWTO は、新しくインストールした Linux box の調整を短時間で容易に 行うために作成されました。ここで多くの一般的なアプリケーションやサービ スの設定を覚えることができます。 ______________________________________________________________________ 目次 1. はじめに 1.1 この HOWTO の存在理由 1.2 何を設定しようとしているのか 2. 全般的な設定 2.1 セキュリティに関する簡単な説明 2.2 記録帳を付けよう! 2.3 キーボード 2.4 起動フロッピーとレスキューフロッピー 2.5 カーネルの再構築について 2.6 Sendmail によるロック 2.7 ハードディスクの性能向上 2.8 パラレルポート Zip ドライブ 2.9 デバイスドライバ 2.10 サウンドカード 2.11 ログインメッセージ 2.12 ホスト名 2.13 マウス 2.14 マウントポイント 2.15 lilo(8) と LOADLIN.EXE 2.15.1 セキュリティのために 2.16 メールの機能 2.17 プリンタの設定 2.18 SVGATextMode 3. 一般的な管理作業 3.1 ネットワークの設定 3.2 インターネットへの接続の共有 3.3 ネットワークアクセスの制限 3.4 NFS のエクスポート 3.5 ネームサーバ 4. ソフトウェアの設定 4.1 bash(1) 4.2 ls(1) 4.3 less(1) 4.4 emacs(1) 4.5 joe(1) 4.6 jed(1) 4.7 pine(1) 4.8 minicom(1) 4.9 efax(1) 4.10 Ghostscript 4.11 TeX とその仲間たち 4.12 PPPで問題を起こさないために 4.12.1 すぐ使える eznet 4.12.2 すぐ使える wvdial 4.13 POP クライアント 4.14 X ウィンドウシステム(XFree86) 4.14.1 X サーバの設定 4.14.2 テンキー 4.14.3 xdm を使ったグラフィカルなログイン 4.14.4 ウィンドウマネージャ 4.14.5 X11 アプリケーションのデフォルト値 4.15 ユーザごとの設定 4.16 .rpm の作成 4.17 アップグレード 5. 設定用ソフトウェア 6. 最後に 6.1 著作権 6.2 フィードバック 6.3 免責事項 7. 日本語訳について ______________________________________________________________________ 1. はじめに 1.1. この HOWTO の存在理由 筆者が今までたくさんの PC に Linux をインストールしてきた中で思うよう になったことですが、現在のディストリビューションは素晴らしいけれど、基 本的な設定が欠けていてイライラすることがあります。また、ほとんどのアプ リケーションはそのまま動くのですが、一部にそうでないものもあります。さ らには、 c.o.l.setup では何度も何度も同じ質問が繰り返されています。こ の状態を改善するため、そして筆者自身が便利に使うため、筆者はすべきこと のリストを作成しました。それがこの HOWTO 文書になりました。この文書に は設定の際のテクニックと、一般的なアプリケーション、プログラム、サービ スの設定を載せています。これを利用すれば時間と手間をかなり節約できるは ずです。 この HOWTO の例の中には、ディストリビューションに依存するものがいくつ かあります。現在、筆者は RedHat 5.2、カーネル 2.0.36 のマシンにしか触 れません。したがって、他のディストリビューションをお持ちの方は筆者のテ クニックが万能だとは考えないでください。しかし、筆者のテクニックを他の ディストリビューションに当てはめるのも難しくはないはずです。 この HOWTO は他のものの代わりになれませんし、その意図もありません。文 書や HOWTO を読むと必ず得るものがあるので、何かを詳しく知りたければ文 書を読むことを強くお勧めします。また、誰かがご飯をスプーンで優しく食べ させてくれることはありません。何か分からないことがあれば、関連する HOWTO 文書をご自分で参照してください。Linux の設定について助けを求める ための適切な場所は Usenet つまり であるこ とも忘れないでください。どうか筆者に問い合わせないでください。私はとて も忙しいのです。 この文書といくつかの言語への翻訳の公式な置き場所は から探せます。ここには本文書から参 照している他の HOWTO も全てあります。最新版は から入手できます。 1.2. 何を設定しようとしているのか PC のハードウェアがどのように構成されているかは千差万別ですが、私の経 験では、 3つのパーティション(DOS/Windows、Linux、スワップの3つ)のは いった大容量ハードディスク、サウンドカード、モデム、CD-ROM ドライブ、 プリンタ、マウスを共通項目としてあげることができます。パラレルポート接 続の Zip ドライブもよく用いられています。このマシンは Windows と Linux が混在しているネットワーク上にあり、そこでサーバとして動作しているで しょう。 このようなハードウェアを設定しようとしているものと仮定して話をすすめま すが、異なった設定でも参考になるものと思います。特に断わらない限り、設 定は root 権限で行ないます。 さあ、腕まくりをして取り掛かりましょう。 2. 全般的な設定 2.1. セキュリティに関する簡単な説明 たとえシステムを立ち上げる前でも、実現すべきセキュリティのレベルを決め ておかなければなりません。最初は、すべきことが決まるまではマシンをネッ トワークに接続してはいけません。 セキュリティの分野はとても広範囲であり、この HOWTO の対象を超えていま す。最初の手がかりとしては、Linux Security Administrator's Guide ( )と Linux Security Guide ( )をお勧めします。少なくとも、以下のこと は考慮してください: シャドウパスワードの使用(Shadow Password HOWTO)、 マシンへのネットワークアクセスの制限(``Restricting Network Access'' の 節)、 Secure Shell ( ) または Secure Remote Password ( ) の使用。好運を祈ります。 2.2. 記録帳を付けよう! インストール済みのマシンを問題無い状態に保つためには、マシンに対して 行った変更を正確に把握することが重要です。把握すべきなのは、その日にイ ンストールしたパッケージや、削除や修正を行ったファイル等です。したがっ て、マシンをいじる前にまず行うべきことは「記録帳」を付けることです。記 録帳には root で行った全ての変更をメモします。筆者の記録帳には、修正し たシステムファイル、追加した RPM パッケージ、インストールした .tar.gz ファイルが書いてあるページもあります。理想的には、この変更を逆にたどる ことによって、マシンを最初にインストールした状態に戻すことができます。 触ったシステムファイルはバックアップしておきましょう。もっと良いのは、 RCS を使うことです。RCS を使えば全ての変更を遡ることができます。root になって作業したら、行った変更は必ず記録しましょう! 2.3. キーボード インストール中に設定していなかったり、キーボードを替えた時には次のよう にします。 o /usr/lib/kbd/keytables/ の中から適当なキーテーブルを見つけます。例 えば、it.mapはイタリアのキーボード用のテーブルです: o /etc/sysconfig/keyboard を編集し、 KEYTABLE="it" とします: o キーボードのリピート速度とディレイ時間を設定するには、 /etc/rc.d/rc.sysinit (Red Hatの場合) /etc/rc.d/rc.boot (Calderaの場 合) /etc/rc.d/boot (S.u.S.Eの場合) に次の行を加えます: /sbin/kbdrate -s -r 16 -d 500 # お好みに合わせてください このキーテーブルを読み込むためには /etc/rc.d/init.d/keytablestart を実 行してください。その他の特殊キーに関しては続いて説明します。 NumLock キーをデフォルトで on にしたい場合には、 /etc/rc.d/rc.sysinit に次の行を追加してください: for tty in /dev/tty[1-9]*; do setleds -D +num < $tty done 2.4. 起動フロッピーとレスキューフロッピー 新しくインストールしたシステムに対しては、起動フロッピーを 2 枚くらい 用意しておきましょう。お使いのディストリビューションにはこういったフ ロッピーを作成するコマンドがあると思います。もしなければ、以下のコマン ドで作成できます: #~ dd if=/boot/vmlinuz-2.0.36-0.7 of=/dev/fd0 # 実際のカーネルイメージを指定 #~ rdev /dev/fd0 /dev/hda2 # 実際の Linux パーティション また、すぐ使えるレスキューディスクを少なくとも 2 枚は用意しておきま しょう。レスキューディスクには色々な種類があり、それらは から入手できます。ど れを選べば良いか分からない方には Tomsbtrt をお勧めしておきます。 2.5. カーネルの再構築について 次に行なうべきことは、あなたのシステムに最適なカーネルを構築することで す。非常に単純ではありますが、とにかく/usr/src/linux/ にある README ファイルか Kernel-HOWTO を読んでください。ヒントとしては: o あなたが何を必要としているかを考えてください。カーネルの設定やパッ チ当て、コンパイルを一度だけで終わらせられれば、毎月毎月設定とコン パイルをやり直すよりもずっと生産的です。これはあなたのマシンがサー バならば、なおさら重要なことです。将来増やすことになるかもしれない ハードウェア(SCSI、Zip、ネットワークカードなど)のサポートを忘れない でください。モジュールを使うのは良い選択です。 o もしあなたの PC が Cyrix の CPU なら、性能を改善するためのパッチを 当ててください。情報は にあります。 o ノートパソコンのユーザは、液晶画面を見やすくしたいと思っているで しょう。これまで私は、カーネルにパッチを当てることを勧めてきました が、 SVGATextMode がおそらくは最善の方法でしょう (詳しく は、``SVGATextMode'' をご覧ください)。ともかく、カーソルを大きくす るパッチに関する情報は、 にあります。 o また、ノートパソコンで PCMCIA モデム/ファックスを使う場合には、シリ アルポートのサポートをモジュールではなくカーネルに組み込んでくださ い。そうしないと PCMCIA モデムは動作しません。 o PCMCIA カードを使う場合には、これらのモジュールのコンパイルも忘れな いでください。また、PCMCIA ネットワークカードを使う場合には、 /etc/pcmcia/network.opts ファイルの編集も忘れないでください。 o modprobe が、見つからないモジュールがあるというおかしなメッセージを 出すようなら、/etc/conf.modulesを直す必要があります。 ipx と appletalk モジュールを使わないなら、次の行を加えてください: alias net-pf-4 off alias net-pf-5 off 次にカーネルの再構築を行うときのために、設定ファイルを安全なところに保 存しておくと良いでしょう。注意 - カーネルのアップグレードを行うときに は、新しいカーネルの機能についての記述が無いため、この設定ファイルは役 に立ちません。 2.6. Sendmail によるロック システムによっては、ブート時に sendmail がシステムを 2〜3 分停止させて しまうことがあります。これは、1)インターネットに直接接続されていない場 合と 2)インターネットに直接接続されていて、固定IPアドレスを持っている 場合の 2 つが考えられます。 前者の場合に、最も簡単な修正方法は、/etc/hosts に、以下の行を挿入する ことです。 127.0.0.1 localhost 後者の場合には、/etc/hosts に以下のような行があると問題が発生します。 127.0.0.1 localhost your_host_name この場合には、以下のように分割してください: 127.0.0.1 localhost w.x.y.z your_host_name ``Hostname''の節も参考にしてください。 2.7. ハードディスクの性能向上 ハードディスクの性能は hdparm (8)を注意深く使うことによって改善するか もしれません。もし hdparm がないなら、 で hdparm-X.Y.tar.gz を探してください。 詳細な部分については、ハードディスクとハードディスクコントローラに依存 しますので、どうすれば良いかを一般的に示すことはできません。ファイルシ ステムを駄目にしてしまわないように、man page を注意深く読んでから使っ てください。最も簡単な方法は、 /etc/rc.d/rc.sysinit に以下の行を加える ことです: /sbin/hdparm -c1 /dev/hda # 一番目のIDEドライブの場合 これによって、(E)IDE 32ビット入出力が可能になります。-m オプションにつ いては、hdparm の作者 Mark Lord からこんな email がきています: (...) もしあなたのシステムがここ 1、2 年の部品を使っているな ら問題はありません。それより古い場合には(あまり考えにくいの ですが)問題があるかもしれません。バグの多いチップは、CMD0646 と RZ1000 で、2、3 年前まで、486 や初期の 586 用のマザーボー ドのほとんどで使われていました。 最近のマシンならば、以下の設定でうまく動作するはずです: /sbin/hdparm -c1 -A1 -m16 -d1 /dev/hda 2.8. パラレルポート Zip ドライブ パラレルポートの Zip ドライブを使うには、最近の(2.x.x)カーネルのデフォ ルトドライバで大丈夫です。カーネル再構築の際には、SCSI のサポートと SCSI ディスクのサポートを使えるようにしておいてください。Zip ドライブ とパラレルプリンタが同じパラレルポート上にあると、競合が起こることがあ ります。そんな時は、モジュールを使うようにしてください。これとは別の ppa が にあります。 Zip ディスクは、/dev/sda4 パーティションを使うように予めフォーマットさ れた状態で売られています。Zip を使えるようにするには、以下の設定を /etc/rc.d/rc.sysinit に追加します: # Zip ドライブを使えるようにします /sbin/modprobe ppa Zip ディスクは /etc/fstab を以下のように設定すればマウントできます。あ るいは、この行を /etc/mtools.conf に追加すれば Mtools で使えます。 drive z: file="/dev/sda4" exclusive これに加えて、mzip コマンドを使うとディスクのイジェクト、状態の問い合 わせ、書き込み、Zip ディスクのパスワード保護ができます。詳しくは man mzip をご覧ください。Mtools のホームページは です。 2.9. デバイスドライバ /dev にデバイス(というよりは実際のデバイスドライバへのリンク) が無いこ とがあります。マウス、モデム、CD-ROM ドライブなどのデバイスを確認して ください。もしも無い場合には、次のようにしてください: ~# cd /dev /dev# ln -s ttyS0 mouse; ln -s ttyS1 modem; ln -s hdb cdrom; ln -s sda4 zip (訳注: 上記は例ですので、それぞれのデバイスがそれぞれのデバイスファイ ルに接続されているとは限りません。確認の上でシンボリックリンクを張るよ うにしてください) ノートブックの大部分はマウスが /dev/psaux になっています。 X11 の設定 の際にもこの点に注意してください。 必要ならば、これらのデバイスに対して chmod 666 を実行すると誰でもアク セスできるようになります。 2.10. サウンドカード 筆者は古い Sound Blaster 16 しか持っていません。しかし、読者のみなさん が何か別のカードを持っていても、以下の説明をガイドとして参考にできるで しょう。 筆者はサウンドカードのサポートをモジュール(sb.o)としてコンパイルしてい ます。それから /etc/conf.modules に以下の行を追加しています: options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330 alias sound sb サウンド機能を有効にするには、/etc/rc.d/rc.sysinit 内で modprobe sound を必ず実行してください。これを行う代わりに、 RedHat のサイトから sndconfig ツールを入手してもよいでしょう。 2.11. ログインメッセージ ログイン時のメッセージを変更したいなら、/etc/rc.d/rc.local で /etc/issue と /etc/motd が上書きされていないかを調べてください(RedHat の場合)。 その場合には、エディタで変更してください。 ログインメッセージに色を付けたければ、rc.local に以下のような設定を入 れてください: # ^[ ではなく、実際のエスケープ文字を入れます。これは以下の操作で行います: # emacs: ^Q ESC vi: ^V ESC joe: ` 0 2 7 jed: ` ESC ESC="^[" # 実際のエスケープ文字 BLUE="$ESC[44;37m" NORMAL="$ESC[40;37m" CLEAR="$ESC[H$ESC[J" > /etc/issue echo "$CLEAR" >> /etc/issue echo "$BLUE Welcome to MyServer (192.168.1.1) " >> /etc/issue echo "$NORMAL " >> /etc/issue echo "" >> /etc/issue 2.12. ホスト名 ホスト名を変える場合には、hostname new_host_name としただけでは不十分 です。恐ろしい sendmail のロックを避けるためには以下のようにします (こ れが当てはまるのはスタンドアロンのマシンだけです): o /etc/sysconfig/network を編集して、そこにあるホスト名を変更しま す(例 new_host_name.localdomain)。 o /etc/HOSTNAME を適切に編集します。 o /etc/hosts に新しいホスト名を追加します: 127.0.0.1 localhost new_host_name.localdomain 2.13. マウス gpmのマウスサービスは、tty モードでカットアンドペーストを行ったり、ア プリケーションでマウスを使うのに有効です。RedHat の場合、 /etc/sysconfig/mouse に次のような行があるのを確認してください: MOUSETYPE="Microsoft" XEMU3=yes さらに、/etc/rc.d/init.d/gpm があることを確認してください。ここで、コ マンドラインパラメータの追加をしてください。私の場合には: ... daemon gpm -t $MOUSETYPE -d 2 -a 5 -B 132 # two-button mouse ... としました。 もちろんマウスの設定があなたのマウス用に正しく設定されている必要があり ます。ほとんどのノートブックの場合、MOUSETYPE は ``PS/2'' です。 Caldera では、/etc/rc.d/rc.bootに次の行を加えてください: /usr/bin/gpm S.u.S.E の場合には、gpm のオプションは /etc/rc.config に記述します。 Debian の場合には /etc/gpm.conf を編集してください。 コンソールの中で、Ctrl-buttonでメニューを呼び出したい場合には、 gpm- root を編集してください。 /etc/gpm-root.conf のデフォルトメニューを編 集して、 /etc/rc.d/rc.local より gpm-root を立ち上げるようにしてくださ い。 2.14. マウントポイント フロッピーディスクなどのデバイスや、NFS でエクスポートされたディレクト リのために、マウントポイントを用意しておくと便利です。例えば以下のよう にします: ~# cd /mnt /mnt# mkdir floppy; mkdir cdrom; mkdir win; mkdir zip; mkdir server これらは、DOS/Win フロッピ, ext2 フロッピ, CD-ROM, Windows パーティ ション、Zip ドライブや NFS ディレクトリのマウントポイントとなります。 /etc/fstabを編集して、以下の項目を追加してください。 /dev/fd0 /mnt/floppy auto user,noauto 0 1 /dev/cdrom /mnt/cdrom iso9660 ro,user,noauto 0 1 /dev/zip /mnt/zip vfat user,noauto,exec 0 1 /dev/hda1 /mnt/win vfat user,noauto 0 1 server:/export /mnt/server nfs defaults 最初の欄には正確なデバイス名を書いてください。最近のカーネルでは fat32 が最初から組み込まれていますが、古いバージョンの場合には、 にあるパッチを当 ててください。詳しくはman mountをご覧ください。 最初の行ではファイルシステムの種類が ``auto'' になっている点に注意して ください。これを用いると、ext2 と vfat (DOS/Windows) のどちらのフロッ ピーもマウントできます。ただし mtools の方がもっと便利でしょう。 2.15. lilo(8) と LOADLIN.EXE 多くのユーザは、 Linux と DOS/Windows の両方をPC上で動かしており、ブー ト時にどちらの OS を使うかを選択しています。-これはインストール時に設 定しておくべきです。そうでない場合は以下のようにしてください。 /dev/hda1 に DOS/Windows がインストールされていて、/dev/hda2 に Linux がインストールされているとしましょう。 ~# fdisk Using /dev/hda as default device! Command (m for help):a Partition number (1-4): 2 Command (m for help):w ~# これで、 Linux パーティションから起動できるようになります。次に、基本 的な /etc/lilo.conf ファイルを書きます: boot = /dev/hda2 compact # "linear" と衝突するかもしれません delay = 100 # 10 秒 linear # 「1024 シリンダ」問題を回避します # message = /boot/bootmesg.txt # 指定するならば、実際のファイルを指定します root = current image = /boot/vmlinuz # この項目が最初なので、デフォルトでは Linux が起動します label = linux read-only # append="mem=128M" # 64M 以上のメモリを扱うため other = /dev/hda1 table = /dev/hda label = dos 次に /sbin/lilo を実行すれば終りです。lilo はインストールの中でも特に 重要な部分ですので、ドキュメントを良く読むことを強くお勧めします。 DOS/Windows からリセットをかけずに Linux を起動するには、 LOADLIN.EXE を DOS パーティションの中のパスの通ったディレクトリに置き、カーネル を、たとえば C:\DOS\VMLINUZ にコピーします。次のバッチファイルで Linux を起動できます: rem linux.bat smartdrv /C loadlin c:\temp\vmlinuz root=/dev/hda2 ro もし、Windows 9x を使っているなら、このバッチファイルが、 MS-DOS モー ドで実行されるようにしてください。 2.15.1. セキュリティのために Linux のインストールの前に MBR のバックアップをとっておくと、非常に安 全です。インストール前に restorrb (FIPS パッケージに含まれています。) を使うか、Linux のレスキューフロッピーを使って以下のコマンドを実行して ください: rescue:~# dd if=/dev/hda of=MBR bs=512 count=1 フロッピーに MBR のコピーを最低 2 つは作っておきましょう。古い MBR を 復旧させる場合は /mnt 以下に MBR の入ったフロッピーをマウントさせてか ら以下のコマンドを実行します: rescue:~# dd if=/mnt/MBR of=/dev/hda bs=446 count=1 ここでは MBR が入っているフロッピーは /mnt にマウントされているものと します。以上の作業を行う代わりに、DOS のレスキューフロッピーを使って FDISK /MBR を実行しても構いません。 2.16. メールの機能 HTML で書かれたメールやテキスト以外のファイル形式を含むメールを読みた くなることがあるでしょう。このような時には、/etc/mime.types と /etc/mailcap の 2 つのファイルがあることを確認してください。最初のファ イルには、以下のようにファイルの形式と、関係する拡張子を書いておきま す: application/postscript ps eps image/jpeg jpe jpeg jpg text/html html 2 番目のファイルには、メールクライアントがどのようにそのファイルを表示 するかを書いておきます。 Microsoft Outlook を使っている人からメールを受け取ると、そのメールはマ ルチパート MIME 形式になっていますが、/etc/mailcap に次の 2 行を追加す ることで、読むことができます: text/plain; less %s; needsterminal text/html; lynx -force_html %s; needsterminal 2.17. プリンタの設定 私の知っているすべてのディストリビューションでは、プリンタの設定ツール が用意されています。(printtool, yast, magicfilter など)。もし、これら のツールが用意されていない場合には、以下の設定を行ってください。 なお、PostScript 対応でない(また、「Windows 専用」ではない!) プリンタ にテキスト (たとえば C のソースファイルなど) を印刷したいと仮定しま す。また、PostScript ファイルに関してはすでにインストールされているで あろう Ghostscript を使って印刷することを仮定します: プリンタの設定はいくつかのステップで行います: o どのパラレルポートが使われているか調べます。以下のコマンドを試し、 どちらが動作したかをメモしておいてください: ~# echo "hello, world" > /dev/lp0 ~# echo "hello, world" > /dev/lp1 o スプール用ディレクトリを 2 つ作ります: ~# cd /var/spool/lpd /var/spool/lpd/# mkdir raw; mkdir postscript o もし「階段状」に印刷されてしまうようなら(ほとんどのインクジェットプ リンタがそうです)、フィルタが必要です。次のようにして 2 桁印刷して みてください。 ~# echo "first line" > /dev/lp1 ; echo "second line" > /dev/lp1 出力が以下のようであれば: 最初の行 その次の行 のようになっていたら、次のスクリプトを /var/spool/spd/raw/filter とし て保存してください: #!/bin/sh # This filter eliminates the "staircase effect" awk '{print $0, "\r"}' 次にこのファイルを chmod 755 /var/spool/lpd/raw/filter として、実行可 能にしてください。 o 次にこのファイルを chmod 755 /var/spool/lpd/raw/filter として実行可 能にしてください。 #!/bin/sh DEVICE=djet500 RESOLUTION=300x300 PAPERSIZE=a4 SENDEOF= nenscript -TUS -ZB -p- | if [ "$DEVICE" = "PostScript" ]; then cat - else gs -q -sDEVICE=$DEVICE \ -r$RESOLUTION \ -sPAPERSIZE=$PAPERSIZE \ -dNOPAUSE \ -dSAFER \ -sOutputFile=- - fi if [ "$SENDEOF" != "" ]; then printf "\004" fi (この例では、 HP DeskJet プリンタを仮定しています。あなたのプリンタに 合わせて修正してください。) o 最後に、次の項目を /etc/printcap に追加してください: # /etc/printcap lp|ps|PS|PostScript|djps:\ :sd=/var/spool/lpd/postscript:\ :mx#0:\ :lp=/dev/lp1:\ :if=/var/spool/lpd/postscript/filter:\ :sh: raw:\ :sd=/var/spool/lpd/raw:\ :mx#0:\ :lp=/dev/lp1:\ :if=/var/spool/lpd/raw/filter:\ :sh: もっと複雑なプリンタの設定については、 Printing-HOWTO をご覧ください。 printtool を使う場合、Printtool の選ぶ GSDEVICE で動作しますが、必ずし も最善ではないことに注意してください。postscript.cfg ファイルをちょっ といじってみてください。たとえば、私の場合 GSDEVICE を cdj500 から djet500 に変更したら、とても印刷が早くなりました。 2.18. SVGATextMode にあるこのツールは、コン ソール画面の解像度、フォント、カーソル形状を変えるのに便利です。アクセ ント記号を含むような文字を利用しているユーザは、これらをコンソール上に 表示できます。ノート PC のユーザの場合には、カーソル形状をもっと見やす くすることができます。 /etc/TextConfig もしくは /etc/TextMode の default VGA difinition で始 まる部分を編集してください。ヨーロッパの人は、``LoadFont'' のところを 以下のようにすると、幸せになれるでしょう: Option "LoadFont" FontProg "/usr/bin/setfont" FontPath "/usr/lib/kbd/consolefonts" FontSelect "lat1u-16.psf" 8x16 9x16 8x15 9x15 FontSelect "lat1u-14.psf" 8x14 9x14 8x13 9x13 FontSelect "lat1u-12.psf" 8x12 9x12 8x11 9x11 FontSelect "lat1u-08.psf" 8x8 9x8 8x7 9x7 これが終わったら、SVGATextMode "80x34x9" のようなコマンドで設定を試し ます。これできちんと動作するようであれば、 /etc/TextMode から警告部分 を削除し、以下の行を etc/rc.d/rc.sysinit に入れます: # SVGATextMode /usr/sbin/SVGATextMode "80x34x9" ブロックカーソルは、一部のモードでしか動作しないことに注意してくださ い。筆者のノートマシンでは "80x32x9" で動作しました。 3. 一般的な管理作業 書くことはたくさんありますが、時間は限られています! ここは楽しくやりま しょう。他にもたくさんの作業があなたを待ちかまえていますが、この節は ネットワーク中心で行きます。 ネットワークの分野はとても広く、ここで説明し尽くすことはできません。参 考文献として NET-3 HOWTO を挙げておきます。また、ほとんどのディストリ ビューションにはネットワークサービスの設定についての文書が付属していま す。ここではいくつかの点だけを再確認しましょう。 あなたがインストールすると思われるサービスについてすべきことの簡単なリ ストを示します: cron や timed といったカレンダーや備忘録。http, samba, telnet/ssh のアクセス、anonymous FTP, POP/IMAP サーバ、NFS サービス …。 3.1. ネットワークの設定 お使いのディストリビューションにおいてネットワークサービスを新しく追加 するための実際の手順はもっとずっと複雑ですが、以下のスクリプトは最初の 手がかりとしては十分なはずです: #!/bin/sh # net-up.sh: set up network access DEVICE=eth0 IPADDR=192.168.1.100 NETMASK=255.255.255.0 NETWORK=192.168.1.0 GATEWAY=192.168.1.1 ifconfig $DEVICE $IPADDR netmask $NETMASK up route add -net $NETWORK netmask $NETMASK $DEVICE route add default gw $GATEWAY このスクリプトを使うと、レスキューディスクの使用時に手軽にネットワーク アクセスを有効にできます。見ての通りですが、このスクリプトでは外部に ping, ftp, telnet しかできません。 3.2. インターネットへの接続の共有 これは Linux をサーバとして使うと便利な仕事のひとつです。現在は、ごく 平凡なカーネルでも IP ファイアウォール機能, IP マスカレード機能、フォ ワーディング機能がデフォルトで有効になっています。有効になっていないよ うであれば、IP-Masquerade mini-HOWTO をご覧になって、これらの機能を有 効にする方法を調べてください。それから ipfwadm (カーネル 2.0.x; ) または ipchains (カーネル 2.2.x; ) を インストールしてください。必要なサービスのためのカーネルモジュールを有 効にするのを忘れないでください。例えば、FTP を使うためには以下の行を /etc/rc.d/rc.sysconfig に追加します: /sbin/modprobe ip_masq_ftp この他のモジュールは普通、 /lib/modules/KERNEL-VERSION/ipv4 にありま す。 あなたの LAN にいる他のマシンに対して IP マスカレード機能を有効にする のはとても簡単です。まず、ネットワーク初期化スクリプト (/etc/sysconfig/network が正しい場所のはずです)を調べて、 FORWARD_IPV4=true という行があるかどうかを確認します。これは、ネットワ ークサブシステムが立ち上がる時に /proc/sys/net/ipv4/ip_forward を 1 に 設定するために使われます。 以下の行を /etc/rc.d/rc.sysinit に追加します: # default: packets cannot go reach the outside /sbin/ipfwadm -F -p deny # allow all machines on the local network to reach the Internet /sbin/ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0 # alternatively, allow only these two machines # /sbin/ipfwadm -F -a m -S 192.168.1.100/24 -D 0.0.0.0/0 # /sbin/ipfwadm -F -a m -S 192.168.1.101/24 -D 0.0.0.0/0 カーネル 2.2.x 系をお使いであれば、ipfwadm ではなく ipfwadm-wrapper を 使うと素早く立ち上がります。 ここまでくると、クライアントマシンから ISP に電話をかけさせる手が欲し くなるでしょう。筆者は Mserver ( ) を使っていま す。etc/mserver.conf を編集してください。修正する必要がある項目は ``checkhost'', ``shadow'', ``cname'' だけです。次に接続(複数可)を定義 します。もちろん、クライアントマシンには、利用可能なクライアントのひと つをインストールします。 3.3. ネットワークアクセスの制限 PPP を使ってインターネットに接続できたものとします。いったん接続する と、あなたのマシンは攻撃にさらされるかもしれません。そこで、以下の行を /etc/hosts.allow に追加してください: # only allow access to localhost ALL: 127. それから以下の行を /etc/hosts.deny に追加します: # deny access to everyone ALL: ALL インターネットに直接繋がっているネットワークに所属しているなら、 finger, telnet, それから他のサービスもセキュリティのために止めておく方 がよいでしょう。telnet の代わりには ssh を使いましょう。編集すべきファ イルは /etc/inetd.conf です。サービスを止める代わりに、以下の行を /etc/hosts.allow に追加してネットワークアクセスを制限する方法もありま す: in.telnetd: 192.168.1., .他の.信頼している.ネットワーク in.ftpd: 192.168.1., .他の.信頼している.ネットワーク それから以下の行を /etc/hosts.deny に追加します: in.telnetd: ALL in.ftpd: ALL 3.4. NFS のエクスポート サーバ上に置いているホームディレクトリのエクスポートは一般的に行われて います。ところが、あるユーザの UID や GID がマシン間で一致していないと 問題が起こります。ユーザ guido の UID/GID が server で 500 であ り、client で 512 の場合には、以下の設定が便利です: # /etc/exports /tmp 自分の.クライアント.マシン(rw) /home/guido 自分の.クライアント.マシン(rw,map_static=/etc/nfs/client.map) /etc/nfs/client.map は以下のように書きます: # /etc/nfs/client.map # NFS mapping for client # remote local uid 512 500 gid 512 500 3.5. ネームサーバ まだ書けていません。 4. ソフトウェアの設定 これから以下のファイルについて設定ファイルのカスタマイズを説明します。 /etc/profile /etc/bashrc .bashrc .bashrc .bash_profile .bash_logout .inputrc .less .lessrc .xinitrc .fvwmrc .fvwm2rc95 .Xmodmap .Xmodmap.num .Xdefaults .jedrc .abbrevs.sl .joerc .emacs 。システムの 設定が終わるまではユーザの追加を行わないでください。これらのドットファ イルは /etc/skel に入れます。 4.1. bash(1) おそらく、カーネルの次に重要なソフトウェアです。bash の動作を設定する には以下のファイルを編集します: o /etc/bashrc にはシステム全体でのエイリアスと関数を入れます。 o /etc/profile にはシステム全体での環境設定と初期化プログラムを入れま す。 o $HOME/.bashrc には、ユーザ定義のエイリアスと関数を入れます。 o $HOME/.bash_profile には、ユーザの環境設定と初期化プログラムを入れ ます。 o $HOME/.inputrc には、ユーザのキー定義などを入れます。 これらのファイルの例を以下に示します。まずは最も重要な /etc/profile で す。このファイルは、後の節で出てくる Linux マシンの特徴の多くを決めま す。後でまた参照してください。 ______________________________________________________________________ # /etc/profile # System wide environment and startup programs # Functions and aliases go in /etc/bashrc # This file sets up the following features and programs: # # o path # o prompts # o a few environment variables # o colour ls # o less # o rxvt # # Users can override these settings and/or add others in their # $HOME/.bash_profile # set a decent path PATH="$PATH:/usr/X11R6/bin:$HOME/bin:." # notify the user: login or non-login shell. If login, the prompt is # coloured in blue; otherwise in magenta. Root's prompt is red. # See the Colour-ls mini HOWTO for an explanation of the escape codes. USER=`whoami` if [ $LOGNAME = $USER ] ; then COLOUR=44 # blue else COLOUR=45 # magenta fi if [ $USER = 'root' ] ; then COLOUR=41 # red PATH="$PATH:/usr/local/bin" fi ESC="\033" PROMPT='\h' # hostname STYLE=';1m' # bold # PROMPT='\u' # username # STYLE='m' # plain PS1="\[$ESC[$COLOUR;37$STYLE\]$PROMPT:\[$ESC[37;40$STYLE\]\w\\$ " PS2="> " # no core dumps, please ulimit -c 0 # set umask if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then umask 002 else umask 022 fi # a few variables USER=`id -un` LOGNAME=$USER MAIL="/var/spool/mail/$USER" # sendmail, postfix, smail # MAIL="$HOME/Mailbox" # qmail NNTPSERVER=news.myisp.it # put your own here VISUAL=jed EDITOR=jed HOSTNAME=`/bin/hostname` HISTSIZE=1000 HISTFILESIZE=1000 export PATH PS1 PS2 USER LOGNAME MAIL NNTPSERVER export VISUAL EDITOR HOSTNAME HISTSIZE HISTFILESIZE # enable colour ls eval `dircolors /etc/DIR_COLORS -b` export LS_OPTIONS='-s -F -T 0 --color=yes' # customize less LESS='-M-Q' LESSEDIT="%E ?lt+%lt. %f" LESSOPEN="| lesspipe.sh %s" LESSCHARDEF=8bcccbcc13b.4b95.33b. # show colours in ls -l | less # LESSCHARSET=latin1 PAGER=less export LESS LESSEDIT LESSOPEN VISUAL LESSCHARDEF # fix the backspace key in rxvt/xterm CTRL_H="\010" NULL_STRING=" $CTRL_H" # space + backspace if [ "$NULL_STRING" != "" ] ; then stty erase ^? else stty erase ^H fi # set xterm title: full path case $TERM in xterm*) PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"' ;; esac for i in /etc/profile.d/*.sh ; do if [ -x $i ]; then . $i # beware - variables and aliases might get overridden! fi done # call fortune, if available if [ -x /usr/games/fortune ] ; then echo ; /usr/games/fortune ; echo fi ______________________________________________________________________ 次は /etc/bashrc です: ______________________________________________________________________ # /etc/bashrc # System wide functions and aliases # Environment stuff goes in /etc/profile # Insert PS1 definitions here if you experience problems. export CDPATH="$CDPATH:~" # common aliases alias cp='cp -i' alias l=less alias ls="ls $LS_OPTIONS" alias mv='mv -i' alias rm='rm -i' alias rmbk='/bin/rm -f .*~ *~ *aux *bak *log *tmp 2> /dev/null' alias u='cd ..' alias which="type -path" alias x=startx # A few useful functions c () # cd to the new directory and list its contents { cd $1 ; ls } inst() # Install a .tar.gz archive in current directory { if [ $# != 0 ]; then tar zxvf $1; fi } cz() # List the contents of a .zip archive { if [ $# != 0 ]; then unzip -l $*; fi } ctgz() # List the contents of a .tar.gz archive { for file in $* ; do tar ztf ${file} done } tgz() # Create a .tgz archive a la zip. { if [ $# != 0 ]; then name=$1.tar; shift; tar -rvf ${name} $* ; gzip -9 ${name} fi } crpm() # list information on an .rpm file { if [ $# != 0 ]; then rpm -qil $1 | less; fi } ______________________________________________________________________ これは .bashrc の例です。 ______________________________________________________________________ # $HOME/.bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # this is needed to notify the user that they are in non-login shell if [ "$GET_PS1" = "" ] ; then COLOUR=45; ESC="\033"; STYLE=';1m'; # STYLE='m' USER=`whoami` export PS1="\[$ESC[$COLOUR;37$STYLE\]$USER:\[$ESC[37;40$STYLE\]\w\\$ " fi # personal aliases alias backup='tar -Mcvf /dev/fd0' alias dial='eznet up myisp' alias f='cd ~/fortran' alias hangup='eznet down' alias lyx='lyx -width 580 -height 450' alias restore='tar -M -xpvf /dev/fd0' # personal functions xj() # Launch xjed and a file in background { xjed $1 & } ______________________________________________________________________ これは .bash_profile の例です。 ______________________________________________________________________ # $HOME/.bash_profile # User specific environment and startup programs # This file contains user-defined settings that override # those in /etc/profile # Get user aliases and functions if [ -f ~/.bashrc ]; then GET_PS1="NO" # don't change the prompt colour . ~/.bashrc fi # set a few `default' directories export CDPATH="$CDPATH:$HOME:$HOME/text:$HOME/text/geology" ______________________________________________________________________ これは .inputrc の例です。 ______________________________________________________________________ # $HOME/.inputrc # key bindings "\e[1~": beginning-of-line "\e[3~": delete-char "\e[4~": end-of-line # (F1 .. F5) are "\e[[A" ... "\e[[E" "\e[[A": "info \C-m" set bell-style visible # please don't beep set meta-flag On # allow 8-bit input (i.e, accented letters) set convert-meta Off # don't strip 8-bit characters set output-meta On # display 8-bit characters correctly set horizontal-scroll-mode On # scroll long command lines set show-all-if-ambiguous On # after TAB is pressed ______________________________________________________________________ xterm や 他の X11 アプリケーションで backspace と del キーを正しく動作 させるには以下のようにしてください: o 以下の設定を .xinitrc に入れてください: usermodmap=$HOME/.Xmodmap xmodmap $usermodmap o 次に .Xmodmap に以下を入れてください: keycode 22 = BackSpace keycode 107 = Delete この設定でコンソールが直ります。xterm を直すには以下の作業を行います: o 以下の行を .Xdefaults に入れてください: xterm*VT100.Translations: #override BackSpace: string(0x7F)\n\ Delete: string(0x1b) string("[3~")\n\ Home: string(0x1b) string("[1~")\n\ End: string(0x1b) string("[4~")\n\ CtrlPrior: string(0x1b) string("[40~")\n\ CtrlNext: string(0x1b) string("[41~") nxterm*VT100.Translations: #override BackSpace: string(0x7F)\n\ Delete: string(0x1b) string("[3~")\n\ Home: string(0x1b) string("[1~")\n\ End: string(0x1b) string("[4~")\n\ CtrlPrior: string(0x1b) string("[40~")\n\ CtrlNext: string(0x1b) string("[41~") rxvt の場合には、コンパイル時のいくつかのオプションが動作に影響するな ど、ほんの少しだけ複雑です。詳しくは上記の /etc/profile を見てくださ い。 さらに詳しい情報については man ページの bash(1) や readline(3) を見て ください。 全てのアプリケーションが正しく動くとは考えないでください! 例えば xterm 上で joe を実行すると、一部のキーは動作しません。同じ問題が一部のバー ジョンの rxvt でも起こります。 4.2. ls(1) ls はファイル形式ごとに違った色でファイル一覧を表示できます。この機能 を有効にするためには、/etc/profile に上で示した行をいくつか追加する必 要があります。しかし、rxvt のバージョンによってはきちんと動きません。 代わりに xterm 系の端末エミュレータを使ってください。古い rxvt の一部 には、環境によっては環境変数を引き継げなくなるというバグがあるようで す。 Caldera の ls では色が出ないようですが、これと同等の color-ls がありま す。以下の行を /etc/bashrc に追加してください: alias ls="color-ls $LS_OPTIONS" 4.3. less(1) この優れたページャを用いると、テキスト文書だけでなく、gzip で圧縮され たファイル、tar や zip のアーカイブ、 man ページなどを読むことができま す。設定は以下のように行います: o 矢印キーなどを使うには、この ASCII ファイルを .lesskey としてホーム ディレクトリに保存してください: ^[[A back-line ^[[B forw-line ^[[C right-scroll ^[[D left-scroll ^[OA back-line ^[OB forw-line ^[OC right-scroll ^[OD left-scroll ^[[6~ forw-scroll ^[[5~ back-scroll ^[[1~ goto-line ^[[4~ goto-end ^[[7~ goto-line ^[[8~ goto-end 次に lesskey を起動してください。(これらは vt100 互換ターミナルのエス ケープシーケンスです。) これでキー定義の入ったバイナリファイル .less ができます。 o 以下のファイルを /usr/local/bin/lesspipe.sh として保存してください: ___________________________________________________________________ #!/bin/sh # This is a preprocessor for 'less'. It is used when this environment # variable is set: LESSOPEN="|lesspipe.sh %s" lesspipe() { case "$1" in *.tar) tar tf $1 2>/dev/null ;; # View contents of .tar and .tgz files *.tgz|*.tar.gz|*.tar.Z|*.tar.z) tar ztf $1 2>/dev/null ;; *.Z|*.z|*.gz) gzip -dc $1 2>/dev/null ;; # View compressed files correctly *.zip) unzip -l $1 2>/dev/null ;; # View archives *.arj) unarj -l $1 2>/dev/null ;; *.rpm) rpm -qpil $1 2>/dev/null ;; *.cpio) cpio --list -F $1 2>/dev/null ;; *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.l|*.man) FILE=`file -L $1` FILE=`echo $FILE | cut -d ' ' -f 2` if [ "$FILE" = "troff" ]; then groff -s -p -t -e -Tascii -mandoc $1 fi ;; *) file $1 | grep text > /dev/null ; if [ $? = 1 ] ; then # it's not some kind of text strings $1 fi ;; esac } lesspipe $1 ___________________________________________________________________ 次に chmod 755 lesspipe.sh として実行可能にします。 o 必要な変数は上にあったように /etc/profile に入っています。 4.4. emacs(1) 私はたまにしか emacs を使いませんので、いくつかの tips しかお教えでき ません。いくつかの emacs ディストリビューションでは色付けや構文強調表 示が最初は設定されていません。以下の行を .emacs に追加してください: (global-font-lock-mode t) (setq font-lock-maximum-decoration t) これは、X11 でだけ有効です。さらに アクセント付き文字を使えるようにす るには、以下の行を追加してください。 (standard-display-european 1) 自分の要望に合うように設定するために emacs のすべてのドキュメントを熟 読するのは、読者の皆さんにお任せします。もしかするとハッキングには何ヵ 月もかかるかもしれませんが。Dotfile generator (``設定プログラム'' をご 覧ください)は良い手助けとなるでしょう。 4.5. joe(1) joe のいくつかのバージョンは、コンソールで色が使えません。またいくつか の特殊キーが動作しません。前者の問題の手っ取り早い解決方法は (あまりき れいではありませんが)以下のとおりです: ~$ export TERM=vt100 ~$ joe myfile (edit your file) ~$ export TERM=linux 特殊キーを動作させるためにすることは、.joerc, .jstarrc あるいはお気に 入りのエミュレーションのファイルの編集だけです。まずは /usr/lib/joe に あるシステム全体の設定ファイルから見るとよいでしょう。そして、4 番目の セクション(キー割り当て)を探してください。Home キーと End キーを有効に する設定は以下のようになります: bol ^[ [ 1 ~ Go to beginning of line eol ^[ [ 4 ~ Go to end of line 使いたいエスケープシーケンスを調べるには、cat を実行してからその特殊キ ーを押します。 4.6. jed(1) これは私のお気に入りのエディタです。動作が軽くて、emacs よりも設定が簡 単で、他のエディタを忠実にエミュレートしてくれるという、まさに私の求め ていたものです。私の大学でも、VMS のシステムエディタ EDT をエミュレー トするために、多くのユーザが jed を使っています。 jed の設定ファイルは、.jedrc と /usr/lib/jed/lib/* で、前者は後者の jed.rc を利用して作ることができます。 o jed で特別なキーを正しく扱うには、 /usr/lib/jed/lib/defaults.sl に 次の 1 行を追加します: () = evalfile("linux"); o xjed を使っていて DEL キーを認識しない場合には、 .jedrc に以下の行 を追加してください: #ifdef XWINDOWS x_set_keysym (0xFFFF, 0, "\e[3~"); setkey (``delete_char_cmd'', "\e[3~"); #endif o /usr/lib/jed/lib/linux.sl を編集して、 Info_Directory = "/usr/info"; と UCB_Mailer = "/bin/mail"; を指定します。 o jed に EDT (や他のエディタ)をエミュレートさせるには、 .jedrc のいく つかの行を編集するだけです。テンキーの `+' で 1 文字を削除するので はなく 1 つの単語を削除できるようにするには、 .jedrc に次の行を追加 します: unsetkey("\eOl"); unsetkey("\eOP\eOl"); setkey("edt_wdel", "\eOl"); setkey("edt_uwdel", "\eOP\eOl"); 追加する場所は「() = evalfile("edt") 」の行(など)の後です。 o xjed で EDT のようにテンキーボードを使いたいなら、.Xmodmap に次の行 を追加してください: keycode 77 = KP_F1 keycode 112 = KP_F2 keycode 63 = KP_F3 keycode 82 = KP_F4 keycode 86 = KP_Separator o xjed を色付きで使いたいなら、次の行を .Xdefaults に追加してくださ い: xjed*Geometry: 80x32+150+50 xjed*font: 10x20 xjed*background: midnight blue # などなど… o 「略語機能」を使うと時間をとても節約できます。以下のようなファイル を $HOME/.abbrevs.sl として保存してください(このファイル名 は、.jedrc に variable Abbrev_File = "/usr/lib/jed/abbrev.sl"; を追 加すれば変更できます): create_abbrev_table ("Global", "0-9A-Za-z"); define_abbrev ("Global", "GG", "Guido Gonzato"); create_abbrev_table ("TeX", "\\A-Za-z0-9"); define_abbrev ("TeX", "\\beq", "\\begin{equation}"); define_abbrev ("TeX", "\\eeq", "\\end{equation}"); % などなど… ESC x abbrev_mode と入力すると、略語モードが有効になります、略語をデ フォルトで使うには、以下のような行を .jedrc に追加してください: define text_mode_hook () { set_abbrev_mode (1); } % define fortran_hook () { set_abbrev_mode (1); use_abbrev_table ("Fortran"); } % などなど… 4.7. pine(1) /usr/lib/pine.conf にある全体の設定を編集してください。その際には、少 なくとも以下のフィールドに注意してください: user-domain, smtp-server, nntp-server。 inbox-path はお使いの MTA によって異なる点に注意してくだ さい。 sendmail や postfix を使っている場合には、パスは var/spool/mail/$USER になるでしょう。Qmail の場合には /home/$USER/Mailbox となります(ただし root ユーザは /var/qmail/alias/Mailbox を使います)。 4.8. minicom(1) root が全体の設定ファイルを用意しない限り、ユーザは minicom を使えませ ん。設定ファイルの作成を忘れないようにしましょう。 4.9. efax(1) このパッケージは簡単なファックスのやりとりにはもっとも便利でしょう。 /usr/bin/fax スクリプトを少し変える必要があるかもしれません。大した仕 事ではありませんが、頭の痛い部分もあります: o お使いのモデムがクラス 1, 2, 2.0 のどれかを調べるには、minicom かこ れと同様のプログラムを使って at+fclass=? コマンドを実行します。応答 は 0,1,2 といった形になります。この例では、モデムはクラス 1, 2 をサ ポートしています。 o DIALPREFIX: 国によっては `T' や `P' は動作しません(少なくともイタリ アではダメでした)。代わりに `ATDT' や `ATDP' を使ってください。 o INIT と RESET: これらの文字列は、efax で必要な初期化オプション `-i' と `-k' を含んでいます。AT コマンドを加えるには、 `AT' を除いた残り を `-i' や `-k'に続けます。例えば、INIT に `ATX3' を加えるには `-iX3' とします。 これが終わったら、root 以外のユーザでもファックスの送受信をできるよう にするために、いくつかのパーミッションを変更します。ディレクトリ /var/lock と /var/spool/fax は書き込み可能でなければなりません。書き込 み可能にするには、グループ faxusers を作成し、このグループにユーザを追 加し、以下のコマンドを実行します: ~# chown root.faxusers /var/lock ~# mkdir /var/spool/fax ~# chown root.faxusers /var/spool/fax; chmod g+w /var/spool/fax 4.10. Ghostscript この重要なツールは、ちょっとした障害の影響を受けます。アメリカ合衆国の 有名な輸出制限のため、pdf2ps は暗号化された .pdf ファイルに対して動作 しないのです。ですが心配することはありません: WWW ブラウザで に行き、 pdf_sec.ps を ダウンロードし、これを Ghostscript の配布に含まれている同名のファイル と差し替えてください。 4.11. TeX とその仲間たち teTeX を持っていると仮定します。 o 追加の LaTeX パッケージを近くの CTAN のミラーサイト (例えば )からダウンロードします。 (訳注: 日本のミラーは , , , 等です。お近くの サイトをご利用ください) このファイルを /usr/share/texmf/tex/latex に置いてから texhash を実 行し、新しいパッケージに teTeX に認識させます。 o ハイフンのパターンをあなたの国の言葉に合わせて設定したいなら、 /usr/share/texmf/tex/generic/config/language.dat ファイルを編集した 後、次のコマンドを実行します: ~# texconfig init ; texconfig hyphen o dvips を設定したいなら、 /usr/share/texmf/dvips/config/config.ps を 編集します。デフォルトの解像度を記述する欄は、同時に xdvi にも影響 を与えます。毎回フォント作成で苦労するなら、次の行を .Xdefault に入 れると良いでしょう: XDvi*mfmode: o サブディレクトリにある PostScript の図を文書に貼るには、TeX の検索 パスを拡張してサブディレクトリも含めなければなりません。以下のコマ ンドを .bash_profile に入れてください: export TEXINPUTS="$HOME/figures::./figures" これにより、TeX はデフォルトのディレクトリの前に $HOME/figures を検索 し、デフォルトのディレクトリの後に ./figures を検索します。 4.12. PPPで問題を起こさないために あなたのカーネルに、PPP と TCP/IP がサポートされており、 ループバック デバイスが使えるようになっていて、pppd パッケージが正しくインストール され、root に suid されているとします。もちろん、お使いのプロバイダが PPP をサポートしていなければなりません。 PPP を動かすには2つの方法があります。a) 手で設定する方法と、 b) 魔法の ように自動的に設定を行ってくれるプログラムを利用する方法です。どちらに しても、以下の情報は必要です: o プロバイダの電話番号 o プロバイダのネームサーバ、メールサーバ、ニュースサーバのアドレス o プロバイダのドメイン名 o ユーザ名とパスワード 手動での設定は厄介な作業です。厄介なのはファイルの編集やスクリプトの記 述の部分です。これは大した作業ではないのですが、間違いを起こしやすく、 多くの場合、初心者にはとっつきにくい作業です。PPP-HOWTO は用意されてい ますが、これ以外にも上の情報を尋ねてきて、後は自動でやってくれるツール があります。 Gnome と KDE にはそれぞれ gnome-ppp と kppp というツールが付属してお り、これを使って簡単に設定を行えます。これ以外にも、 2 つの tty ベース のツールをお勧めしておきます。 wvdial と eznet です。これらのプログラ ムに ISP の電話番号、あなたの名前、パスワードを与えれば PPP が使えま す。ホームページは です。どちらも良いツールですが、筆者は 後者のほうが好みです。 4.12.1. すぐ使える eznet まず最初に、以下のような /etc/resolv.conf を作成します: nameserver w.x.y.z ここには、あなたのプロバイダのネームサーバのアドレスを入力してくださ い。 eznetを用いてアカウントを作成するには、以下のコマンドを実行してく ださい: #~ eznet add service=YOUR_ISP user=NAME password=PASSWORD phone=PHONE これにより /var/eznet/eznet.conf が作成されます。所有者は root.root で パーミッションは 600 です。誰でも読めるようにしたければ、 666 に chmod してください。それから eznet up YOUR_ISP として ISP に電話をかけてくだ さい。電話がずっとダイアルトーンを待っていて接続しないようであれば、以 下のコマンドを試してください: #~ eznet change YOUR_ISP init0=atx3 電話を切るには eznet down コマンドを使います。たったこれだけです! 4.12.2. すぐ使える wvdial wvdialの設定はもっと早く終わります。 wvdialconf /etc/wvdial.conf を実 行し、これが出力するファイルを編集してユーザ名、パスワード、電話番号を 書き込みます。そして wvdial を試しに実行してから、十字を切って祈りま す。電話を切るには、Ctrl-C でプログラムを止めます。 4.13. POP クライアント POP サーバからメールを取り込むには、fetchpop や fetchmail などの POP クライアントを使います。後者の方が機能は優れていますが、sendmail が動 作している必要があります。これは性能の低いマシンでは、少し負担になりま す。どちらのソフトウェアも から入手できます。 これらのクライアントは以下のように設定します: o fetchpop: 最初に立ち上げた時に、いくつかの情報を尋ねてきます。これ に答えれば準備完了です。お使いの ISP の POP3 サーバが LAST コマンド を正しく実装していなければ、fetchpop には -r オプションを付けなけれ ばなりません。 o fetchmail: 以下に示す .fetchmailrc のサンプルを修正して使います: # $HOME/.fetchmailrc poll mbox.myisp.com with protocol pop3; user john there with password _Loo%ny is john here 2行目に ``smtphost localhost'' と入れると、性能が劇的に良くなると報告 されています。 chmod 660 .fetchmailrc としてファイルパーミションを設定してください。 設定をしないと fetchmail は起動を拒否します。上記の例は非常に基本的な ものです。設定の方法はいくらでもあります。 を見てください。 4.14. X ウィンドウシステム(XFree86) 4.14.1. X サーバの設定 さあ始めましょう。昔ほどは難しくありませんから…。全てのメジャーなディ ストリビューションには X11を設定 するためのツールが入っています (例え ば XConfigurator, sax, XF86Setup。少なくとも xf86configくらいは入って います)。最近では X の設定は事実上自動ですが、うまく行かないビデオカー ドもいくつかあるようです。私の場合、X の設定で問題が出たときには、必ず 動く単純な方法を使っています: o 標準の VGA サーバがインストールされていることを確認します。 o に行って、適当 な Linux のサブディレクトリに入ります。そこから X_version_bin.tgz, X_version_set.tgz と全てのサーバを持ってきます。他のプログラムと一 緒に、最初のアーカイブには最新版の SuperProve が入っています。 o X_version_bin.tgz を一時ディレクトリに解凍します。そのディレクトリ に移動して、./SuperProbe を実行します。あなたのビデオカードが認識さ れれば、設定できる可能性があります。認識されなければあきらめてくだ さい。 o サーバと X_version_set.tgz を /usr/X11R6/ からインストールし て、XF86Setup を実行します。 私の場合にはこれで今までうまく行っていますが、あなたの場合にはそうでな いかもしれません。X11 が起動しないのは多くの場合、モニタに対して選んだ スペックが高すぎる(!)ことが理由なのを覚えておいてください。最初は 800x600 ドット 256 色などの安全側に寄った設定から始め、そこから設定を 上げていきましょう。警告: これらの操作は危険であり、モニタを壊してしま うかもしれません。 4.14.2. テンキー これまで、いくつかの特殊キーを動作させるやり方をいくつか見てきました。 サンプルの .Xmodmap は Xjed ではちゃんと使えますが、テンキーは使えませ ん。下に示す .Xmodmap.num というもう一つの設定ファイルが必要です: ! Definitions can be found in keycode 77 = Num_Lock keycode 112 = KP_Divide keycode 63 = KP_Multiply keycode 82 = KP_Subtract keycode 86 = KP_Add keycode 79 = KP_7 keycode 80 = KP_8 keycode 81 = KP_9 keycode 83 = KP_4 keycode 84 = KP_5 keycode 85 = KP_6 keycode 87 = KP_1 keycode 88 = KP_2 keycode 89 = KP_3 keycode 90 = KP_0 keycode 91 = KP_Decimal /etc/X11/XF86Configに以下の 3 行がないことを確認してください: ServerNumLock Xleds XkbDisable もしあったら、コメントアウトしてください。テンキーを再び利用可能にする には、xmodmap .Xmodmap.num を実行してください。 4.14.3. xdm を使ったグラフィカルなログイン グラフィカルログインを使いたいなら、/etc/inittab を編集してください。 以下のような行があるはずです: x:5:respawn:/usr/bin/X11/xdm -nodaemon ここで、5 は X11 に対応するランレベルです(S.u.S.E の場合は 4 です)。デ フォルトランレベルの定義(通常 2 か 3)をこのランレベルに修正します: id:5:initdefault: 色数は /etc/X11/xdm/Xserver で指定されています: :0 local /usr/X11R6/bin/X :0 -bpp 16 vt07 # first X server, 65k colours :1 local /usr/X11R6/bin/X :1 -bpp 32 vt08 # second X server, true colour もし既に .xinitrc があるなら、.xsession にコピーし、 chmod +x .xsession として実行可能にしてください。ここで、telinit 5 を実行すれ ば、うまく動作するはずです。 4.14.4. ウィンドウマネージャ X が動くようになったら、その先の設定には無限の可能性があります。設定の 可能性は利用するウィンドウマネージャによります。選べるウィンドウマネー ジャは何十個もあります。多くの場合は、ホームディレクトリにある 1 つあ るいは複数の ASCII ファイルを編集することになります。場合によっては、 こういった編集の必要はなく、アプレットやメニューを使います。 例をいくつか挙げます: o fvwm 系: /etc/X11/fvwm/system.fvwmrc (もしくは同等のもの)を適当な名 前でホームディレクトリにコピーします。このファイルを眺めて、いろい ろ試してみましょう。好みの見た目や使い勝手にするにはかなり時間がか かります。 o WindowMaker: $HOME/GNUstep の下にいくつかの設定ファイルがあります。 また、カッコいい設定アプレットもあります。 o KDE と Gnome: 手動で編集するものはありません。全てメニューから設定 可能です。 まとめ: 設定ファイルの編集が苦でないなら icewm, fvwm*, blackbox など、 そうでないなら今のところは KDE や Gnome, WindowMaker, XFCE がよいで しょう。 更に、.xinitrc が適切であることも重要です。以下に例を示します: #!/bin/sh # $HOME/.xinitrc usermodmap=$HOME/.Xmodmap xmodmap $usermodmap xset s noblank # turn off the screen saver xset s 300 2 # screen saver start after 5 min xset m 10 5 # set mouse acceleration rxvt -cr green -ls -bg black -fg white -fn 7x14 \ -geometry 80x30+57+0 & if [ "$1" = "" ] ; then # default WINMGR=wmaker else WINMGR=$1 fi $WINMGR 絶対に必要なわけではありませんが、chmod +x .xinitrc として実行可能にし ておきます。 この.xinitrc でウィンドウマネージャが選択されます: $ startx startkde # or other w.m. (ただし、一部のバージョンの S.u.S.E では動作しません。) 4.14.5. X11 アプリケーションのデフォルト値 app-defaults ディレクトリがある場所を見つけてください(これは /usr/X11R6/lib/X11/app-defaults のはずです)。ここに設定ファイルがある アプリケーションがいくつかあります。 4.15. ユーザごとの設定 ``ソフトウェアの設定''の節でやったように、ドットファイルの編集が終った ら /etc/skel にコピーしてください。 4.16. .rpm の作成 rpm は、.tar.gz アーカイブからのインストールは面倒だけど、非常に特殊な ケース(例えばセキュリティ)に含まれるパッケージを管理する方法としてはと ても優れています。tar アーカイブをインストールする場合は、これを .rpm アーカイブに変換してからインストールすることを考慮しましょう。その方法 については RPM HOWTO をご覧ください。また、 egcs や pgcc といった最近 のバージョンの gcc を使う場合は、以下の設定を /etc/rpmrc に入れておく とよいかもしれません: optflags: i386 -O2 -mpentium 4.17. アップグレード マシンのアップグレードをする時には、通常通りのバックアップに加えて、い くつかのファイルを保存しておくようにしてください。 /etc/X11/XF86Config, /usr/bin/fax, /usr/local 内の全て、カーネルの設定 ファイル、 /etc 全部、/var/spool/mail 内の全てのメール等です。 それから、ディストリビューションの付属のアプリケーションのアップグレー ド (たまにダウングレードのことも!)やパッケージの追加を行います。扱った パッケージのリストは保存しましょう。 5. 設定用ソフトウェア Linux を簡単に設定できるプログラムがいくつかあります。そのうちのいくつ かはある種の標準になりつつあります。 RedHat, Caldera やその他のディス トリビューションでは setup, printtools, netcfg, usertool などのアプリ ケーションを、S.u.S.E は YAST という統合的な設定プログラムを自社のディ ストリビューションといっしょに出荷しています。その他の便利なプログラム を以下に示します: o Dotfile Generator: X 上のアプリケーションで, emacs, bash, procmail や他のアプリケーションを設定します。 に WWW ページがあります。 o Linuxconf: 究極の設定ツール。どんな設定もできますし、X とコンソール の両方で動作します。何はともあれ をご覧ください。 6. 最後に 6.1. 著作権 特に記述がなければ、Linux HOWTO 文書の著作権は著者にあります。 Linux HOWTO 文書は、全体でも一部分でも、どんな物理的/電子的メディアにも、こ の著作権表示をつけることによってコピーしたり配布したりすることができま す。商用配布も許されており、推奨されていますが、著者はそのような配布に ついて告知を望むでしょう。 Linux HOWTOドキュメントの翻訳や派生文書、編集も、この著作権告知文書に よって著作権が保護されます。つまりHOWTOからの派生文書の配布に追加的な 制限を加えてはなりません。この規則の例外が認められる場合もありますの で、Linux HOWTO のまとめ役に下記のアドレスでコンタクトしてください。 簡単に言えば、我々はこの情報ができるだけ多くの方法で配布されることを望 んでいます。しかしながら、我々はHOWTOドキュメントの著作権が守ら れ、HOWTOsの再配布に当たって告知されることを望んでいます。 もし疑問があったら、Linux HOWTO のまとめ役である Tim Bynum に電子メールで連絡してください。 6.2. フィードバック おそらく他の HOWTO よりもこの HOWTO はあなたからの提案、批判、貢献を必 要としています。フィードバックは単に歓迎されるのでなく、必須です。足り ない部分や間違っている部分があると思ったらどうぞ私にメールしてくださ い。あなたのディストリビューションが Red Hat や Mandrake ではなく、設 定ファイルが異なっていたり、違うディレクトリに置かれている場合には、ど うぞ教えてください。それを加えていきます。私の目的は Linux のある生活 をできるだけ容易にすることにあります。 Linux には数多くのパッケージがありますから、すべての操作法を含めるのは 不可能です。どうか要求や提案は「もっとも普通の」プログラムに関するもの に限ってください。それはあなたの常識に基づくものです。 6.3. 免責事項 Configuration HOWTO は Guido Gonzato (``REMOVE_ME'' の部分は消し てください)が執筆しました。筆者が厚かましくも内容をちょろまかしてきた 他の HOWTO や man ページの著者や管理者の皆さんに深く感謝します。 この文書は「あるがまま(as is)」の形で提供します。できるだけ正確である よう心がけましたが、この情報を用いるかどうかはあなた自身の責任です。そ の結果として何が起きようと筆者は責任を負いません。 とは言え、この文章は役立つと感じてもらえると思います。筆者自身、新しく インストールする時に行っていることですから…。 それではお楽しみください。 Guido =8-) 7. 日本語訳について この文書の日本語訳は Linux Japanese FAQ Project が行いました。誤訳の指 摘やご意見などは、当プロジェクト 宛にお願いします。 改定履歴を以下に示します。 v1.2.2j, 11 January 1999 翻訳: 遠藤 明 (akendo@t3.rim.or.jp) 校正: 長谷川 靖 (yaz-hase@qb3.so-net.ne.jp) v1.2.6j, 15 September 1999 更新: 中園 祐司 (nakazono@bh.mbn.or.jp) 校正: 藤原 輝嘉 (fujiwara@linux.or.jp), 武井 伸光 (takei@cc.kochi-u.ac.jp) v1.3.7j, 2 December 1999 更新: 藤原 輝嘉(fujiwara@linux.or.jp) 校正: 武井 伸光 (takei@cc.kochi-u.ac.jp)