WiNG LABORATORY - So-net

Linux
Personal
Workstation
Linux パーソナルワークステーション Rel 1.5
Hideya Hane
1
はじめに
Linux は、UNIX 互換の自由に利用できる OS です。ほんの数年前まで、この Linux
はニッチなコンピュータマニアの OS というものでした。それが現在では、Windows の
対抗馬と言われる等、非常にメジャーな存在となりました。しかし世間一般では、サーバ
用途の OS といった見方が多数となり、筆者は少々残念に思っています。
実際のところ、Linux は決してサーバ用途に特化した OS ではありません。GUI 環境
やプログラミング環境が整っている等、色々なソフトウェアが用意されています。ただ、
単にワープロ等が使えれば良いと言う人には、あまり Linux は向かないかも知れません。
相変わらずマニア向けとは言いませんが、コンピュータを積極的に使いこなしたい人向け
と言えます。しかし Linux に興味が湧いて来ても、Windows のようにプリインストール
された OS しか知らない人にとって、Linux を使用するにはインストールからはじめる必
要がある上、Windows とは異なる概念や操作性が入門するための敷居を高くしているの
は事実でしょう。
こういった背景から、本書は Linux の基本的な部分を理解することを目的としていま
す。言い替えれば、シンプルな UNIX として Linux を使いたいユーザ向けとも言えま
す。よって、主に Linux を使用する時に必要な基礎知識を、順に解説していきます。これ
は、どのような用途で使うにしろ、基礎知識が Linux を使いこなす上で重要だからです。
ただし、あまり深い部分までは追求せず、必要最低限の部分を主に取り上げています。ま
た本書は、ある程度流れを考えて書かれていますので、まず最後まで一読し、その後でコ
ンピュータに向い実際に使用することをお勧めします。
3
目次
第 I 部 Linux の基礎知識
第1章
1.1
1.2
UNIX とは
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
15
1.1.1
コンピュータの構成 . . . . . . . . . . . . . . . . . . . . . . . . .
15
1.1.2
1.1.3
OS の役割と働き . . . . . . . . . . . . . . . . . . . . . . . . . .
OS の位置付け . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
16
UNIX という OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
コンピュータと OS
. . . . . . . . . . . . . . . . . . . . . . . . . . .
17
1.2.2 UNIX の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UNIX の主な特徴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
18
1.3.1
UNIX のメリット . . . . . . . . . . . . . . . . . . . . . . . . . .
18
1.3.2
1.3.3
UNIX のデメリット . . . . . . . . . . . . . . . . . . . . . . . . .
マルチユーザ・マルチタスク . . . . . . . . . . . . . . . . . . . .
20
21
フリー UNIX とは . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
フリー UNIX の登場 . . . . . . . . . . . . . . . . . . . . . . . .
23
23
1.2.1
1.3
1.4
1.4.1
1.4.2
第2章
2.1
2.3
いろいろな OS
フリー UNIX の種類 . . . . . . . . . . . . . . . . . . . . . . . .
Linux とは
25
Linux という OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Linux の特徴 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
25
Linux の対象ユーザ . . . . . . . . . . . . . . . . . . . . . . . . .
26
ディストリビューション . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2
2.2
13
2.2.1
ディストリビューションとは . . . . . . . . . . . . . . . . . . . .
26
26
2.2.2
ディストリビューションの種類 . . . . . . . . . . . . . . . . . . .
27
2.2.3
ディストリビューションの選択 . . . . . . . . . . . . . . . . . . .
28
動作に必要な物 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1
ハードウェア . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
29
2.3.2
ソフトウェア . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
4
目次
第 II 部 Vine Linux のインストール
第3章
3.1
インストールの前に
第4章
4.1
4.2
第5章
5.1
39
OS のインストールとは . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 インストールの仕組 . . . . . . . . . . . . . . . . . . . . . . . . .
39
39
専用パーティション . . . . . . . . . . . . . . . . . . . . . . . . .
40
インストールの手順 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
41
3.1.2
3.2
3.3
37
インストールの準備 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1
インストールする PC の構成 . . . . . . . . . . . . . . . . . . . .
41
3.3.2
3.3.3
HDD の状態確認 . . . . . . . . . . . . . . . . . . . . . . . . . .
ネットワーク環境 . . . . . . . . . . . . . . . . . . . . . . . . . .
41
43
3.3.4
インストーラの起動方法
. . . . . . . . . . . . . . . . . . . . . .
44
インストールの開始 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
47
4.1.1
起動デバイスの設定 . . . . . . . . . . . . . . . . . . . . . . . . .
47
4.1.2
インストーラのモード選択 . . . . . . . . . . . . . . . . . . . . .
47
48
インストール
インストーラの起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1
言語の選択 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
4.2.2
キーボードの設定 . . . . . . . . . . . . . . . . . . . . . . . . . .
50
4.2.3
4.2.4
マウスの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
52
4.2.5
パーティションの作成 . . . . . . . . . . . . . . . . . . . . . . . .
53
4.2.6
4.2.7
ブートローダの設定 . . . . . . . . . . . . . . . . . . . . . . . . .
ネットワークの設定 . . . . . . . . . . . . . . . . . . . . . . . . .
58
59
4.2.8
インストールの種類 . . . . . . . . . . . . . . . . . . . . . . . . .
タイムゾーンの選択 . . . . . . . . . . . . . . . . . . . . . . . . .
60
4.2.9 アカウントの設定 . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.10 グラフィカルインターフェイス (X) の設定 . . . . . . . . . . . . .
61
63
4.2.11 インストール準備完了 . . . . . . . . . . . . . . . . . . . . . . . .
64
4.2.12 パッケージのインストール . . . . . . . . . . . . . . . . . . . . .
4.2.13 モニタの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
66
4.2.14 X 設定のカスタマイズ . . . . . . . . . . . . . . . . . . . . . . .
67
4.2.15 インストールの完了 . . . . . . . . . . . . . . . . . . . . . . . . .
68
Linux の起動と終了
69
Linux の起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
5.1.1
5.1.2
起動 OS の選択 . . . . . . . . . . . . . . . . . . . . . . . . . . .
マルチプロセッサ/Hyper Thread . . . . . . . . . . . . . . . . .
70
70
5.1.3
Linux が起動しなかった場合 . . . . . . . . . . . . . . . . . . . .
70
5
5.2
5.3
第 III 部
第6章
6.1
6.2
第7章
7.1
7.2
ログインとログアウト . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
5.2.1
ログイン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
5.2.2
5.2.3
ログアウト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
コンソール画面にならない場合 . . . . . . . . . . . . . . . . . . .
72
72
Linux の終了 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
5.3.1
シャットダウンの目的 . . . . . . . . . . . . . . . . . . . . . . . .
73
5.3.2
シャットダウンの方法 . . . . . . . . . . . . . . . . . . . . . . . .
73
基本操作
75
コマンド➀
77
コマンドの実行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
6.1.1
6.1.2
コマンドラインインターフェイス . . . . . . . . . . . . . . . . . .
コマンド実行の基本 . . . . . . . . . . . . . . . . . . . . . . . . .
77
78
6.1.3
コンソールにおける日本語表示 . . . . . . . . . . . . . . . . . . .
79
6.1.4
man コマンドの活用 . . . . . . . . . . . . . . . . . . . . . . . . .
ファイル関連コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
81
. . . . . . . . . . . . . . . . . . . . . .
81
6.2.1
ディレクトリとファイル
6.2.2
ワイルドカード . . . . . . . . . . . . . . . . . . . . . . . . . . .
82
6.2.3
6.2.4
ファイル操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
テキストファイルの内容表示 . . . . . . . . . . . . . . . . . . . .
83
92
6.2.5
ファイルのオーナと属性
. . . . . . . . . . . . . . . . . . . . . .
94
6.2.6
6.2.7
リンク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
96
97
6.2.8
ファイル検索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.2.9
フィルタ関連コマンド . . . . . . . . . . . . . . . . . . . . . . . . 103
アーカイバ関連 . . . . . . . . . . . . . . . . . . . . . . . . . . .
テキストエディタ
111
Vi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.1
7.1.2
Vi の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
起動と終了 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.1.3
基本操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.2.1 Emacs とは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
. . . . . . . . . . . . . . . . . . . . . . . . . 115
7.2.2
Emacs の動作環境
7.2.3
キー操作の表記 . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
7.2.4
7.2.5
起動と終了 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
基本操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6
目次
第8章
8.1
8.2
8.3
8.4
8.5
コマンド➁
119
コマンド実行の仕組 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
8.1.1
8.1.2
内部コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
8.1.3
実行パス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
外部コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
リダイレクションとパイプ . . . . . . . . . . . . . . . . . . . . . . . . . 121
8.2.1
8.2.2
リダイレクション . . . . . . . . . . . . . . . . . . . . . . . . . . 122
8.2.3
コマンドの連続実行と実行順序 . . . . . . . . . . . . . . . . . . . 125
パイプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
プロセス関連コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
8.3.1
プロセスの表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
8.3.2
プロセスの制御 . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
シェルのカスタマイズ . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
8.4.1
変数の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
8.4.2
別名の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
便利なコマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
8.5.1
8.5.2
ユーザ切替 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
コマンド出力の保存 . . . . . . . . . . . . . . . . . . . . . . . . . 131
第 IV 部 X Window System
133
第9章
135
9.1
X Window System の基礎知識
X Window System とは . . . . . . . . . . . . . . . . . . . . . . . . . . 135
9.1.1 X Window System の概要 . . . . . . . . . . . . . . . . . . . . . 135
9.1.2
9.2
第 10 章
10.1
Linux と X Window System . . . . . . . . . . . . . . . . . . . . 136
X Window System の特徴 . . . . . . . . . . . . . . . . . . . . . . . . 136
9.2.1 高い自由度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
9.2.2
ネットワーク対応 . . . . . . . . . . . . . . . . . . . . . . . . . . 137
9.2.3
開発環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
X Window System の基本操作
139
X Window System の起動と終了 . . . . . . . . . . . . . . . . . . . . . 139
10.1.1 利用可能な GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
10.1.2 コンソールからの起動と終了 . . . . . . . . . . . . . . . . . . . . 140
10.1.3 電源投入後の自動起動∼グラフィカルログイン∼ . . . . . . . . . 143
10.2
GNOME の基本操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
10.2.1 コマンド・ソフトウェアの実行 . . . . . . . . . . . . . . . . . . . 146
10.2.2 GNOME のウィンドウ操作 . . . . . . . . . . . . . . . . . . . . . 148
7
10.3
日本語環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
10.3.1 日本語対応とは . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
10.3.2 日本語入力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
10.3.3 日本語入力システムの切替え . . . . . . . . . . . . . . . . . . . . 153
第 V 部 ハードウェアの使用方法
155
第 11 章
157
11.1
Linux とハードウェア
ハードウェアの使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . 157
11.1.1 スペシャルファイルとは . . . . . . . . . . . . . . . . . . . . . . 157
11.1.2 スペシャルファイルの使用方法 . . . . . . . . . . . . . . . . . . . 158
11.2
ハードウェアとデバイスドライバ . . . . . . . . . . . . . . . . . . . . . 158
11.2.1 デバイスドライバの必要性 . . . . . . . . . . . . . . . . . . . . . 158
11.2.2 デバイスドライバの組込 . . . . . . . . . . . . . . . . . . . . . . 159
第 12 章
12.1
補助記憶装置
161
補助記憶装置とマウント . . . . . . . . . . . . . . . . . . . . . . . . . . 161
12.1.1 マウントとファイルシステム . . . . . . . . . . . . . . . . . . . . 161
12.1.2 ファイルシステムの種類と構築 . . . . . . . . . . . . . . . . . . . 162
12.1.3 マウント方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
12.1.4 Linux 起動時のマウント . . . . . . . . . . . . . . . . . . . . . . 164
12.2
HDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
12.2.1 HDD の増設 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
12.2.2 Windows パーティションのマウント . . . . . . . . . . . . . . . . 169
12.3
CD-ROM DVD-ROM ドライブ
. . . . . . . . . . . . . . . . . . . . . 171
12.3.1 マウントによる使用 . . . . . . . . . . . . . . . . . . . . . . . . . 172
12.4
12.3.2 GNOME における使用方法 . . . . . . . . . . . . . . . . . . . . . 173
CD-R/RW DVD-R/RW/RAM ドライブ . . . . . . . . . . . . . . . . . 174
12.4.1 接続ドライブの認識 . . . . . . . . . . . . . . . . . . . . . . . . . 174
12.4.2 書き込み方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
12.4.3 CD-RW に関する補足 . . . . . . . . . . . . . . . . . . . . . . . 180
12.4.4 DVD-R/RW に関する補足 . . . . . . . . . . . . . . . . . . . . . 180
12.4.5 DVD-RAM ドライブと UDF フォーマット . . . . . . . . . . . . 180
12.4.6 X Window System 上からの使用 . . . . . . . . . . . . . . . . . 181
12.5
フロッピーディスクドライブ
. . . . . . . . . . . . . . . . . . . . . . . 182
12.5.1 マウントによる使用 . . . . . . . . . . . . . . . . . . . . . . . . . 182
12.5.2 tar コマンドによる使用 . . . . . . . . . . . . . . . . . . . . . . 184
12.5.3 mtools による使用 . . . . . . . . . . . . . . . . . . . . . . . . . 184
8
目次
12.5.4 GNOME における使用方法 . . . . . . . . . . . . . . . . . . . . . 185
12.6
MO(光磁気) ディスクドライブ . . . . . . . . . . . . . . . . . . . . . . 186
12.6.1 MO ディスクドライブの認識 . . . . . . . . . . . . . . . . . . . . 186
12.6.2 使用可能メディアとファイルシステム . . . . . . . . . . . . . . . 187
12.6.3 マウントによる使用 . . . . . . . . . . . . . . . . . . . . . . . . . 187
12.7
USB 接続機器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
12.7.1 murasaki による自動認識 . . . . . . . . . . . . . . . . . . . . . 189
12.7.2 補助記憶装置毎の使用方法 . . . . . . . . . . . . . . . . . . . . . 189
第 13 章
13.1
ビデオカード
191
コンソールでの日本語表示 . . . . . . . . . . . . . . . . . . . . . . . . . 191
13.1.1 日本語表示の仕組 . . . . . . . . . . . . . . . . . . . . . . . . . . 191
13.1.2 日本語表示の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . 192
13.2
13.1.3 Linux 起動時からの表示 . . . . . . . . . . . . . . . . . . . . . . 193
インストール後の X Window System 設定 . . . . . . . . . . . . . . . . 194
13.2.1 設定内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
13.2.2 Xconfigurator による設定 . . . . . . . . . . . . . . . . . . . . 194
第 14 章
14.1
キーボード・マウス
199
キーボード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
14.1.1 キーボードの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . 199
14.1.2 コンソールと X Window System . . . . . . . . . . . . . . . . . 200
14.2
マウス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
14.2.1 マウスの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
14.2.2 複数のマウス使用 . . . . . . . . . . . . . . . . . . . . . . . . . . 202
第 15 章
15.1
プリンタ
203
印刷の仕組 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
15.1.1 プリンタスプーラの役割 . . . . . . . . . . . . . . . . . . . . . . 203
15.1.2 プリンタスプーラの種類 . . . . . . . . . . . . . . . . . . . . . . 204
15.2
CUPS の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
15.2.1 コマンドによる設定 . . . . . . . . . . . . . . . . . . . . . . . . . 205
15.2.2 Web ブラウザによる設定 . . . . . . . . . . . . . . . . . . . . . . 208
15.2.3 基本的な印刷関連コマンド . . . . . . . . . . . . . . . . . . . . . 210
第 VI 部 ネットワーク
213
第 16 章
215
16.1
Linux とネットワーク
ネットワークの基礎知識 . . . . . . . . . . . . . . . . . . . . . . . . . . 215
9
16.1.1 ネットワーク構築の前に . . . . . . . . . . . . . . . . . . . . . . 215
16.1.2 Linux におけるネットワークとは . . . . . . . . . . . . . . . . . . 215
16.2
16.1.3 TCP/IP の基礎 . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
ネットワークのハードウェア設定 . . . . . . . . . . . . . . . . . . . . . 219
16.2.1 IP アドレスとインターフェイス . . . . . . . . . . . . . . . . . . 219
16.2.2 NIC の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
第 17 章
17.1
LAN 接続
221
LAN の構築 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
17.1.1 機材 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
17.1.2 IP アドレスの割り当て . . . . . . . . . . . . . . . . . . . . . . . 222
17.2
ネットワークの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
17.2.1 基本設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
17.2.2 設定の確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
17.2.3 hosts 名前解決 . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
17.3
LAN アプリケーション . . . . . . . . . . . . . . . . . . . . . . . . . . 230
17.3.1 リモートログイン . . . . . . . . . . . . . . . . . . . . . . . . . . 230
17.3.2 ファイル転送 ➀ scp . . . . . . . . . . . . . . . . . . . . . . . . 234
17.3.3 ファイル転送 ➁ ftp
. . . . . . . . . . . . . . . . . . . . . . . . 235
17.3.4 リモートプリンタ . . . . . . . . . . . . . . . . . . . . . . . . . . 238
第 18 章
18.1
インターネット接続
241
回線の種類と接続方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
18.1.1 回線の種類 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
18.1.2 接続方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
18.1.3 ルータの役割 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
18.2
接続設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
18.2.1 ブロードバンドルータの設定確認 . . . . . . . . . . . . . . . . . . 244
18.2.2 インターネット接続の設定 . . . . . . . . . . . . . . . . . . . . . 244
18.3
インターネットアプリケーション . . . . . . . . . . . . . . . . . . . . . 246
18.3.1 Web ブラウザ ➀ mozilla . . . . . . . . . . . . . . . . . . . . . 246
18.3.2 Web ブラウザ ➁ w3m . . . . . . . . . . . . . . . . . . . . . . . . 248
18.3.3 電子メール ➀ sylpheed . . . . . . . . . . . . . . . . . . . . . . 249
18.3.4 電子メール ➁ mew . . . . . . . . . . . . . . . . . . . . . . . . . . 252
18.3.5 インスタントメッセンジャー . . . . . . . . . . . . . . . . . . . . 255
18.3.6 起動と設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
18.4
18.3.7 基本操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
その他接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
10
目次
18.4.1 ADSL モデム . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
18.4.2 アナログモデム/TA . . . . . . . . . . . . . . . . . . . . . . . . . 258
第 VII 部 システム管理
261
第 19 章
263
19.1
一般の管理
ユーザ・グループ管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
19.1.1 ユーザの作成と削除 . . . . . . . . . . . . . . . . . . . . . . . . . 263
19.1.2 グループの作成と削除 . . . . . . . . . . . . . . . . . . . . . . . . 265
19.2
19.1.3 ユーザ情報の変更 . . . . . . . . . . . . . . . . . . . . . . . . . . 266
デーモン等の起動と停止 . . . . . . . . . . . . . . . . . . . . . . . . . . 268
19.2.1 デーモンの種類 . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
19.2.2 手動による起動と停止 . . . . . . . . . . . . . . . . . . . . . . . . 268
19.2.3 自動起動の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
19.3
ディレクトリ構造
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
19.3.1 各ディレクトリの必要性 . . . . . . . . . . . . . . . . . . . . . . 271
19.3.2 Linux のディレクトリ構造 . . . . . . . . . . . . . . . . . . . . . 272
第 20 章
20.1
パッケージ管理
275
rpm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
20.1.1 rpm によるパッケージ管理 . . . . . . . . . . . . . . . . . . . . . 275
20.1.2 使用可能な rpm パッケージ
. . . . . . . . . . . . . . . . . . . . 276
20.1.3 rpm の使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
20.1.4 パッケージの再構築 (rebuild) . . . . . . . . . . . . . . . . . . . . 280
20.2
apt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
20.2.1 rpm と apt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
20.2.2 apt の使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
20.2.3 カーネルの更新 . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
第 VIII 部 付録
291
付録 A
293
色々な GUI 環境
A.1
A.2
GUI の切替 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Window Maker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
A.3
KDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
A.4
XFce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
付録 B
OpenOffice.org
297
11
B.1
概要とインストール方法 . . . . . . . . . . . . . . . . . . . . . . . . . . 297
B.2
ワードプロセッサ
B.3
B.4
表計算ツール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
B.5
プレゼンテーションツール . . . . . . . . . . . . . . . . . . . . . . . . . 301
付録 C
C.1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
図形描画ツール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Tips
303
コンソールにおける日本語入力 . . . . . . . . . . . . . . . . . . . . . . 303
C.2
サウンドカードの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
C.3
C.4
TEX の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
ソースコードからのインストール . . . . . . . . . . . . . . . . . . . . . 307
付録 D
D.1
D.2
付録 E
E.1
E.2
わからなくなったら
311
質問する前に . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
質問の仕方 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Linux の関連情報
315
参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
第I部
Linux の基礎知識
15
第1章
UNIX とは
この章では、OS の基本からはじめ、Linux のお手本となった UNIX という OS につ
いて説明します。Linux も UNIX の大部分の特徴を引き継いでいるので、UNIX を知る
ことはとても重要です。
1.1
コンピュータと OS
まず最初に、OS(Operating System) について説明しましょう。OS と言う言葉を聞い
たことがあっても、その実態を知らない人もいるのではないでしょうか。
1.1.1
コンピュータの構成
普段あまり意識することは無いかも知れませんが、コンピュータは大きく二つの部分か
ら構成されています。一つは機械からなるハードウェア、もう一つは数値データからなる
ソフトウェアです。
ハードウェアは、キーボード、マウス、モニターディスプレイ等の機械部品をさします。
ソフトウェアは、文字や数値からなるデータや、コンピュータに命令を与えるプログラム
から構成されます。データもプログラムも、コンピュータから見れば数値の集合に過ぎま
せん。
ソフトウェアは、コンピュータ内部に装着された HDD(ハードディスクドライブ) 等の
補助記憶装置に記録 (保存) されていて、必要に応じてメモリ (主記憶装置) に読み込まれ
て使用されます。よって、ソフトウェアは、ハードウェアの内部で動作しているものと言
えます。
1.1.2
OS の役割と働き
ところで、最近の Windows パソコンや Macintosh 等の多くは、梱包された箱を開け
て設置し、電源を入れればすぐに使うことができます。例えば Windows XP なら、左下
のスタートボタンから順番にクリックしていけば、ワードプロセッサや表計算ソフトウェ
16
第 1 章 UNIX とは
ア等が起動します。ですから、パソコンとは「箱を開ければすぐに使えるものだ」と思っ
ている人も居ることでしょう。しかし、少し考えてみてください。ソフトウェアを起動す
るためにクリックしたスタートボタンは、何故使うことができたのでしょうか。実は、こ
の部分は OS というソフトウェアによって機能が提供されていたのです。
それでは、この OS とはどう言ったものなのでしょうか。OS が持つ多くの役割のう
ち、とても重要なものの一つに、コンピュータとユーザとの仲介を行うというものがあり
ます。ここで言う仲介とは、ワードプロセッサ等のソフトウェアを OS の管理下で起動す
る仕組み等、コンピュータを使うための基本的な機能をユーザやユーザが使用するソフト
ウェアに提供することをさします。ですから、Operating System と言う名前があるわけ
です。
OS は、機能の中心でありハードウェアの資源やソフトウェアの実行を管理するカーネ
ル、各種ハードウェアを利用するためのドライバソフトウェア、そして沢山のソフトウェ
ア群から構成されています。前述のように、OS はコンピュータに組み込まれて販売され
ていることが殆どなので、あまり存在を意識することは無かったわけです。しかし、OS
がコンピュータとユーザとの仲介をしている以上、OS によってユーザがコンピュータを
使用する方法も変わって来ます から、非常に重要な役割を受け持っているわけです。
1.1.3
OS の位置付け
OS が、ある種類のコンピュータにおいては、一つしか無いと思っている人もいるので
はないでしょうか。先に述べたように、OS もソフトウェアですから HDD 等に記録され
ています。よって、他の OS に入れ換えたり、追加することができます。ただし追加す
*2
る場合は、専用のパーティション*1 が必要な OS もあります。
また、OS の管理下で動作するワードプロセッサ等のアプリケーションソフトウェアと
は異なり、管理する側のシステムソフトウェアである OS は複数を同時に動かすことはで
きません。*3 例えば、Linux と Windows XP を同時に動かすことはできないわけです。
ですから、新たに OS を使用するためには、少し複雑な手順でインストールをする必要が
あります。
1.2
UNIX という OS
OS は一つでないと述べました。そこで次に、現在良く使用される主な OS の種類と、
その中で Linux のお手本となった UNIX について説明します。
*1
*2
*3
HDD を論理的に分割した各々を、パーティションといいます。
Linux のインストールにも、専用パーティションが必要です。
VMware や Virtual PC 等の仮想マシンや coLinux を使用すれば可能ですが、これらは例外的です。
1.2 UNIX という OS
1.2.1
17
いろいろな OS
OS は、パソコンに限らず多くのコンピュータで利用されていて、多くの種類がありま
す。例えば、Windows PC こと PC/AT 互換機*4 で利用できる OS には、Windows シ
リーズだけでなく、これから解説する Linux をはじめ FreeBSD や NetBSD 等がありま
す。ただ、中には NeXT STEP や BeOS 等のように消えてしまった OS もあります。
ところで OS は、その種類により色々な特徴があります。例えば、同時に利用できる
ユーザ数、同時に動作するソフトウェア数、ユーザとの対話方法 (ユーザインターフェイ
ス) 等、OS の種類により異なる部分は多く存在します。
ここで出て来た UNIX とは、Linux のお手本になったものとも言える OS なのです。
次に、この UNIX について説明しましょう。
1.2.2
UNIX の概要
Linux のお手本になったものとも言えるものが UNIX であると述べました。実際に
Linux は、UNIX の多くの良い部分を持っていて、ほぼ同様に使用することができます。
では UNIX とは一体どのような OS なのでしょうか。一言で言えば、UNIX はマルチ
ユーザ・マルチタスクの OS です。つまり、同時に複数のユーザが利用 (マルチユーザ)
でき、同時に複数のソフトウェアを実行する (マルチタスク) ことができます。これだけ
見ると Windows 2000 や XP 等と同じですが、狭義の UNIX は絵や図形等を操作して
ユーザと対話する GUI(Graphical User Interface) の機能を持っていませんので、GUI
を利用する時は別途 X Window System というソフトウェアを利用します。つまり、
UNIX の基本は文字を操作してユーザと対話する CUI(Character User Interface) とな
ります。
ところで、
「UNIX は主にサーバ*5 向けソフトウェアを動作させる OS である」という
のを目にしたことがあるでしょうか。確かに UNIX 系 OS は、サーバとして稼働してい
るコンピュータのほうが多いかもしれません。しかし、だからといってクライアント*6 に
使えないわけではありません。サーバになるかクライアントになるかは、どういったソフ
トウェアを動かすかで決まります。*7 UNIX 系 OS 向けにも、Web ブラウザ、メーラ、
ドロー系、ペイント系等の多くの (クライアント) ソフトウェアが用意されています。で
すから UNIX 系 OS は、ユーザが動かすソフトウェア次第でサーバとクライアントのど
ちらにでもなれるということを覚えておいて下さい。
また、UNIX は昔々ベル研究所で生まれ…、と言うような話はどこにでもあるのでここ
*4
かつて IBM 社製 PC/AT というパソコンがあり、それを元に機能拡張されたパソコン。ただし、オリ
ジナルのままの部分は殆ど存在しない。
*5 他のコンピュータにサービスを提供するコンピュータのこと。
*6 サーバからサービスを受け取るソフトウェアのこと。
*7 筆者は、UNIX 系 OS は臨機応変にサーバやクライアントになれるのが美点であると考えています。
18
第 1 章 UNIX とは
では説明しませんが、UNIX には System V と BSD と言う大きく分けて二つの流派
があることは覚えておくと良いでしょう。両者には、コマンドのオプションや仕様等、微
妙に異なる部分があります。簡単に System V と BSD の生い立ちを説明すると、次のよ
うになります。
• System V
最初の開発元であるベル研究所から続く血統で、現在のバージョンは SVR4.2
(System V Release 4.2) となっています。現在多くの商用 UNIX のベースが
SVR4 や SVR4.2 となっています。
• BSD
ベル研究所から配付された UNIX のソースコードをもとに、カリフォルニア大
学バークレイ校で改良されたものです。現在 4.4BSD と言うバージョンがリリー
スされています。なお、4.2BSD の機能の大半は、SVR4 に吸収されています。
UNIX の主な特徴
1.3
ここでは、UNIX のメリット・デメリット等の主な特徴を説明します。ただし、ここで
述べるメリットやデメリットは主観的なものなので、異なる意見も存在することに注意し
て下さい。
1.3.1
UNIX のメリット
さて、UNIX を使用するメリットとデメリットは、一体何でしょうか。以前は、マルチ
ユーザ・マルチタスクであるということは大きなメリットでした。しかし、Windows NT
の登場以降は、このことはあまり目立たなくなりました。また、LAN*8 に接続されない場
合、マルチユーザのメリットを感じにくいかもしれません。
すると、場合によっては「メリットなんて無いじゃないか」と言われそうですが、メ
リットはそれだけではありません。UNIX を推奨するのは、次のような理由があります。
さらに、これらの理由から UNIX を利用するユーザ像も見えて来ると思います。
• 優れたユーザインターフェイス
一番基本的なユーザインターフェイスであるシェル (shell)*9 の機能は、Windows
の MS-DOS プロンプト等と比較にならないほど豊富です。UNIX で使用できる
シェルにはいくつか種類がありますが、例えば bash と言うシェルでは、コマンド
ライン編集、ヒストリー機能、ファイル名補完機能*10 等、極めて高機能な CUI が
*8
*9
*10
Local Area Network、狭い範囲で構築されたネットワーク。
コマンドラインインターフェイスを提供する部分。詳しくは後の章で説明します。
キー入力を補助してタイピングの量を減らせる機能。
1.3 UNIX の主な特徴
19
備わっています。
• X Window System*11
UNIX 系の OS で一般的な、高機能かつネットワーク透過の X Window System
が使用できます。一般に UNIX 系の OS では、GUI の機能を X Window System
に依存しています。このウィンドウシステムは、外見でも X 上のアプリケーショ
ンの実行でも素晴らしい柔軟性があります。ネットワーク透過とは、ネットワーク
越しに X Window System 用のソフトウェアが使用できることを意味します。
また、Windows のように定型の GUI ではなく、ユーザ毎に自由に選択 (カスタ
マイズ) できます。このことを無節操でまとまりが無いと感じるか、自由度が高く
て良いと感じるかで、UNIX に対する適性がわかるかもしれません。
• 開発環境の充実
UNIX とは切っても切れない C 言語をはじめ、C++, FORTRAN, Pascal,
BASIC 等の様々な開発言語が使用できます。その他にも awk や perl 等のスクリ
プト言語も使用可能です。言語以外にも、gtk+ や Qt 等のグラフィックライブラ
リ等が沢山あります。
このように選択の幅が広いことは、研究者等にも適しています。いま述べたもの
以外にも、実験的に作成された面白そうな言語も多くあります。
• 充実のフリーソフトウェア
前述の X Window System や開発環境も、殆どはフリーソフトウェアでまかな
うことが可能です。特に、C 言語は GNU が開発した GCC が、事実上の標準と
なっていると言って良いでしょう。余談ですが、GNU とは FSF(Free Software
Foundation) がすすめる UNIX ライクなソフトウェア群の開発プロジェクトのこ
とで、自由な使用が保証されたコンピュータソフトウェアを提供しています。
開発環境以外にも、ペイントやドロー系のソフトウェア、かな漢字変換システ
ム、エディタ等、大抵のものはフリーソフトウェアで入手できます。
さらに、これから説明する Linux 等のように、OS そのものまでフリーソフト
ウェアとして入手できることもあります。
• コンピュータ教育に最適
設計が素直な UNIX は、教育にも適しています。また、多くの UNIX 向けフ
リーソフトウェアはソースも公開されていますので、これらを参考にプログラミン
グの技術を学習することもできます。やはり、ソースと言うのは一番のテキストと
言えるのです。また、前述の開発環境の良さも、これに有利に働くでしょう。
• 障害に強い
*11
詳しくは後の章で説明します。
20
第 1 章 UNIX とは
異論がある人がいるかも知れませんが、UNIX は障害に強い OS です。Windows
では、実行中の一つのソフトウェアが異常終了した場合、Windows そのものが不
安定になったり、Windows そのものを道連れに異常終了する場合がありますが、
UNIX ではそのようなことは、あまりありません。Windows と比較した場合には
明らかに少ないです。
もちろん UNIX だからといって、物理的な障害に強いわけではありません。し
かし、バックアップは Windows 等に比べてやりやすいので、万が一の障害時にも
復旧は比較的容易です。これは、必要な設定ファイル等が、明確になっていること
も理由の一つです。
1.3.2
UNIX のデメリット
メリットについては前節で述べましたが、デメリットは無いのでしょうか。UNIX を他
、
「こうだったら良いのにな」と言う点
の OS と比較すると、次のようなことが「困った」
としてあげられるでしょう。
• システム管理がやや大変
一概に比較できませんが、Windows に比べてシステムの設定ファイルが多くあ
ります。これは、システム設定の多くを Windows のようにレジストリとして持つ
のでなく、テキストファイルとして持つからです。これを設定ファイル等といいま
す。これら設定ファイルの位置等はきちんと解説されているので、バックアップを
取るのは容易です。しかし、設定ファイルの多くは、Windows のように GUI で
設定できるわけではなく、エディタで編集する必要があるので、キータイプが苦手
な人には少々辛いかもしれません。
• 選択肢が多い
メリットの X Window System のところでもふれましたが、GUI 以外の多くに
も選択肢が存在します。エディタや日本語入力システム等のアプリケーションソフ
トウェアをはじめ、システム管理の手法等まで、実に様々な選択肢があります。
このような環境下において何かをするとき、最初のうちは選択すべきものが判ら
ないことがあります。可能な選択肢のうちで、適当だと思えるものを試していけば
良いのですが、それがなかなか難しいようです。ですから、ユーザの技量によって
は選択肢の多さがデメリットになることがあるのです。
• リアルタイム処理に弱い
UNIX がマルチタスクで動くことは述べましたが、この関係で、一つのプログラ
ムの負荷が極端に大きくなると、他のプログラムが正常に動作しない場合がありま
す。しかし、後述するスーパユーザが実行するソフトウェアに限っては、かなりス
ムーズに動作させることも可能です。また、ハードウェアはどんどん高性能になっ
1.3 UNIX の主な特徴
21
ているので、スーパユーザ以外が実行するソフトウェアについても、以前よりはス
ムーズに動作します。また、リアルタイム処理を保証する機能も開発されていま
*12
す。
• 市販アプリケーションが少ない
市販アプリケーションに関しては、Windows よりも貧弱だといえます。データ
ベースや X Window System の解像度を生かした CAD 等は以前から種類があり
ますが、何でも選り取り見取りという状況にはありません。これは従来の UNIX
が、どちらかと言えば特定用途に利用されて来たことにもよるでしょう (本来汎用
OS なのですが)。
ただし、Linux に関して言うなら、現在では商用かな漢字変換システムの ATOKX や Wnn7(うんぬ 7)、統合オフィスツールの Star Suite 等かなり豊富になって
います。
1.3.3
マルチユーザ・マルチタスク
いまでこそマルチユーザ・マルチタスクは珍しくありませんが、1990 年代前半までは
そうではありませんでした。マルチユーザ・マルチタスクが利用できる OS は、汎用コン
ピュータ、ミニコンピュータ、UNIX ワークステーション*13 等に限られていたのです。
■ マルチユーザ
UNIX は複数のユーザが同時使用できるマルチユーザの OS ですから、これからどの
ユーザが OS を使うかを OS に教える必要があります。この作業を UNIX ではログイン
(login) と言います。例えば、どのユーザが使うのか判らなければ、作成したファイルを
誰の物にして良いか判りません。これは実行中のソフトウェア*14 についても同じことが
言えます。UNIX におけるファイルやプロセスには、きちんとオーナ名とグループ名が記
録されるので、このようなログインによるユーザの区別が重要になるのです。
このようにログインして、はじめて UNIX を使用できるようになります。ログインし
たら、その後表示されるプロンプトからコマンドを入力して対話形式に実行していくだけ
です。*15 ちなみに、使用を終えたら、ログアウトします。するとまた、次のユーザを受け
入れられるようになります。
ところで、いま説明したユーザには、以下のようにスーパユーザと一般ユーザの二種類
があり、用途や権限が異なります。また、グループという概念もあり、ユーザは一つ以上
*12
*13
*14
*15
Linux では、リアルタイム Linux が開発されています。
UNIX を動作させるための専用コンピュータ。
プロセスと言います。
最初からデスクトップ環境を使用する設定の場合、Windows のようにアイコンをクリックして実行する
ことも可能です
22
第 1 章 UNIX とは
のグループに所属します。そして、ユーザやグループに対して権限を与えることが可能と
なっています。
• スーパユーザ
OS の管理を行う時に使用するユーザで、特権ユーザとも言います。OS の全て
を操作することができます。また、ユーザ名 (ログイン名) が “root” であることか
ら、ルートと呼ばれることも多いようです。
• 一般ユーザ
OS の管理以外の、通常の作業を行うユーザです。自分に与えられた権限内で作
業できます。ですから、不注意で OS の重要なファイルを削除してしまうような事
故が防げるわけです。一般ユーザは、必要に応じてスーパユーザが作成します。例
えば筆者であれば、“hane” という一般ユーザを作成し、それを使うと言った具合
です。文書作成やメールの送受信等の通常の作業は、全て一般ユーザで行います。
■ マルチタスク
UNIX がマルチタスクの OS であることは述べましたが、これは複数のソフトウェア
が同時に動作することを意味します。これら同時に動いているソフトウェアの各々をプロ
セス等と呼びます。プロセスは、若干の例外を除いて平等の権限で動いています。またプ
ロセスは、全て OS の管理下で動いていますので、一つのプロセスが暴走しても、他のプ
ロセスに干渉しないようになっています。前述の障害に強いと言うのは、これにも関係し
ています。
UNIX では、同時に複数のプロセスが動作しています。あるものはシステムに重要なも
のだったり、あるものは一般ユーザが使用しているものだったりと、用途も様々です。こ
こで覚えておいて欲しいのは、これらプロセス (特にシステムに関係するもの) の助けに
より、UNIX が OS として成り立っていると言う点です。あるプロセスは一人でもくも
くと働いたり、あるプロセスは他のプロセスと連係したりして、前述の UNIX の中心で
あるカーネルを助けているのです。
1.4
フリー UNIX とは
誰でも自由に使用できる UNIX 系 OS を フリー UNIX 等と言います。一般に、フ
リーソフトウェアやオープンソースソフトウェア と呼ばれるものです。よって、誰でも自
由に使用できると書きましたが、これには『ユーザの責任において』という前提が付く点
*16 これから、フリー UNIX の概要と、その種類について説明します。
に注意して下さい。
*16
ただし、有償でサポートを受けることは可能です。
1.4 フリー UNIX とは
1.4.1
23
フリー UNIX の登場
以前は、ミニコンや専用のワークステーション等のマシンでのみ動作した UNIX が、や
がてパソコン上で動作するようになりました。これは、パソコンの高性能化によるもので
す。具体的に動作可能になったのは、Intel が i386 (80386) の CPU を発売してからだと
言えるでしょう。i386 は、それまでの i286(80286)*17 と比べ、一度に扱えるデータの量
が 32bit になり、メモリアクセスも癖が無く行えるようになる等、色々な機能が強化され
ました。これらの機能は、UNIX を動作させるのに十分な性能でした。
こうなると、i386 を搭載したパソコンのユーザは、
「自分のパソコンで UNIX が動け
ば」と考えはじめたのです。そうして様々な方法で、パソコン上で動作し、自由に使用
*18 そして、パソコン =PC 上で動く UNIX
できる UNIX が開発されていったのです。
を、主に PC-UNIX と呼ぶようになったのです。その後、使い勝手の良さからか、本来
UNIX マシンであるワークステーションや、Macintosh 等多くのコンピュータでも動作
するようになり、フリー UNIX と呼ばれるようになりました。
1.4.2
フリー UNIX の種類
現在使用できるフリー UNIX には、主に次のようなものがあります。これらには、色々
な生い立ちがあり、多くは Intel i386 以降の CPU を使用したパソコン以外にも移植され
ています。
• Linux
Linux は、フィンランドの Linus Torvalds 氏が一から作成したカーネルと、
GNU*19 で開発されたソフトウェア群で構成される UNIX 互換 OS です。PC/AT
互換機 (いわゆる Windows PC)、Macintosh、Sun Sparc ワークステーション等
のコンピュータで動作します。特徴は、ユーザフレンドリーなシステムである点
といえます。Linux は良く System V 系と言われますが、実際には System V と
BSD の良い部分を採り入れたハイブリッドなシステムで、POSIX 準拠を目指して
もいます。新しい機能やハードウェアも、積極的にサポートされています。GNU
一般公有使用許諾書 (GNU General Public License - GPL) に従ってネットワー
ク上や雑誌の付録 CD-ROM 等で自由に配布されていますが、サポートを付加し
た商用バージョンも存在します。
ここでは Linux と一括りにしてしまいましたが、Linux には BSD 系フリー
UNIX のように色々な種類があり、これをディストリビューションと言います。こ
れについては詳しく後で説明します。
*17
*18
*19
i286 の商標を取ったのは、80286 発表後のようです。
正確には UNIX だけでなく、UNIX 互換 OS も開発されました。
FSF(Free Software Foundation) 等が開発したソフトウェア。http://www.gnu.org/参照。
24
第 1 章 UNIX とは
→関連 Web ページ http://www.linux.org/
http://www.linux.or.jp/
• FreeBSD
FreeBSD は、386BSD*20 から派生した OS です。PC/AT 互換機 (いわゆる
Windows PC)、PC98、Alpha PC、Sun Sparc ワークステーション等のコンピュー
タで動作します。現在のバージョンは、4.4BSD-Lite をベースにしています。フ
リー UNIX のもう一つの大きな流れです。BSD 直系と言うことで、マニアには非
常に人気があるようです。
→関連 Web ページ http://www.freebsd.org/ja/
• NetBSD
FreeBSD 同様、386BSD から派生した OS です。PC/AT 互換機 (いわゆる
Windows PC)、Macintosh、Alpha PC、Sun Sparc ワークステーション、NEWS、
VAX 等多くのコンピュータで動作します。最近リリースされたものは、やはり
4.4BSD-Lite をベースにしています。やや私見ではありますが、FreeBSD よりも
さらにマニアックな OS と言えるかも知れません。USB サポート等、光るものが
あるのも特徴でしょう。また、非常に多くのコンピュータに移植されているのも特
徴です。
→関連 Web ページ http://www.jp.netbsd.org/ja/
• OpenBSD
4.4BSD-Lite をベースに開発された、BSD 系では比較的新しい OS です。
PC/AT 互換機 (いわゆる Windows PC)、Macintosh、Alpha PC、Sun Sparc
ワークステーション等のコンピュータで動作します。セキュリティの高さでは定評
があります。この OpenBSD から他の OS への広まったセキュリティ関連のソフ
トウェアもある程です。
→関連 Web ページ http://www.openbsd.org/ja/
*20
BSD 系 UNIX には、4.3BSD Net2 と呼ばれるバージョンがあるのですが、これをベースに PC 互換
機に実装したものです。
25
第2章
Linux とは
この章では、Linux についてもう少し詳しく説明します。なお、Linux は色々なコン
ピュータで利用できると述べましたが、ここからは Intel i386 以降の CPU を使用し
た PC/AT 互換機を対象に説明します。
Linux という OS
2.1
ここでは、Linux の特徴と Linux に向くユーザについて説明します。Linux が UNIX
互換の OS であると述べましたが、特徴はそれだけではありません。Linux には様々な特
徴があります。また筆者は、Linux はある程度ユーザを選ぶと考えていて、それについて
も説明します。
2.1.1
Linux の特徴
Linux は UNIX 互換 OS ですから、前述の UNIX の特徴は当然持っています。さらに
先に述べた概要以外に、以下に述べる Linux 独自の特徴があります。
• インストールが簡単
ディストリビューションにもよりますが、Linux には解りやすいインストーラが
用意されていて、ATAPI や SCSI 接続の CD-ROM ドライブや LAN 経由で、簡
単にインストールできます。
• 対応しているハードが多い
Linux は対応しているハードウェアが豊富です。IDE 接続の HDD や ATAPI
の CD-ROM ドライブはもちろん、ビデオカード*1 やサウンドカードも多くのもの
が使用できます。また、最近主流の USB 接続の機器も、ある程度使用することが
できます。
*1
正しくは、Linux 上で動作する X Window System がサポートしています。
26
第 2 章 Linux とは
• ドキュメントが豊富
豊富な英文ドキュメントは勿論、これらの邦訳や書き下ろした和文ドキュメント
が存在しますので、Web ページから容易にこれらを入手できます。また、個人が公
開している Web ページや、メーリングリスト等でも情報を得ることも可能です。
• 入手が簡単
ネットワーク経由での入手以外にも、Linux 関連雑誌の付録 CD-ROM に収録
されます。サポートや商用ソフトウェアをバンドルした商用版*2 も 10000 円前後
で購入できます。
2.1.2
Linux の対象ユーザ
ここまで UNIX と Linux の概要や特徴等について説明しましたが、これらから Linux
が対象とするユーザ像が見えて来たのではないでしょうか。筆者の考える Linux 最大の
メリットは、殆ど全てがユーザの手の中にある点です。つまり、ブラックボックスとなる
部分は存在せず*3 、ユーザが思いのままに設定やカスタマイズ、そしてソフトウェアの開
発を行えるのです。よって、Linux はコンピュータを積極的に使いこなしたいユーザに向
いていると言えるでしょう。
現在の Linux は、Windows のようなデスクトップ環境*4 が段々整備されてきて、
GNOME や KDE といった種類が利用可能です。しかし、全ての操作をデスクトップ環
境下で行えれば良いのですが、X Window System が使用できない場合や何らかの障害
発生時等は、これに頼ることはできません。つまり、CUI で操作しなければならない状
況になるわけです。よって、単に Windows と同じことがしたいだけの人にはお勧めしま
せん。
2.2
ディストリビューション
Linux の構成は、少々複雑です。詳しくはこれから説明しますが、Linux には色々な種
類があり、各々特徴を持っているのです。
2.2.1
ディストリビューションとは
さて、最初は少し解りにくいかもしれませんが、Linux の種類について説明しましょ
う。他の OS なら、例えば Windows XP Professional と言えば、それは一つのものをさ
します。しかし、Linux の場合、OS としては一つではないのです。それは、Linux の構
成によります。狭義の Linux は、Linus 氏が中心となって開発するカーネル (OS の中心
*2
後述しますが、Linux には自由に配付できるフリー版と、ここで説明した商用版があります。
Linux 用の商用ソフトウェアはこの限りではありませんが。
*4 GUI で広くコンピュータを操作する環境。
*3
2.2 ディストリビューション
27
部) のみをさします。しかし、これだけでは OS として機能しません。そこで、OS とし
て利用できるように、コンピュータに OS をインストールするインストーラや、コマン
ドやアプリケーション等のソフトウェアをまとめた集合体を、ディストリビューションと
定義しました。ですから、Linux を使用していると言うのは、正しくはディストリビュー
ションを使用していることになります。そして、一般的な (広義の) Linux とはディスト
リビューションをさしているのです。
ディストリビューションは、コミュニティ*5 や企業等、様々な組織や個人により開発さ
れていて、多くの種類があります。各ディストリビューションは、パッケージ*6 管理シス
テムや収録ソフトウェア等独自の特徴を持っています。国内で利用されるものは、日本語
対応のディストリビューションが多いでしょう。
2.2.2
ディストリビューションの種類
ディストリビューションは国内外で様々なものが開発され、中には既に無くなってし
まったものもあります。以下に述べるディストリビューションは、国内で比較的良く利用
されているものです。全てフリーソフトウェアとして配布されています。中には製品版
(商用版) が用意されているものがあります。
• Debian GNU/Linux
なかなか硬派なディストリビューションで、玄人に人気があります。開発は全て
ボランティアがおこなっていますが、非常にパワーがあり、パッケージ数も豊富な
ディストリビューションです。特徴的なのは日本語の扱いで、日本語化というので
はなく、様々な言語の一つとして日本語も扱えるようになっています。つまり、多
言語対応であり、その中の一つに日本語もあるわけです。
→関連 Web ページ http://www.debian.org/
• Plamo Linux
Slackware というディストリビューションをベースにインストーラを日本語化
し、日本語入力システムやエディタ等のソフトウェアを差替え・追加してまとめ
上げたディストリビューションです。小島三弘氏を中心としたコミュニティによ
り開発されています。現在では、独自に開発したソフトウェアの比重が高くなり、
Slackware の面影はあまり残っていないようです。比較的コンパクトで、どちらか
と言えば玄人に人気があります。
→関連 Web ページ http://www.linet.gr.jp/Plamo/
• Fedora Core
*5
*6
同じ目的を持ったユーザグループ等。辞書では共同体。
ソフトウェアをディストリビューションで利用できる形 (ファイル) にしたものを、パッケージと言いま
す。そして、パッケージ毎にインストール・アンインストール等が管理できるようになっています。
28
第 2 章 Linux とは
米国の RedHat Linux と言うディストリビューションは、従来までは RedHat
社が自由に利用できるバージョンのフリー版を開発していました。その後、フリー
*7 な
版の開発は Fedora Project に移管され、Fedora Core が開発されています。
お RedHat 社は、商用版の開発に専念しています。
Fedore Core は非常に大きなディストリビューションで、Fedora Core 3 は
CD-ROM 4 枚組となっています。それは、多くのソフトウェアを収録したためで
す。また、比較的最新のソフトウェアを収録したのも特徴的です。多言語対応して
いて、アジア圏では日本語以外に中国語や韓国語も対応しています。ただし、日本
語の文字コードには UTF-8 を採用しているので、場合によっては不具合が発生す
ることもあります。従来は EUC-JP が広く使用されていたため、UTF-8 に対応で
*8
きないソフトウェアがあるのです。
→関連 Web ページ http://fedora.redhat.com/
• Vine Linux
RedHat Linux をベースに、日本語を主言語として開発されたディストリビュー
ションです。コミュニティ、Project Vine により開発されています。バランス良
くチューニングされた日本語環境には定評があります。サポートや商用ソフトウェ
アをバンドルした製品版も発売されています。開発ペースが遅いので、絶えず最新
*9
のソフトウェアを使用したい場合にはあまり向きません。
→関連 Web ページ http://vinelinux.org/
2.2.3
ディストリビューションの選択
数あるディストリビューションの中から、自分にあったものを見付けるのは難しいかも
知れません。特にデスクトップ環境の部分については、あまり差が無いからです。一番良
いのは用途に応じた評価を行い、その結果から判断することだと思います。
執筆にあたり、前述のディストリビューションを評価しましたが、どれも一長一短で全
てのユーザに向くようなものは無いように思います。そこで本書では、メインテーマであ
る Linux の使用に必要な基礎知識を習得するのにふさわしいものとして、UNIX として
の使用にも優れインストールも容易な、Vine Linux を採用することにします。
2.3
動作に必要な物
ここでは Linux を動かすための準備として、必要なハードウェアとソフトウェアにつ
いて説明します。全ての PC/AT 互換機 (以下 PC) 用ハードウェアが Linux で使用でき
*7
従来、RedHat の開発中のものとして RawHide がありましたが、これも統合されています。
これは、昔からあるソフトウェアに多いようです。
*9 ただし、開発中のものが、VineSeed として入手可能です。
*8
2.3 動作に必要な物
29
るわけではないので、これからマシンを買おうと言う方は参考にして下さい。
2.3.1
ハードウェア
まず、ハードウェアの構成についてみてみます。本書では、デスクトップタイプの PC
を対象とします。PC は大きく分けて、メーカ製とショップブランド製/自作に分けられ
るので、それぞれについて説明していきます。なお、ハードウェアの使用の可否は、ディ
ストリビューションにより異なることがあります。
■ メーカ製 PC
メーカ製の PC は、品質やサポート等の安心感、バンドルされたソフトウェア*10 、等
が大きな特徴と言えるでしょう。
ところで、メーカ製の PC の場合、その構成が自由に変更できることは稀です。変更で
きるのは、ハードディスクやメモリ等に限定されることが多いでしょう。この傾向は、大
きなメーカになるほど顕著です。さらに、最近は新製品の開発サイクルが早いので、次々
と新しいビデオカード (グラフィックスカード、グラフィックスボード)*11 ) 等のパーツを
搭載しています。しかし、Linux で最新のハードウェアがサポートされるには、ある程度
時間が必要です。ですから、サポートが待てないのであれば次に述べるパーツ説明を読み、
使用可能なパーツを搭載しているか、使用可能なパーツに構成を変更できる PC かを確認
しなければなりません。多くのメーカー製マシンは IDE の HDD と CD-ROM(ATAPI)
を搭載しているので、ビデオカードに注意すれば問題は発生しにくいと言えます。
その他の注意事項として、ビデオキャプチャー等の独自機能や USB 接続のキーボード
が使用できないことがある等があげられます。前者は諦めれば良いのですが、後者のキー
ボードは必需品です。ですから USB 接続のキーボードを採用した PC は避けた方が無難
でしょう。
■ ショップブランド/自作
最近では、少し PC に詳しい人なら、PC を自作する (組み立てる) ことは、一般的に
なったと言えるでしょう。PC を自作する最大のメリットは、ビデオカード等の構成パー
ツを自由に選択できることです。ですから、Linux に向いた PC を自作することが可能で
す。またショップブランド*12 の場合も、比較的自由にパーツを変更することができます。
構成するパーツ (周辺機器) は、注意して選択しなければなりません。似ている型番だ
からといって、使えるとは限らないからです。例えば、3COM 社製のネットワークイン
ターフェイスカードである 3c905 シリーズには、3c905、3c905B、3c905C と言った種類
があります。これらは、カードとしては各々がきちんと区別されて Linux に認識されま
*10
ここでは、Windows やそのアプリケーションソフトウェアですね。
最近は、このような名称でも呼ばれるのですね:-(
*12 パソコンショップが組み立てて販売する PC。
*11
30
第 2 章 Linux とは
す。区別は、PCI スロット用カードのベンダ (メーカ) ID とデバイス (機器) ID で行われ
ます。ですから、前述の三枚のカードは、ベンダ ID は同一になりますが、デバイス ID
は異なります。そうすると、3c905 と 3c905B は使用できるが、3c905C は使用できない
こともあるわけです。
またハードウェアの自動認識を期待するのであれば、ISA でなく PCI スロット用カー
*13 もっとも、現在では ISA スロットを備
ド (デバイス) を選択したほうが良いでしょう。
えたマザーボードは殆ど販売されていないので、このことはあまり気にする必要はありま
せん。ただし、古い PC を Linux で使用するときには、このことを思いだしてください。
それでは、ハードウェアを構成する各パーツ毎に、Linux とのマッチングを見ていきま
しょう。
• CPU
Linux を動かすためには、Intel i386SX 以上の機能を持った CPU が必要で
す。i386SX 以降の機能を含んでいればまず問題ないので、Intel 社製では i386,
i486, Pentium, Pentium Pro, Pentium II, Pentium III, Pentium 4, Pentium M,
Celeron、AMD 社製では K5, K6, Athlon, Athlon XP 等が使用できます。しか
し、Linux も段々規模が大きくなってきているので、古い CPU では性能的に厳
しいと言えます。現実的な線を考えれば、Pentium 以降の CPU が欲しいところ
です。
また、これから登場する新しい CPU でも、i386SX と互換性があれば問題あり
*14 AMD に続いて Intel も 64bit へ拡張 (EM64T) されましたが、従来
ません。
と互換性のある 32bit モードなら問題ありませんし、完全に性能を発揮する 64bit
モードもサポートされつつあります。購入は、その時点でもっともコストパフォー
マンスの高い CPU を選択すると良いでしょう。
一つ注意したいのは、極希に Linux が動作しない Intel 互換の CPU が存在す
ることです。大抵ディストリビューションで問題を回避してくれますが、新しい
CPU の場合はすぐ対応できないこともあります。ですから、すぐに動かしたいの
であれば、既に実績がある CPU を選択すると良いでしょう。Intel や AMD は比
較的安心できると思いますが、最近のディストリビューションでは CPU のタイプ
をチェックする場合があり、あまりに新しい CPU だとタイプが判断できずにイン
ストールできないこともあります。
• マザーボード
様々な種類のマザーボードがありますが、古くから変わらない PC/AT 互換の部
分を使用する分には、基本的にどのマザーボードでも Linux で使用できます。つ
まり、チップセットが Intel 社製 815E でも 865G でも、PC/AT 互換の部分は動
*13
ISA スロット用カードの場合、割り込み番号や IO ポートのアドレスを明示的に与えなくてはならない
場合があります。
*14 ただし、微妙なところで互換性が取れていないなら、この限ではありません。
2.3 動作に必要な物
31
作するということです。逆に後から拡張された ATA-100 等の部分は、Linux がサ
ポートしなければ使うことはできません (勿論、低速のモードでは動作します)。最
近のマザーボードには、様々なオンボードデバイス (サウンド機能やビデオカード
等) が搭載されているものもありますが、使用の可否は独立したパーツのそれと同
じです。
スロット (バス) には、PCI やビデオカード専用の AGP 等がありますが、これ
*15 最近のマザーボードには殆ど存在しない、
らは Linux でサポートされています。
ISA スロットも使用可能です。ただし、PCI Express に関しては、まだ良く判り
ません。
また、マザーボードには現在標準といえる ATX / Micro ATX やそれ以前標準
であった AT といった規格もありますが、特にこれらは問いません。ATX / Micro
ATX であれば、Windows のようにソフトウェアで電源を切ることも可能です。
• メモリ
メモリは DIMM や RIMM 等色々な形式のものが発売されていますが、Linux
ではどのようなものでもまず使用できます。Intl 社製 865 / 875 チップセットの
デュアルチャンネルも大丈夫です。これらメモリの選択は、マザーボードの種類に
左右されますので、ユーザは使用できるメモリを使うだけです。
また、搭載する容量ですが、Linux では最低数十 MB(メガ − バイト) でも動作
するものの、この場合は本当に動くだけです。Windows との共用 (デュアルブー
*16 また、Linux 上で
ト) や実用を考えるなら、128MB 以上は欲しいところです。
動作するアプリケーションもメモリを消費する傾向にあるので、必要に応じて購入
する必要があります。スワップが使用された場合は、Linux でも動作が遅くなりま
す。なお、サポートされるメモリの最大量は、カーネル 2.4.x で 64GB(ギガ − バ
イト) です。
• ビデオカード
UNIX 系 OS 上の代表的なウィンドウシステムである、X Window System
を使用しないのであれば、どれでも問題なく使用できます。X Window System を使用する場合には、ドキュメントに動作確認が記載されているアクセラ
レータチップを搭載したビデオカードを用意しなくてはなりません。Web ペー
ジでは、http://www.x.org/X11R6.8.2/doc/RELNOTES3.html#9 でビデオカー
ドのサポート状況を参照できます。なお、VESA(Video Electronics Standards
Association) 規格に準拠したビデオカードであれば、取り敢えず使用することはで
*17
きます。
*15
もちろん、装着するカードが Linux でサポートされているかは別問題ですが。
Windows 2000 以降は、128MB では厳しいと思いますが。
*17 ただし、表示色数に制限があったり、表示速度が劣る場合があります。
*16
32
第 2 章 Linux とは
近年、アクセラレータチップのメーカは数える程に減り、一般のユーザ向けには
ATI, NVIDIA 程度しかありません。また、マザーボードのチップセットに統合さ
れたビデオカードの機能がありますが、これもサポートされていれば使用すること
ができます。本書で使用する Vine Linux に収録された X Window System は、
ATI は Radeon 9800、NVIDIA は GeForce FX、Intel の統合ビデオ機能は 865G
の各世代まで使用することができます。
ATI, NVIDIA, Intel 等は、PC で動作する X Window System 用のドライバ
を Web ページで提供しているので、ディストリビューションに収録された X
Window System が多少古くても、後からドライバをインストールすれば使用する
*18
ことができます。
• HDD(ハードディスク)
HDD は規格が共通なので、IDE 接続のものでも SCSI 接続のものでも使用で
きます。ただし、SCSI 接続の場合は後述の SCSI カードが Linux で利用できる
必要があります。Vine Linux をインストールした場合、OS だけで最大約 1.7GB
+ スワップ領域が必要です。さらに作業領域が必要です。後でオプションのソフ
トウェアをインストールしようとする人は、当然その分も考えておかねばなりませ
ん。よって、Windows パーティションの存在を考えると、10GB 以上のクラスが
必要でしょう。以下に IDE と SCSI の特徴を簡単にまとめておきます。
IDE
古くから存在する規格で、性能や容量等が段々拡張されてきました。約
500MB 以上のサイズは E-IDE(Enhanced IDE) の仕様となりますが、現在発
売中の HDD はほぼ全て E-IDE 仕様です。Linux では、Intel や一部メーカ
のチップセットのバスマスターによる高速転送もサポートされています。また
最近普及が始まった S-ATA(シリアル ATA) ですが、上手く Linux から認識
されなかったり 100% 性能が出ないことがあるようです。
SCSI
かつては性能的にも SCSI 接続の HDD が優れていたのですが、最近では極
端なハイエンドをのぞいて性能差は殆どありません。また、店頭で製品を見る
ことも殆どありません。このような理由から、現在はかなりニッチな製品と言
えます。
SCSI 接続する機器は古くから標準化されていたので、CD-ROM ドライブ
や DDS (テープドライブ) 等の接続が行い易かったのです。しかし、このメ
リットも SCSI だけのものではなくなり、次第にあまり使われなくなったの
です。
また、USB 接続の HDD も発売されていますが、これは IDE の HDD を USB
で接続できるように内部で変換したものです。マスストレージクラスの USB デバ
*18
ただし、ドライバのできはメーカにより差があるようです。
2.3 動作に必要な物
33
イスとして認識されるドライブであれば、Linux からも使用可能です。USB 接続
の HDD にインストールできるかどうかは後述のディストリビューションにより
ますが、一般的には難しいと思っていた方が良いでしょう。
• FDD(フロッピーディスクドライブ)
FDD には、一般的なフロッピーインターフェイスに接続する 3.5 / 5 インチ
2DD / 2HD のドライブが利用できます。USB で外部に接続する 3.5 インチのド
ライブも使用できますが、ディストリビューションによっては使用できないことも
あります。
• CD-ROM・CD-R/RW ドライブ
CD-ROM ドライブには、ATAPI(IDE) 接続や SCSI 接続ものがあります。以
前は独自インターフェイスの CD-ROM ドライブもありましたが、現在では殆ど
使われなくなりました。Linux からは ATAPI 接続でも SCSI 接続でも使用できま
すが、SCSI カードについてはハードディスクの場合と同様です。現在、一般的に
ATAPI 接続のものが主流となっています。また、読み込み速度 (n 倍速) も様々で
すが、これは動作に関係ありません。
CD-R / RW ドライブにも ATAPI と SCSI 接続のものがありますが、殆どのド
ライブが Linux で使用できます。
• DVD-ROM・DVD-R/RW ドライブ
DVD-ROM ドライブや DVD ± R / DVD ± RW ドライブは、ほぼ CD 系ド
ライブと同様に使用できます。
• MO ドライブ
MO ドライブは、主に日本で普及しているものです。MO ドライブにも ATAPI
と SCSI 接続のものがありますが、Linux からはどちらも使用できます。ドライブ
とメディアには 128MB から 2.3GB までの種類がありますが、恐らく全て使用で
きると思います (640MB までは確認しましたが、1.3GB 以降は試していません)。
• テープドライブ
Linux で使用できるテープドライブには、ATAPI 接続、SCSI 接続、フロッピー
インターフェイス接続等色々な種類があります。しかし、HDD の大容量化に伴い、
一部の SCSI 接続するテープドライブしか、実用的ではなくなってしまいました。
これらは、かなり高価なものなので、あまり一般的とは言えません。具体的な製品
としては、DDS3 規格や DLT 規格のもの等が該当するのですが、SCSI 接続のド
ライブであれば大抵使用できるようです。
• SCSI カード
様々な SCSI デバイスを接続するには、SCSI カードが必要です。SCSI ホス
34
第 2 章 Linux とは
トアダプタと呼ばれることもあります。色々な SCSI カードが発売されています
が、Adaptec や LSILOGIC 社製*19 のチップを搭載のカードが良く使用されます。
Linux からは、これらメジャーなカード以外にも、AdvanSys 社製のチップを使用
したものも使うことができるでしょう。
• サウンドカード
昔は、Creative 社製の Sound Blaster シリーズと言うデファクトスタンダード
があり、Linux でもこれが多く利用されていました。しかし、PCI スロット用カー
ドが主流になると、新しいカードが登場しては消えたり、買収されたりと、混沌と
した状態が続いていると言えます。異なるメーカのカード間で互換性があるのは希
なので、Linux から使用できるかは、ドライバが開発されているかどうかにより
ます。
最近ではサウンド機能を搭載したマザーボードが多いのですが、これも使用でき
るかはドライバ次第です。Intel 社製チップセットの場合、ALSA(Advanced Linux
Sound Architecture) というドライバを使用すると比較的新しいものでも使用でき
ます。
• ネットワークインターフェイスカード (NIC)
LAN に接続するために必要な NIC(Network Interface Card) は、色々なものが
使用できます。現在 IEEE802.3*20 に準拠した有線接続では、10Mbps(10BASE),
100Mbps(100BASE), 1000Mbps(1000BASE) といった通信速度がありますが、
NIC さえサポートされていれば問題無く使用できます。
3COM, Intel, Realtek 等のメーカが NIC(か NIC 用チップ) を製造しています
が、100Mbps までの NIC なら大抵使用できます。1000Mbps は、まだサポート
されない NIC も存在するので、1000Mbps の NIC を使用したいのであればメー
カの Web ページ等で動作するか確認すると良いでしょう。
なお NIC は、LAN アダプタ等の名称で呼ばれることもあります。
• キーボード
PS/2 や AT インターフェイスの日本語版 106 キーボードと、英語版 101 キー
ボードが利用できます。Windows 対応の 109 や 104 キーボードももちろん使用
できます (それぞれ 106, 101 キーボードとして使用可能)。変わったところでは、
少し高価ですが PFU の Happy Hacking Keyboard(HHK) と言った UNIX マニ
ア向けの製品もあります。もちろん Linux で使用可能ですが、必ずしも万人向け
ではありませんから、自分はマニアだと見栄をはって買うと苦労するかも知れませ
ん;-) キータッチについては実際に店頭で確認するのが良いでしょう。なお、USB
*19
最初は NCR 社の一部門で開発されていましたが、それが SymBIOS 社に売却されました。その後
SymBIOS 社が LSILOGIC 社に買収され現在に至ります。
*20 いわゆるイーサネットの規格。
2.3 動作に必要な物
35
接続のものは使えない場合もあります。ですから、安全にいくなら、避けた方が無
難と言えます。
• マウス
X Window System は 3 ボタンマウスが前提なので、PS/2 接続のホイール付の
ものが良いでしょう。ホイールのクリックを第三ボタンとして使用できます。最近
ではあまり見掛けませんが、純粋な 3 ボタンマウスも LOGITECH から発売され
ています。PS/2 接続なら Microsoft か LOGITECH (国内では LOGICOOL) 社
製ものを、USB 接続なら大抵のものが使えるようです。最悪 2 ボタンマウスしか
用意できない場合でも、左右のボタンを同時に押すことで中央のボタンとして認識
されます。少し変わったところでは、タッチパッド*21 や、アキュポイントのような
スティックタイプのデバイスも、PS/2 マウス等と互換性があれば使用可能です。
• モニタ
実際に店頭で見やすいものを選択するのがベストです。もちろんビデオカードの
性能を引き出すことのできる機種が良いでしょう。画質などについてはショップに
相談して見てください。最近主流の液晶ディスプレイでは、アナログ RGB 接続は
問題なく使用できます。デジタル接続の場合は、使用できるかはビデオカードのド
ライバによります。モニタについては好みの範疇が大きいので、無責任なようです
が店頭で悩んでください:-)
• モデム/ターミナルアダプタ
外部端子にシリアル接続するモデムやターミナルアダプタは、殆どのものが使用
できます。ISA や PCI スロット用カードの内蔵タイプは、使えるものと使えない
ものがあります。ADSL モデムの場合は NIC に接続するので、モデムやターミナ
ルアダプタとは話が異なります。
• ルータ
PC のパーツとは異なりますが、ルータは比較的良く使用される周辺機器です。
このルータ (ブロードバンドルータやダイヤルアップルータ等も含む) は、コン
ピュータの種類には依存していませんから、どれでも使用できる筈です。ただし、
設定に Web ブラウザでなく専用ソフトウェアを使用する場合は、この限りではあ
りません。無線 LAN のステーションも、Web ブラウザで設定する機種なら大丈
夫です。
ネットワークの回線を複数のコンピュータで共有する場合、Linux をインストー
ルした PC に NIC を 2 枚装着してルータとして使用することも可能ですが、きち
んと設定できないとセキュリティ上の問題が発生することもあります。ですから、
筆者としては設定の容易な、ルータの使用をお勧めします。
*21
他に、スライドパッド等、色々な名称があるようです
36
第 2 章 Linux とは
• プリンタ
Linux からプリンタを使用するには、プリンタに適合したドライバが必要になり
ます。ドライバの作成に必要な仕様が公開されたプリンタであれば、殆どのものは
Linux から使用できます。
最近では、仕様が公開されないプリンタでも、メーカが Linux 用ドライバの提供
をして使用できるものも多くなりました。しかし、それでもディストリビューショ
ンによっては上手く動作しないこともあります。
ですから、新たにプリンタを購入するのであれば、ドライバが用意されているも
のを選ぶと良いでしょう。
2.3.2
ソフトウェア
ディストリビューションには Vine Linux を使うことは述べましたが、ここでは Vine
Linux の入手方法について説明します。Vine Linux は複数のファイルから構成されます
が、多くの場合インストール可能な CD-ROM として入手可能です。本書では、これをイ
ンストール CD-ROM と呼ぶことにします。
• ネットワーク
Vine Linux の Web ページに、ダウンロード可能な ftp サイトが記載されて
います。ftp サイトには Vine Linux を構成する全てのファイルがありますが、
ここから ISO イメージ (ファイル名: Vine32-i386.iso)*22 をダウンロードして
CD-R/RW に書き込めばインストール CD-ROM となります。
ネットワーク環境は必須ではありませんが、アップデートされたソフトウェア
や様々な情報を入手するためにも用意したいところです。できれば ADSL 等のブ
ロードバンド回線が良いでしょう。
• 雑誌付録
雑誌と言う媒体の関係上新鮮さが命のせいか、インターネットから入手でき
る ISO イメージファイルを書き込んだものを収録している場合が多いようです。
時々、内容に不備があることもありますが、全国どこでも入手できるのがメリット
です。ディストリビューションや関連ソフトウェアが収録されている号をチェッ
クしましょう。国内では、日経 Linux (日経 BP)、オープンソースマガジン (旧
UNIX USER, ソフトバンク刊) 等の付録 CD-ROM に良く収録されます。
• 製品版
日本ブレインウェア社から発売されている、サポートと商用ソフトウェアを付加
した製品版です。商用ソフトウェアとして、かな漢字変換システムの VJE-Delta、
日本語 TrueType フォント等が収録されています。
*22
CD-ROM のイメージファイル
第 II 部
Vine Linux のインストール
39
第3章
インストールの前に
この章では、Vine Linux をインストールする前の予備知識として、インストールの概要
と、インストールの準備について説明します。使用するディストリビューションは Vine
Linux 3.2 で、インストール CD-ROM から一般的な IDE HDD と ATAPI CD-ROM
ドライブを持つ、デスクトップタイプの PC にインストールします。
OS のインストールとは
3.1
インストールと言う言葉は、だいぶ一般的になった感があります。しかし、このインス
トールとは、主にアプリケーションソフトウェアが対象でしょう。ですから、OS のイン
ストールをおこなったことがある人や、一台の PC に複数の OS をインストールしたこ
*1 そこで、まず OS のインストール
とがある人は、意外と少ないのではないでしょうか。
について説明します。
3.1.1
インストールの仕組
OS のインストールとは、簡単に言えば HDD や FDD 等の補助記憶装置に OS が
記録されたファイル等を書き込み、その OS が起動できるようにすることです。現在は、
HDD に OS をインストールするのが一般的です。アプリケーションソフトウェアは OS
の管理下でインストールしますが、OS は素の PC にインストールします。
PC の BIOS で、OS をインストールすることはできません。PC の BIOS が起動でき
るのは、補助記憶装置上のソフトウェアだけなのです。そこで、FDD や CD-ROM ドラ
イブにインストールするためのソフトウェアであるインストーラを記録しておき、それを
起動してインストールを行います。このインストーラは OS により異なりますが、Linux
の場合はインストーラも最小構成の Linux です。つまり、FD や CD-ROM から最小構
成の Linux を起動し、それを使用して HDD に Linux をインストールしているのです。
OS のインストール完了後に PC を起動すれば、その OS が起動するようになります。
*1
PC の付属 CD-ROM による OS のリカバリーは、インストールとは少々異なります。
40
第3章
インストールの前に
このように PC の構造について、基本的な知識が必要になります。
3.1.2
専用パーティション
インストールをする際、Linux 等 OS によっては、専用のパーティションが必要になり
ます。HDD の全領域が一つの OS 用に使用されている場合は、専用パーティションが必
要な OS をインストールすることはできません。よって、専用パーティションを作成する
ための、空き領域を HDD に用意しなくてはなりません。
空き領域を用意する方法はいくつかありますが、それについては後述します。
3.2
インストールの手順
Vine Linux のインストールは、図 3.1 の手順で行います。図 3.1 はフローチャート (流
れ図) と言って、作業や処理の手順を表したものです。この手順は、後述のインストール
の種類により多少異なります。
START
ブートローダの設定
インストールの準備
NICが存在するか?
CD-ROM
ブート可能か?
Yes
No
No
Yes
ネットワークの設定
ブートディスク作成
CD-ROMから起動
FDDから起動
タイムゾーンの選択
アカウントの設定
GUI/CUI, 日本語/英語
インストーラのモード選択
グラフィカルインターフェイスの設定
インストーラ起動
インストールの種類が
カスタムか?
No
Yes
言語の選択
パッケージグループ
の選択
キーボードの設定
マウスの設定
インストール準備完了
インストールの種類の選択
再設定
ここまでの設定で
問題ないか?
パーティションの作成方法の選択
No
Yes
パーティション
自動分割を使うか?
No
パーティションの作成
パッケージのインストール
Yes
自動パーティション設定
(既存パーティションは削除)
モニタの設定
X設定のカスタマイズ
END
図 3.1 インストールの手順
3.3 インストールの準備
41
インストールの準備
3.3
Vine Linux をインストールする前に、ハードウェアの構成について調べたり、インス
トールする PC の HDD に空き領域を作成する等、準備をする必要があります。インス
トールの作業がスムーズに行くかは、これらの準備にかかってきます。
インストールする PC の構成
3.3.1
事前に、インストールする PC の構成を調べておきます。特に重要なのは、以下の機器
です。
• 時刻合わせ
購入したばかりのマザーボードや、しばらく使っていなかった PC の場合、内蔵
時計が狂っている場合があります。おおきく狂っているとインストールの最後の方
で失敗することがあるので、正しい時刻に合わせておいて下さい (数秒の違いは問
題ありません)。
• HDD の種類
IDE か SCSI か確認しておきます。通常は IDE が使用されます。勿論 HDD の
空き領域が必要ですが、これについては次の 3.3.2 章で説明します。
• CD-ROM の種類
ATAPI か SCSI か確認しておきます。通常は ATAPI が使用されます。また、
CD-ROM からの起動がサポートされるかも調べておきます。CD-ROM から起動
できない PC の場合は、インストールに 1.44MB のフロッピーディスクが 1 枚必
要です。
• ビデオカードの種類
メーカ名や搭載されるアクセラレータチップ名をを確認しておきます。また、接
続するモニターのスペック (垂直同期周波数範囲と水平同期周波数範囲) も調べて
おくと良いでしょう。モニターのスペックは、多くの場合自動的に検出されます
が、されない時はスペックの入力が必要になります。
3.3.2
HDD の状態確認
インストールする前に、HDD の状態を確認しておきます。前述のようにインストール
には、Linux 用のパーティションが複数必要 です。既に述べましたが、Linux 用パー
ティションを作成するために必要な領域は、インストールするソフトウェアによって変化
します。本書の推奨するソフトウェアをインストールした場合で 1.7GB + スワップ領域
42
第3章
インストールの前に
(実装メモリの等倍∼二倍) が必要で、さらにデータを作成する分も考慮しなければなりま
せん。
ところで、Windows のプレインストール PC しか使用したことがない人は、パーティ
ションがどういったものか解らないかも知れませんので、簡単に説明しておきましょう。
PC に装着された一台の HDD は、論理的にいくつかに分割することが可能です。例え
ば、10GB の HDD なら、5GB + 5GB や、3GB + 3GB + 4GB 等に分割できます (図
3.2)。そして、分割した各々をパーティションと呼びます。Windows で HDD が一台し
かないのに、マイコンピュータには C ドライブと D ドライブが存在するのを不思議に
思ったことはありませんか。これも、パーティションが複数あるためなのです。
※全体では、どれも10GB
3GB
5GB
10GB
一つのパーティション
3GB
5GB
4GB
5GB+5GB
3GB+3GB+4GB
図 3.2 パーティションの例
各々のパーティションが、何の OS に使用されるかは ID により決められています。
よって、Linux を利用するためには、専用の ID 番号を持つパーティションが必要になる
のです。パーティションは一つの HDD に複数が存在できますから、先程の例で言うな
ら、5GB を Windows 用に、残りの 5GB を Linux 用に割り当てられるわけです。
以上の理由から、既に HDD の全容量が Windows 用のパーティションに使用されて
いる場合、Linux をインストールする場所が無いわけです。この場合、Linux 用パーティ
ションを作成する領域を確保しなければなりません。確保するには、以下の方法があり
ます。
• Linux 用の空き領域を残して Windows 再インストールする。
• C, D ドライブ等複数のドライブが存在するとき、C ドライブ以外を削除する。
• パーティションサイズ変更ツールを使用する。FAT であれば FIPS 等フリーの
ツールが利用できるが、NTFS の場合はパーティションマジック等市販のツール
を使用する。
3.3 インストールの準備
43
■ 一部のメーカ製 PC の注意
一部のメーカ製 PC では、リカバリー CD-ROM の替わりに、HDD にリカバリー用の
領域やイメージを置くものがあります。この時、MBR(Master Boot Record) に特殊なも
のを使用する機種があり、Linux をインストールすることで MBR が書き換えられると、
リカバリーできなくなることがあります。
よって該当機種では、可能なら Linux のインストール前にリカバリー CD-ROM を作
成しておくと良いでしょう。該当機種かどうかは、PC のマニュアルを参照する等して確
認して下さい。
3.3.3
ネットワーク環境
これから Linux をインストールする PC が、どのような形態でネットワークに接続し
ているのかを確認しておきます。大体以下のケースが考えられるでしょう。そして、自分
がどれに該当するかを確認しておきます。
• ケース 1: ネットワークに接続されていない
この場合、特に調べておくことはありません。また、NIC を装着していなけれ
ば、ネットワーク関連の設定も行いません。
• ケース 2: アナログモデム/ターミナルアダプタ
この場合、特に調べておくことはありません。アナログモデム/ターミナルアダ
プタを使用する場合は、インストール後に設定します。
• ケース 3: ADSL モデム等
ADSL や FTTH(光ファイバー) のイーサネット回線を直接 PC の NIC に接続
する場合、特に調べておくことはありません。
• ケース 4: ルータ
ISDN/専用回線/ブロードバンド等、各種ルータを使用してインターネットに接
続している場合は、ルータが DHCP
*2 サーバ機能を持っているか確認しておき
ます。
• ケース 5: LAN
LAN を構成する PC にインストールする場合は、その LAN 内において DHCP
サーバ が存在するかを確認しておきます。存在しない場合には、インストールす
る PC に割り当てて良い IP アドレス、ゲートウェイの IP アドレス、DNS サー
バの IP アドレスを調べておきます。
*2
他のコンピュータに IP アドレスを割り当てるプロトコル (手順)。
44
3.3.4
第3章
インストールの前に
インストーラの起動方法
Vine Linux のインストーラは、CD-ROM ドライブか FDD から起動します。使用す
る PC によって、これらのうちで最も適切なものを選択します。
■ インストール CD-ROM
Vine Linux のインストール CD-ROM は、ブータブル CD-ROM、つまり CD-ROM
からインストーラが起動できるようになっています。CD-ROM からのブート (起動) に
対応している PC は、この方法を使用します。
CD-ROM からブートが可能かどうかは、BIOS の画面から確認することができます。
また、CD-ROM からブートをするための設定も BIOS から行います。設定方法の詳細
は、使用する PC やマザーボードのマニュアルを参照してください。図 3.3 は Phoenix
社製 BIOS での例です。
ノートタイプの PC でも、CD-ROM ドライブを内蔵した機種や、一部の専用タイプ
の CD-ROM ドライブでは、CD-ROM ブートに対応しているものがあります。ただし、
ブート後に CD-ROM ドライブが認識されない場合は、インストールに使用できません。
図 3.3 CD-ROM ブートの設定
3.3 インストールの準備
45
■ フロッピーディスク
CD-ROM からのブートに対応していない PC の場合、ブートディスクを作成し、これ
を使用してインストーラを起動します。ブートディスクは、フロッピーディスクのイメー
ジファイル*3 を、フロッピーディスクに書き込んで作成します。
イメージファイルの書き込みは、Windows 上で動作するユーティリティや、UNIX 系
OS で行います。*4 以下に、Windows 上でブートディスクを作成する方法を説明します。
1. インストール CD-ROM の挿入
Vine Linux のインストール CD-ROM を CD-ROM ドライブに挿入します (こ
こでは D ドライブと仮定)。
2. フロッピーディスクの挿入
*5
ブランクのフロッピーディスクを FDD に挿入します。
3. rawwritewin.exe の起動
マ イ コ ン ピ ュ ー タ か ら D ド ラ イ ブ の dosutils フ ォ ル ダ (デ ィ レ ク ト リ)
に移動したら、rawwritewin.exe をダブルクリックすます。すると図 3.4 の
rawwritewin が起動します。
図 3.4
*3
rawwritewin.exe
フロッピーディスクの内容を、ファイル等は無関係に単純に書き出したファイル。
UNIX 系 OS では、dd コマンドで “dd if=イメージファイル of=スペシャルファイル” のように書き
込みます。
*5 アンフォーマットのメディアのみ、一度フォーマットして下さい。
*4
46
第3章
インストールの前に
4. イメージファイルの選択
✄
rawwritewin において、Image file 欄の右にある ✂... ✁ ボタンをクリックし、
D ドライブの images フォルダから boot.img を指定します。
5. 書き込み
✄
最後に ✂Write ✁ ボタンをクリックすれば、イメージファイルが書き込まれます。
✄
書き込み後、 ✂exit ✁ ボタンをクリックすると終了します。
images フォルダには、7 つのフロッピーディスクのイメージファイルがあります。
CD-ROM からインストールする場合は上記のように boot.img ファイルをフロッピー
ディスクに書き込みますが、それ以外のメディアからインストールするには、他のイメー
ジファイルを使用する必要があります。本書では取り上げませんが、表 3.1 に示すイメー
ジファイルが用意されています。ノート PC 等では、これらを使用する必要があるかも知
れません。
イメージ名
説明
boot.img
CD-ROM からのインストールする場合に使用します。
PC カード接続のドライブは、一部を除いて使用できま
bootnet.img
NFS や ftp 等のネットワーク経由でインストールする
せん。
場合に使用します。
pcmcia.img
PC カード接続の CD-ROM からインストールする場
合に使用します。
pcmcianet.img
PC カード接続の NIC を使用し、NFS や ftp 等のネッ
トワーク経由でインストールする場合に使用します。
bootusb.img
USB 接続の CD-ROM ドライブやネットワークイン
ターフェイスを使用してインストールする場合に使用
します。(注:これはテストはされていないそうです。)
drvblock.img
一部の SCSI カードや RAID を使用するためのドライ
バが収録されたイメージファイルです。expert mode
で使用することができます。
drvnet.img
一部の NIC を使用するためのドライバが収録されたイ
メージファイルです。expert mode で使用することが
できます。
表 3.1
イメージファイル一覧
47
第4章
インストール
準備が整ったので、いよいよインストールを開始します。この章では、インストーラの
起動から、順を追って説明していきます。
4.1
インストールの開始
まず、インストーラを起動するところまで説明します。
4.1.1
起動デバイスの設定
あらかじめ確認したインストーラの起動方法 (CD-ROM or FDD) に従い、BIOS で起
動デバイスの設定を変更します。 CD-ROM からブートする場合は、Vine Linux のイン
ストール CD-ROM を CD-ROM ドライブに挿入し、FDD からブートする場合はさらに
フロッピーディスクも挿入し、PC を起動またはリセットします。
4.1.2
インストーラのモード選択
まず、インストーラの起動メニュー画面になります (図 4.1)。ここでは boot: のプ
ロンプトから、インストーラをどのようなモードで起動するかを選択します。通常は
✄
✂Enter ✁キーを押して、デフォルトの GUI モードでインストーラを起動します。
✄
縦に 600 ドット表示できないモニターの場合は、lowres ✂Enter ✁と入力します。さもな
いと、インストーラの表示が欠けてしまいます。
PC の構成によっては、GUI モードが使用できないことがあります。このような場合
✄
は、プロンプトから text ✂Enter ✁と入力して CUI モードを使用します。この場合、表示
はキャラクタベースとなりますが、インストールの手順は GUI の場合とほぼ同じです。
48
第 4 章 インストール
図 4.1 ブートメニュー画面
4.2
インストーラの起動
Vine Linux のロゴマークが表示された後、インストーラが起動します。
ここから先は、殆どの設定がマウスで行えます。多くがリストから選択肢を選び、次
へボタンをクリックしていくだけなので、あまり操作について悩むことはないと思いま
す。また、インストーラの各設定は、戻ると次へボタンで自由に行き来ができますので、
前の画面で行った設定に不安があっても確認することができます。
なお、これ以降の見出しは、殆どはインストーラの画面におけるタイトルに合わせてあ
りますが、画面のタイトルから内容を想像し難い部分があるので、説明を良く読んでから
進める必要があります。
4.2 インストーラの起動
4.2.1
49
言語の選択
図 4.2
言語選択画面
ここでは、使用する言語として、Japanese か English を選択します。通常 Japanese
を選択します。選択した言語でインストーラが表示される他、インストール後のデフォル
トも選択した言語になります。
選択後、次へボタンをクリックして進みます。
50
4.2.2
第 4 章 インストール
キーボードの設定
図 4.3 キーボード選択画面
ここでは、使用するキーボードの種類を選択します。使用するキーボードの種類によ
り、モデルとレイアウトを選択します。キーボードの種類と、モデル・レイアウトの対応
を表 4.1 にまとめましたので、これを参考に選択してください。デッドキーについては無
効にしておきます。選択後、次へボタンをクリックして進みます。
キーボードタイプ
日本語 106
日本語 109
英語 101
英語 104
表 4.1
モデル
レイアウト
Japanese 106-key
Japanese
Japanese 106-key
Japanese
Generic 101-key PC
Generic 104-key PC
U.S. English
U.S. English
キーボードの種類と選択項目
4.2 インストーラの起動
4.2.3
51
マウスの設定
図 4.4 マウス選択画面
ここでは、使用するマウスのモデルをツリー構造になっているリストから選択しま
す。メーカ名をダブルクリックすると、そのメーカのマウス一覧が下層に表示されます
ので、そこから使用するマウスのモデルを選択します。最近のホイール付マウスでは、
“Generic” の “3 Button Wheel Mouse (PS/2)” を選択すれば良いでしょう。
シリアル接続のマウスの場合は、接続したシリアルポートも指定します。また、ホイー
ル付マウス以外の 2 ボタンマウスを使用する場合は、3 ボタンマウスのエミュレートに
もチェックマークをつけます。この 3 ボタンマウスのエミュレートとは、2 ボタンマウス
の左右ボタンを同時に押すことで、中央ボタンのクリックとみなす機能です。ホイール付
マウスの場合はホイールのクリックが中央ボタンのクリックと見なされるので、この機能
を使う必要はありません。
選択後、次へボタンをクリックして進みます。次に “ようこそ” の画面が表示されます
が、これは次へボタンをクリックして進みます。
52
4.2.4
第 4 章 インストール
インストールの種類
図 4.5
インストールの種類の選択画面
ここでは、インストールの種類を選択します。新規に Vine Linux をインストールする
場合は “インストール” を、インストール済の Vine Linux をアップグレード (バージョン
アップ) する場合は “既存システムアップグレード” を選択します。本書は初心者が対象
ですから、多くは前者を選択するでしょう。
インストールを選択した場合、さらに (1) フルインストール (全てのソフトウェアをイ
ンストール)、(2) 最小インストール (動作する最低限のソフトウェアをインストール)、(3)
カスタム (ソフトウェアを選択してインストール) の中から一つ選択します。現在の Vine
Linux は無駄なものが殆ど無いので、“フルインストール” を選択することにします。
選択後、次へボタンをクリックして進みます。
4.2 インストーラの起動
4.2.5
53
パーティションの作成
ここから HDD に、Vine Linux をインストールするためのパーティションを作成して
いきます。先に述べたように、HDD に新たなパーティションを作成する空き領域が必要
です。
■ ディスクパーティション設定
図 4.6 パーティション作成方法の選択画面
まず、パーティションを作成する方法を選択します。(1) インストーラが自動的に
パーティション設定を行う、(2)Disk Druid を使用して手動でパーティションを設定、
(3)fdisk を使用して手動でパーティションを設定の中から選択します。(1) は、あまり適
切に設定されないことがあり、(3) は初心者にはむきませんので、(2) の “Disk Druid”
を選択します。
選択後、次へボタンをクリックして進みます。
■ 必要なパーティション
予め、作成するパーティションを決めておくと良いでしょう。Linux 用のパーティショ
ンは最低でも /(ルート) とスワップの二つが必要です。Linux では、パーティションを
54
第 4 章 インストール
ディレクトリ (ファイルの入れ物のようなもの) に関連付けて使用する*1 ので、ディレク
トリ毎のファイル容量を考えてパーティションサイズを決定する必要があります。とは言
え、ディレクトリ構造を把握していないと決めるのは困難です。よってここでは、筆者
の推奨する最低限 +1 の三つのパーティションを作ることにします。使用する HDD は
10GB のもので、2GB は Windows の NTFS に使用されているものとします。
• ルートパーティション (/)
Linux を構成するファイルやディレクトリが記録されるパーティションです。
Linux のディレクトリはツリー (木) 構造になっていますが、その根元になる部分
なのでルート (root) と呼ばれます。サイズは、フルインストールをする場合で
1.7GB 程度必要ですので、ここでは余裕を見て 3GB 割り当てることにします。
ユーザのポリシーにより、ルートパーティション以下のディレクトリを他のパー
ティションとして独立させることがあります。
• ホームパーティション (/home)
ユーザが利用するファイルやディレクトリが記録されるパーティションです。
ユーザが通常使用するディレクトリが置かれるので、ホーム (home) と呼ばれます。
サイズは任意ですが、ここでは後述のスワップに使用した残りを全て割り当てるこ
とにします。このパーティションは、/home ディレクトリを独立させたものです。
他にも /usr、/var 等のディレクトリをパーティションとして独立させることが
あります。
• スワップパーティション
HDD を、メモリの一部として使用するためのパーティションです。これは
Linux のカーネルが直接使用しますので、ルートパーティション以下と結合する
わけではありません。サイズはメモリと同じか、最大 2 倍程度あれば良いでしょ
*2 ここで使用する PC のメモリは 256MB なので、倍の 512MB 確保すること
う。
にします。
• 補足: ブートパーティション (/boot)
古い PC では、ブートパーティションが必要なことがあります。Linux 起動時に
/boot ディレクトリ以下のカーネルのイメージファイルを読み込みますが、これ
が HDD の最初の方になければならない PC が存在します。このような PC では、
50MB 程度のブートパーティションを作成し、必ず /boot ディレクトリが HDD
の先頭付近に来るようにする必要があります。
*1
*2
これをマウント (mount) と言います。
ソフトウェアサスペンドを使用する場合、メモリの 1.3 倍必要になります。
4.2 インストーラの起動
55
■ ディスクの設定
図 4.7 パーティション作成画面
Disk Druid の画面になります。ここで Linux 用パーティションを作成します。画面
には、ディスクの使用状況を表す帯グラフ、パーティション操作用のボタン、ファイルシ
ステム*3 名等パーティションの詳細を表す領域が表示されます。
帯グラフの /dev/hda がプライマリ IDE インターフェイスのマスターに接続された
HDD を表しています。同様にスレーブは /dev/hdb、セカンダリ IDE インターフェイ
スのマスターとスレーブは hdc と hdd になります。また、SCSI 接続の HDD の場合は、
SCSI ID 順に sda, sdb, sdc… となります。
いくつかのボタンがありますが、パーティションの作成には 新規 (N)、フォーマットす
る前のパーティションの編集には 編集 (E)、パーティションの削除には 削除 (D)、パー
ティション作成をやり直すには リセット (R) を使用します。
ここでのパーティション作成は論理的なものなので、HDD に Linux のファイルを書き
込む前に行うフォーマットをするまでは、作成をやり直すことができます。
それでは前述の三つの Linux 用パーティションの作成を行っていきます。
*3
Windows では FAT や NTFS 等がありますが、Linux では専用のものがあります。
56
第 4 章 インストール
• ルートパーティション
新規 (N) ボタンをクリックすると、以下のようなパーティション作成用のウィン
ドウが開きます。ここでは、主にメニュー (ドロップダウンリスト等) から項目を
選択します。マウントポイントには “/” (ルート) を、ファイルシステムタイプに
は “ext3” を、容量 (MB) には “3000” (MB) を各々設定します。追加容量オプ
ションは、“固定容量” を選びます。最後に OK ボタンをクリックすると、パー
ティションが作成されます。
• ホームパーティション
先と同様 新規 (N) ボタンをクリックし、ホームパーティションを作成します。
マウントポイントには “/home” (ホーム) を、ファイルシステムタイプ には “ext3”
を、容量 (MB) には “1” (MB) を各々設定します。追加容量オプションは、“可能
な最大容量まで拡大” を選びます。最後に OK ボタンをクリックします。
• スワップパーティション
新規 (N) ボタンをクリックし、ファイルシステムタイプ には “swap” を、容量
(MB) には “512” (MB) を各々設定します。追加容量オプションは、“固定容量”
を選びます。最後に OK ボタンをクリックします。
4.2 インストーラの起動
57
• 作成したパーティションの確認
以上のパーティションを作成すると、画面は図 4.8 のようになっている筈です。
作成した順にパーティションが並ばないことがありますが、問題ありません。
問題がなければ次へボタンをクリックして先に進みます。問題があるようなら、
編集や削除ボタン等をクリックしてパーティションを調整します。
図 4.8
作成したパーティションの確認
58
4.2.6
第 4 章 インストール
ブートローダの設定
図 4.9 ブートローダの設定画面
ここでは Linux や Windows の起動を選択するための、ブートローダ (LILO) の設
定を行います。使用するブートローダの選択 には “LILO をブートローダとして使用” を
選択します。ブートローダをインストールする場所 には “/dev/hda マスターブートレ
コード (MBR)” を選択します。ただし、他のブートマネージャを使用する場合は、“ブート
パーティションの先頭セクタ” を選ぶ必要があるかも知れません (使用するブートマネー
ジャの指示にしたがって下さい)。
その下では、起動する OS の設定を行います。ここでは Linux と Windows のブート
ラベルが設定されています。ブートラベルを変更する場合は、空白を含まない 14 字以内
で入力します。一般に、デバイス が/dev/hda1 や/dev/sda1 となっているパーティショ
ンが、Windows の起動パーティションです。また、標準のブートイメージにチェックを
入れると、デフォルトで起動する OS を選択できます。設定後、次へボタンをクリックし
て進みます。
4.2 インストーラの起動
4.2.7
59
ネットワークの設定
図 4.10
ネットワークの設定画面
NIC が装着した PC では、ここでネットワークの設定を行います。3.3.3 章のケース 4
で述べた DHCP サーバ機能をルータが持っているか、ケース 5 で述べた DHCP サーバ
が LAN 内に存在する時は、DHCP を使用して設定にチェックを入れても良いでしょう。
しかし、LAN 内の他のコンピュータと通信を行う場合には、IP アドレス関連を手動で設
定します。起動時にアクティブにするにはチェックを付けます。
IP アドレス関連を手動で設定する場合は、図 4.10 を参考にして、同じ値を入力して下
さい。IP アドレスに関しては、16.1.3 章で説明します。
設定後、次へボタンをクリックして進みます。
60
4.2.8
第 4 章 インストール
タイムゾーンの選択
図 4.11
タイムゾーンの設定画面
ここでは、(主に) PC を使用する地域を指定する、タイムゾーンを選択します。デフォ
ルトで “アジア/東京” が選択されていますので、日本国内の時間帯で使用する限り変更す
る必要はありません。
“システムクロックで UTC を使用” は、PC に内蔵された時計を UTC(世界時) に合
わせるかを選択します。ここでは、Windows と共用するか、する予定のある PC では
チェックマークを付けないで下さい。
選択後、次へボタンをクリックして進みます。
4.2 インストーラの起動
4.2.9
61
アカウントの設定
図 4.12 アカウントの設定画面
ここではスーパユーザのパスワード設定と、一般ユーザの作成を行います。一般ユーザ
は後からでも作成できますが、スーパユーザで作業をするのは危険なので、暫定的なもの
で構わないので作成して下さい。
■ スーパユーザのパスワード設定
まず、スーパユーザのパスワードを設定します。root パスワード: と 確認: の入力エ
リアに、同じパスワードを入力します (安全のため、入力した文字は * で表示されます)。
パスワードは 6 文字以上の長さが必要です。長さの上限は 256 文字まで使用できますが、
他のソフトウェアやシステム (OS) との混在を考えた場合、8 文字以内にしておいたほう
が無難かも知れません。入力すると、入力エリアの下に root パスワード確定 と表示さ
れます。スーパユーザはユーザ名 (アカウント名) が root となり、OS の管理等を行う時
にこのユーザ名でログインします。
62
第 4 章 インストール
■ 一般ユーザの作成
次に、一般ユーザの作成を行います。追加ボタンをクリックすると、一般ユーザを作成
するためのウィンドウ (図 4.13) が開きます。このウィンドウでは、ユーザ名: にユーザ
名 (アカウント名)、パスワード: と確認: にパスワードを入力します (同じパスワードが
入力されれば、ユーザパスワード確定 と表示されます)。名前: については本名等を入力
しますが、必須ではありません。これらを入力したら、OK ボタンをクリックし、この
ウィンドウを閉じます。
図 4.13 一般ユーザの作成画面
■ ユーザ作成の確認
元の画面に戻ると、作成したユーザが表示されている筈です。必要であれば、他のユー
ザも作成します。確認後、次へボタンをクリックして進みます。
図 4.14 ユーザ作成の確認画面
4.2 インストーラの起動
4.2.10
63
グラフィカルインターフェイス (X) の設定
図 4.15
X の設定画面
ここでは、ビデオカードの種類と、ビデオメモリのサイズ等を設定します。
X Window System を使用するには、ビデオカードを適切に選択しなくてはなりませ
ん。デバイス ID がインストーラのデータベースに登録された AGP や PCI スロット用
のビデオカードは、カードの種類や使用するアクセラレータチップが自動検出されます。
もし自動検出されない場合は一覧から適合するものを探さなければなりませんが、この場
合は X Window System が動作しない確率が高いと言えます。また、似たような型番で
は動かないこともあります。
ビデオカード RAM は、ビデオカードに搭載されたメモリのサイズです。自動検出され
ない場合は、正しいサイズを選択します。
X の設定を行わない は、対応していないビデオカード等で X Window System の設定
を行わない時等に、チェックマークを付けます。
選択後、次へボタンをクリックして進みます。
64
4.2.11
第 4 章 インストール
インストール準備完了
図 4.16 インストール準備完了
ここでは、ソフトウェアの HDD へのインストールの準備ができたことを報告していま
す。この時点なら、前の設定画面に戻ることができます。本当に HDD へのインストール
を開始して良ければ、次へボタンをクリックします。
4.2 インストーラの起動
4.2.12
65
パッケージのインストール
図 4.17
パッケージのインストール画面
ソフトウェアの HDD へのインストールが開始されると、進行状況が棒グラフで表示さ
れます。PC の能力により、終了までの時間はまちまちです。PC によっては棒グラフの
変化が数分とまることがあるかもしれませんが、慌てずに様子を見て下さい。
66
4.2.13
第 4 章 インストール
モニタの設定
図 4.18 モニタの設定画面
ここでは、モニタの種類を選択します。ポイントとなるのは、垂直・水平同期周波数範
囲です。DDC(Display Data Channel) に対応したモニタとビデオカードの場合、自動的
にモニタ名とスペックが設定されます。そうでない場合は手動で選択します。使用するモ
ニタ名が無い時は、汎用から選択するか、水平同期: と 垂直同期: を入力して下さい。
選択後、次へボタンをクリックして進みます。
4.2 インストーラの起動
4.2.14
67
X 設定のカスタマイズ
図 4.19
X 設定のカスタマイズ画面
ここでは、色深度*4 、画面の解像度、ログインの種類をカスタマイズすることができ
ます。
モニタの設定から、比較的無難な色深度と画面の解像度が自動設定されますが、これら
をカスタマイズすることができます。1280 × 1024 を超える高解像度のモニタを使用す
る場合は、ここで設定し直すと良いでしょう。
また、ログインの種類として、GUI を使用したグラフィカル か、文字ベースのテキス
トかを選択します。ログインの種類を変更する方法は後述しますので、説明の都合上、こ
こでは必ず “テキスト” を選択してください。
選択後、次へボタンをクリックして進みます。
*4
同時に使用できる色数です。
68
4.2.15
第 4 章 インストール
インストールの完了
図 4.20
インストールの完了画面
インストール完了を報告する画面です。
終了ボタンをクリックすると、PC を再起動します。この時、CD-ROM を自動的にイ
ジェクトするので取り出します。もしくは、再起動時に BIOS の設定を CD-ROM から
起動しないように戻せば、CD-ROM を取り出さなくても構いません。またブートフロッ
ピーを使用した場合は、クリックする前 (または BIOS 画面の間) に取り出しておきます。
再起動すると、5 章で説明するブートローダのメニューが表示されます。
69
第5章
Linux の起動と終了
インストールが完了したので、まず Vine Linux の起動と終了方法について説明し、次
の章から Linux の具体的な話に入ります。特に終了方法については、Windows と同様い
きなり電源を落としてはいけませんので、注意して下さい。
5.1
Linux の起動
電源スイッチを入れて PC を起動すると (インストール後なら自動的に再起動して)、し
ばらくしてブートローダのメニュー画面 (図 5.1) になります。Linux の起動は、このメ
ニューから次のように行います。
図 5.1 ブートローダのメニュー
70
第 5 章 Linux の起動と終了
5.1.1
起動 OS の選択
メニュー左上に、起動可能 OS の一覧が表示されます。白文字になっている OS が起動
します。デフォルトで起動する OS は、インストール時に指定したものになっている筈で
✄
✄
✄
す。一覧の OS は、カーソルキーの ✂↑ ✁と ✂↓ ✁キーで選択でき、 ✂Enter ✁キーを押すか、タ
イムアウトすると OS が起動します。具体的には、linux を選べば Vine Linux が、win
を選べば Windows が起動します。
Vine Linux が起動すると、画面にはハードウェアの情報や予め起動しておくソフト
ウェア*1 に関して等、色々なメッセージが表示されます。
5.1.2
マルチプロセッサ/Hyper Thread
マルチプロセッサや Intel の Hyper Thread(HT) 機能を搭載した CPU を使用した
PC の場合、起動可能 OS の一覧に自動的に linux-up が追加されます。これは、マルチ
プロセッサ/HT のサポートを無効にして起動します。マルチプロセッサ/HT を有効にす
ると問題がある時に使用します。
5.1.3
Linux が起動しなかった場合
インストールした Linux が正常に起動しない場合、ブートローダのメニューが表示さ
れるか、Linux の起動中に止まるかで、対応が異なります。
ブートローダが起動しなかった場合は、インストールに使用した CD-ROM からレス
キューモードで起動し、問題のある箇所を修正します (図 4.1 の画面に表示されるプロン
✄
プトから、linux rescue ✂Enter ✁と入力します。ただし、日本語は使用できません)。
■ ブートローダのメニューが表示されない場合
しかし、現時点でこれを行うには、まだ基本的な知識 (エディタの使用方法や設定ファ
イルについて) が足りません。よって、建設的な方法ではありませんが、再度 Vine Linux
をインストールした方が早いかも知れません。また Windows とのデュアルブートでイン
ストールして失敗し、一旦インストール前の状態に戻したい場合は、マスターブートレ
*2
コード (MBR) を修復コンソール等から修復してください。
■ 起動中に止まる場合
ブートローダのメニュー画面から Linux の起動を指定後、起動途中で止まってしまう
場合は、カーネルオプションを与えると起動することがあります。これは、PC の構成や
*1
*2
こういったソフトウェアをデーモン等と言います。デーモンについては後述します。
Windows 98 等では、起動ディスクを使用します。
5.2 ログインとログアウト
71
BIOS 等の問題で、デフォルトのカーネル設定では正常に動かない場合があるからです。
このような場合に、カーネルオプションを与えて一部の設定を変更することができます。
✄
カーネルオプションを与えるには、ブートローダのメニュー画面 (図 5.1) で ✂Esc ✁キー
を押して、boot: のプロンプトを表示させます。ここから linux カーネルオプション
✄
✂Enter ✁と入力して起動します。カーネルオプションには、表 5.1 のいずれかを試して下
さい。
カーネルオプション
説明
apm=on acpi=off
APM を ON、ACPI を OFF に (古
noapic noacpi acpi=off apm=on
上記に加え、APIC と ACPI を使用
pci=noacpi
PCI の初期化に ACPI を使用しない
い PC 向け)。
しない (SMP 向け)。
(BIOS のできが怪しい PC 向け)。
表 5.1
起動時のカーネルオプション
正常に起動するカーネルパラメータが見付かったら、12.4.1 章を参考にして、設定ファ
イル/etc/lilo.conf にカーネルパラメータを加えて下さい。
5.2
ログインとログアウト
Vine Linux が起動すると、画面には図 5.2 のようにメッセージ (issue) と login: の
ログインプロンプトが表示されます。この画面を、コンソールと言います。ログインプロ
ンプトの右側にあるアンダーバーを文字カーソルと言い、キーボードからの入力は文字
カーソルの位置に表示されます。文字カーソルは、状況によって四角かったり点滅してい
たりする場合がありますが、そこに文字が入力できる点は変わりありません。
図 5.2 ログインプロンプト
5.2.1
ログイン
前述のように、Linux はログインプロンプトから一般ユーザやスーパユーザ (root) で
ログイン(login) してから使用します。ログインするには、login: のプロンプトに対し
72
第 5 章 Linux の起動と終了
✄
てユーザ名 ✂Enter ✁キーを、Password: のプロンプトに対して (インストール時に) 設定
✄
したパスワード ✂Enter ✁キーを入力します。
例えばユーザ hane でログインすると、[hane@localhost hane]$ のプロンプトが表
示され、コマンドの入力待ちになります。ログインしたユーザは、プロンプトからコマン
✄
ド (命令)+ ✂Enter ✁を入力して、Linux に指示を与えることができます。 コマンドは、
小さなユーティリティソフトウェアから大規模なアプリケーションソフトウェアまで様々
です。
ログアウト
5.2.2
✄
✄
Linux の使用が終わったら、プロンプトから logout ✂Enter ✁または exit ✂Enter ✁のコマ
✄
✄
ンドを入力するか、 ✂Ctrl ✁+ ✂D ✁ を押して*3 、ログアウト(logout) します。ログアウトす
ると再びログインプロンプトが表示され、次に使用するユーザがログインできるようにな
ります。
5.2.3
コンソール画面にならない場合
4.2.14 章の設定のところで、ログインの種類にグラフィカルを選択してしまった場合は
コンソールにならず、GUI を使用したログイン画面となります。
X Window System 上からのログインについては後で説明しますので、取り敢えず右上
にある システム のアイコンをクリックして表示されるウィンドウから、“コンピュータを
再起動 (R)” を選択後、OK ボタンをクリックし、一旦 PC を再起動します。
✄
再起動後、ブートローダのメニュー画面 (図 5.1) で ✂Esc ✁キーを押して、boot: のプ
✄
ロンプトを表示させます。ここから図 5.3 のように linux 3 ✂Enter ✁と入力して下さい。
これでコンソールが表示されます。
✞
✝
✄
boot: linux 3 ✂Enter ✁
✆
図 5.3 X Window System 起動の抑止
5.3
Linux の終了
Linux を含む UNIX 系の OS では終了時に シャットダウン(shutdown) と言う操作が
必要です。
*3
✄
✄
✂Ctrl ✁キーを押しながら ✂D ✁キーを押します。
5.3 Linux の終了
5.3.1
73
シャットダウンの目的
シャットダウンは、HDD のキャッシュメモリと HDD の物理的な内容を一致させた
り、起動中のソフトウェアを安全に終了させるため等に必要です。もし、シャットダウン
を行わずに電源を切ると、最悪の場合 HDD の内容が破損*4 し、Linux が起動できなく
なってしまいます。最近の Linux では内容が破損し難くなっていますが、それでも 100%
安全なわけではありません。
5.3.2
シャットダウンの方法
シャットダウンを行うためには、スーパユーザ (root) でログイン後、図 5.4 のように
shutdown コマンドを実行します。
✞
✝
✄
[root@localhost root]# shutdown -ht0 now ✂Enter ✁
図 5.4
✆
shutdown コマンドの実行例
shutodown コマンドを実行すると、システムが停止 (halt) した旨を知らせるメッセー
ジ (Power down.) が表示されますので、そうしたら電源を切って構いません。
な お 、ACPI(Advanced Configuration and Power Interface) や APM(Advanced
Power Management) に対応した PC の場合は、自動的に電源が切れます(対応してい
ても電源が切れない PC も存在します)。ただし、マルチプロセッサや HT に対応した
CPU を搭載した PC では、電源は切れません (linux-up を使用した場合を除く)。
shutdown コマンド実行時に、-ht0 の代わりに -rt0 を使用すると、PC は再起動しま
す。また、-ht60 とすれば、60 秒後に shutdown を開始することができます。
*4
極希に物理的に HDD が破損することもあります。
第 III 部
基本操作
77
第6章
コマンド➀
この章では、文字ベース (CUI) で Linux に命令を与えるコマンド (command) に
ついて説明します。 Linux でもデスクトップ環境の利用が増えつつある今日では少々古
臭く感じるかも知れませんが、コマンドの使用はとても重要なものです。
6.1
コマンドの実行
ここでは、コマンドを利用する際に必要な、基本的な知識について説明します。文字
ベースと言うととっつきにくい印象があるかも知れませんが、高度に進化した Linux の
それは、意外と使いやすく感じるかも知れません。
6.1.1
コマンドラインインターフェイス
既にシャットダウンの作業でコマンドを実行しましたが、あのようにプロンプトからコ
マンドを入力して実行することを、コマンドラインインターフェイスと言います。コマ
ンドを実行すると、結果が画面に表示されます。この表示できる文字の量は決まってい
て、デフォルトでは 80 桁× 25 行です。最下行まで表示すると、順次スクロールしてい
きます。
この一見古めかしいコマンドラインインターフェイスを説明するのは、Linux で GUI
環境が利用できると言っても、その土台には CUI 環境が存在するからです。つまり、
Linux の GUI 環境は CUI 環境の上に構築されたものであり、何らかの要因で GUI が使
用できなくなった場合には、CUI を知っていなければ対処できないのです。
また、Windows のコマンド (MS-DOS) プロンプトを使ったことがある人であれば、
Linux のコマンドラインインターフェイスと良く似ていることに気付くでしょう。それも
その筈で、コマンド (MS-DOS) プロンプトのコマンドラインインターフェイスも、Linux
の手本となった UNIX のものを参考にしてつくられたものなのです。もっとも、UNIX
コマンドラインインターフェイスのほうが、はるかに高機能です。
✄
shutdown コマンドの説明では、プロンプトからコマンドを入力し最後に ✂Enter ✁キー
第 6 章 コマンド➀
78
✄
を入力すると記述しましたが、これ以降は特に解りにくい場合等を除いて ✂Enter ✁キーの
✄
入力は明記しません。プロンプトからの入力の最後には、✂Enter ✁キーを入力するものとし
て読んで下さい。
また、基本的に一般ユーザでの実行・操作を前提に説明しています。これは、不注意等
による OS の破壊を防ぐと言う目的の他に、マルチユーザの OS を使用する上で、きちん
とユーザの存在を意識すると言った理由があります。スーパユーザの権限で実行等が必要
な時には、その都度説明します。よって、通常はインストール時作成した一般ユーザでロ
グインし、以下に説明するコマンドを実行するものとします。
本文中に表示されるプロンプトは、ホスト名が localhost の PC に、ユーザ名が hane
のユーザがログインしたもの ([hane@localhost hane]$) です (hane の部分にはユーザ
名が入ります)。ネットワークの設定でホスト名を設定して時のプロンプトは、[hane@ホ
スト名 hane]$となります。
6.1.2
コマンド実行の基本
コマンドの実行は、ログイン後に表示されるプロンプトから、コマンド名 + αを入力
✄
し、最後に ✂Enter ✁キーを押して実行するのが基本です。+ αとは、実行するコマンドに
与える引数で、コマンドの動作を切替えるオプションや、ファイル名等が指定されます。
コマンドと引数は、スペース (空白文字) で区切ります。
これから説明するコマンドには基本的な usage (使用方法) を載せていますが、ここで
引数に [xxx] とある場合、xxx は省略できることを表しています。例えば以下のような
場合、command name コマンド実行時に、xxx は省略できることを表しています。ただ
し、間違えて括弧 ([,]) まで入力しないように注意して下さい。
usage: command_name [xxx]
またコマンドの入力時には、以下に述べる非常に強力な機能が利用できます。ですか
ら、過去に UNIX や DOS を利用して、コマンドラインインターフェイスを敬遠してい
たユーザでも、かなり便利と感じることでしょう。また、初めてコマンドラインインター
フェイスを使用するユーザも、意外とキータイプ数が少なく感じるかも知れません。
この、6.1.2 章で説明する機能は、1.3.1 章で述べたシェルが提供しています。シェル
は、ユーザと OS との仲介を行い、ユーザの命令 (コマンド) を OS に実行させます。シェ
ルには色々な種類がありますが、本章では bash(GNU Bourne-Again SHell) を使用しま
す。シェルによって、提供される機能が異なる点には注意してください。
■ 文字編集
プロンプトから入力した文字は、カーソルキーやバックスペースキーで編集することが
できます。左右のカーソルキーは、文字カーソルを移動します。文字カーソルの位置で、
バックスペースキー (文字カーソルの左の文字を削除)、デリートキー (文字カーソルの右
の文字を削除) が使用できます。
6.1 コマンドの実行
79
■ ヒストリー機能
上下のカーソルキーで、ヒストリー機能が利用できます。ヒストリー機能とは、いまま
でに実行したコマンドの履歴を表示し、それを再度実行できる機能です。上カーソルキー
を押していくと、今までに実行したコマンドが遡ってコマンドラインに表示されます。下
カーソルキーはその逆で、現在表示中のコマンドラインの次に実行されたコマンドが表示
されます (history コマンドで、一覧を表示することもできます)。
コマンドラインに表示中の文字列は、自由に編集することもできます。また、直前に実
行したコマンドを再度実行する場合は、上カーソルキーの代わりに、!!(感嘆符二つ) とし
ても同じ動作をします。
■ 補完機能
コマンドや後述のファイル名の入力を補う機能を、補完機能と言います。補完機能を使
えば、コマンド等を特定できるだけの文字を入力をすれば、残りを補ってくれます。
✄
具体的には、コマンドやファイル名の入力途中で ✂Tab ✁キーを押すと、補完できれば
補完し、候補が複数あり補完できない場合は候補の一覧を表示します。図 6.1 のように、
✄ ✄ ✄
✄
✂ l ✄✁✂ s ✄✁✂Tab ✁✂Tab ✁と入力すると、先頭に ls がつくコマンドの一覧が表示されます。さら
に ✂a ✁✂Tab ✁と入力すると、lsa が先頭につくコマンドは一つしかないので、残りの ttr
の文字が補完されます。
なおこれからは、プロンプトからのコマンド実行を、図 6.1 のように囲みで表します。
✞
✝
✄
✄
[hane@localhost hane]$ ls ✂Tab ✁✂Tab ✁
ls lsattr lsdev lsdic
✄ ✄
[hane@localhost hane]$ lsattr ← ✂a ✁✂Tab ✁と入力して ttr が補完
図 6.1
✆
補完機能の例
このように補完機能を利用すれば長いコマンドやファイル名でも、ユニークであれば比
較的容易に入力することができます。
6.1.3
コンソールにおける日本語表示
ログインする画面をコンソールと呼ぶと言いましたが、チップセットが i81x 等一部の
PC ではコンソールで日本語を表示できません。このような場合、予めコマンドを実行し
て日本語を表示可能にしておく必要があります。
試しに date コマンドを実行すると、日本語が表示可能であれば図 6.2 のようになりま
す。日本語の部分が文字化けする場合は、次のコマンドを実行してください (文字化けし
第 6 章 コマンド➀
80
ていなければ、次のコマンドは実行しないで下さい)。
✞
✝
[root@localhost root]# date
2004 年 7 月 24 日 土曜日 04:52:25 JST
✆
図 6.2 日本語表示の例
スーパユーザでログインしたら、図 6.3 のコマンドを実行します。一瞬画面が点滅し、
文字カーソルの形状が四角の点滅に変化します。これで表示できる量が 80 桁× 30 行に
なり日本語が表示できるようになります。このとき、ビデオモードが切り替わるので、最
下行の表示が欠けることがあります。このような場合は、取り敢えずモニター側で調整し
てください。
✞
✝
[root@localhost root]# modprobe vga16fb
✆
図 6.3 日本語表示を可能に
以上のコマンドを実行しても日本語が表示できない場合は、コマンドの先頭に eng を
付け、eng date のように英語表示で実行してください。
6.1.4
man コマンドの活用
コマンドの説明をはじめる前に、是非とも知っておいて欲しいコマンドとして、オン
ラインマニュアルを表示する man コマンドを紹介します。本書の説明に出てこないオプ
ションや、さらに詳しく知りたい場合は、この man コマンドで調べると良いでしょう。
使用方法は、以下の通りです。
usage: man [n] キーワード
キーワードには、コマンド名, 設定ファイル名, 関数名/システムコール*1 等が指定でき
ます。オンラインマニュアルの基本は英文ですが、和文が用意されているコマンドも存在
します。man コマンドを使用すると、英文が表示されます。jman コマンドを使用すると、
和文のものがあれば和文が、無ければ英文が表示されます。なお、英文と和文とで、内容
の整合性が取れていないことがありますが、その場合は原文 (多くの場合英文) を参照す
るようにしてください。
n には、キーワードの種類を指定します。これは、同一のキーワードが複数存在する
場合に、どれを表示するか指定します。もしも関数名のつもりで man コマンドを実行し
*1
プログラミング時に使用するもの。
6.2 ファイル関連コマンド
81
たのに、コマンドの説明が表示されてしまった場合には、whatis コマンドで、そのキー
ワードにどんな種類があるのか確認して下さい。
whatis コマンドの使用方法は以下のとおりです。
usage: whatis キーワード
例えば printf について whatis コマンドで調べると、図 6.4 のような結果が表示さ
れます。表示は左から、キーワード、man コマンドで指定する種類、説明です。種類を指
定するとき、whatis コマンドの結果にある括弧は不要ですので、man 3 printf 等とし
ます。
例外として、キーワードの右に [builtins] とある場合は、それがシェルの内蔵コマン
ド*2 であることを表示していて、この場合はプロンプトから help printf を実行すれば
ヘルプメッセージが表示されます。
✞
✝
[hane@localhost hane]$ whatis printf
printf
(1) - format and print data
printf
(3) - formatted output conversion
printf [builtins]
(1) - bash built-in commands, see bash(1)
[hane@localhost hane]$
✆
図 6.4 whatis コマンド実行例
また一般的に、コマンドのオプションに -h や --help 等を与えて実行すると、実行し
たコマンドの簡単な使用方法が表示されることも覚えておくと良いでしょう。
ファイル関連コマンド
6.2
Linux では、HDD 等の補助記憶装置に情報を記録するのに、ファイルと言う単位で処
理します。このファイルには、色々な種類があります。例えば、ソフトウェア, 画像, 文字
情報 (テキスト) 等は、ファイルとして HDD に記録 (保存) されます。ここでは、ファイ
ル関連のコマンドを説明します。
6.2.1
ディレクトリとファイル
*3
ファイルを整理するために、ディレクトリという入れ物のようなものを使用します。
ファイルはディレクトリに格納され、ディレクトリはディレクトリの中にも作成すること
ができます。よってファイルとディレクトリは、図 6.5 のようにツリー (木) 構造がとれ
*2
*3
コマンドの種類については後述します。
ディレクトリは Windows や Macintosh で言うところのフォルダに相当します。
第 6 章 コマンド➀
82
るようになっています。図から判るように、同じ階層にはファイルとディレクトリが混在
できます。ディレクトリを用途別に分けることで、ファイルをわかりやすく分類して置け
るようになっているのです。
/
bin
file1
file2
ディレクトリ
usr
local
bin
bin
file4
file3
ファイル
file5
図 6.5 ファイル/ディレクトリの階層構造
ところで、図 6.5 において、file2 を指定するにはどうしたら良いのでしょうか? file2
は、bin の中に入っていることが判ります。よって、以下のように指定します。
/bin/file1
同様に file4 は以下のように指定します。
/usr/bin/file4
このように、ディレクトリを /(スラッシュ) で区切って表すルールなのです。なお先頭
に / が付くのは、ツリー構造の起点を表しているからです。この起点となる / ディレク
トリを、ルート (root) ディレクトリと言います。*4
6.2.2
ワイルドカード
次にファイル操作について説明しますが、操作時に特定のルールにそった、例えば頭に
lx が付いたり、後ろに .tex がついたファイルやディレクトリを対象に操作したい場合
があります。このような時に、ワイルドカードを利用すると便利です。
ワイルドカードは、‘*’(アスタリスク) や ‘?’(クエスチョンマーク) といった特別な
意味を持った文字を使用することにより、ファイルやディレクトリを柔軟に指定します。
‘*’ は全ての文字列をさし、‘?’ は任意の一文字をさします。両者が文字列と一文字で
異なる点に注意して下さい。
このワイルドカードを利用すると、表 6.1 のようにファイルやディレクトリを指定する
ことができます。‘?’ は、表 6.1 のように一つだけでも使えますし、‘??’ のようにして
任意の二文字を指定したり、‘*’ と組み合わせたりすることもできます。
*4
スーパユーザの root とは異なります。
6.2 ファイル関連コマンド
例
83
該当するファイルとディレクトリ
*
全て (ただし、‘.’(ドット) で始まるものは例外)
a*
*.tex
a で始まるもの全て
.tex で終わるもの全て
*linux*
linux が含まれるもの全て
?
一文字のもの全て
file?
?file.tex
? に一文字が入るもの全て
? に一文字が入るもの全て
表 6.1 ワイルドカードの例
6.2.3
ファイル操作
いよいよ、ファイルの一覧、複写、移動、削除、名称変更、ディレクトリの移動、作成、
削除等のコマンドを説明します。また、実行例も併せて紹介しますので、コマンドの実行
結果を良く確認して下さい。
■ ls - list directory contents
usage: ls [オプション] [ファイル・ディレクトリ名]
ls コマンドは、カレントディレクトリ (後述) にあるファイルやディレクトリの一覧を
表示します。
ls コマンドの主なオプションを、表 6.2 に示します。
オプション
説明
-a
全てのファイルを表示します。
-F
ファイルの種類を区別して表示します。
-l
ロングフォーマットで表示します。
-d
--full-time
ディレクトリ自体の情報を表示します。
--color=WHEN
表示色の指定です。WHEN には auto, always, never が入りま
日付・時刻に関する全ての情報を表示します。
す。色をつける場合は auto か always を、色をつけない場合に
は、never を指定します。
表 6.2
ls コマンドの主なオプション
オプションを何も付けずに ls コマンドを実行すると、図 6.6 のように通常のファイ
ルとディレクトリが表示されます。この例では、ディレクトリ lib, rpm とファイル
sample1, sample2, sample3 が表示されています。ここでは、ディレクトリの最後に
第 6 章 コマンド➀
84
‘/’ がつくことに注目して下さい。つまり、-F オプションが自動的に使用されているの
です。この自動的に使用される仕組については、8.4.2 章で説明します。
✞
✝
[hane@localhost hane]$ ls
lib/ rpm/ sample1 sample2
[hane@localhost hane]$
sample3
✆
図 6.6 ls コマンド実行例 (1)
引数にディレクトリ名を指定すれば、ディレクトリ以下に存在するファイルやディレク
トリを表示できます (図 6.7)。
✞
✝
[hane@localhost hane]$ ls rpm
BUILD/ RPMS/ SOURCES/ SPECS/
[hane@localhost hane]$
SRPMS/
✆
図 6.7 ls コマンド実行例 (2)
-l オプションを使用すると、図 6.8 のようにロングフォーマットで表示することがで
きます。
✞
✝
[hane@localhost
合計 96
合計 96
drwxr-xr-x
3
drwxr-xr-x
7
-rw-r--r-1
-rw-r--r-1
-rw-r--r-1
[hane@localhost
hane]$ ls -l
hane
hane
hane
hane
hane
hane]$
hane
hane
hane
hane
hane
4096
4096
12345
56789
10000
Jul
Jul
Jul
Jul
Jul
29 2004 lib/
29 2004 rpm/
29 00:15 sample1
29 00:15 sample2
29 00:16 sample3
✆
図 6.8 ls コマンド実行例 (3)
図 6.8 の実行結果を例に、ロングフォーマットの各項目を説明しておきましょう。表
6.3 は、rpm ディレクトリを例に説明しています。ここで注目して欲しいのは、オーナや
グループの項目がある点です。オーナは所有者、グループは所属するグループを表してい
ます。Linux は、オーナ、グループ、その他ユーザの三種類に分けて、ファイル/ディレ
6.2 ファイル関連コマンド
85
クトリのアクセスを制御しているのです。この点からも Linux がマルチユーザの OS で
あることを確認できます。
フィールド
説明
drwxr-xr-x
7
モード (属性) を表します。
hane
オーナ名を表します。
hane
4096
グループ名を表します。
Jul
作成/更新された月を表します。
29
2004
作成/更新された日を表します。
rpm/
ファイル/ディレクトリ名を表します。
リンク数を表します。あまり意識する必要はありません。
サイズをバイト単位で表します。
作成/更新された年または時間を表します。
表 6.3 ロングフォーマットの各フィールド
モードを表す文字は、さらに図 6.9 のように ➀∼➃ のフィールドに分けられ、それぞ
れ表 6.4 の意味を持っています。
drwxr-xr-x
4
3
2
1
図 6.9
ファイルのモード
フィールド
説明
➀
種類を表します。- は通常のファイル。d はディレクトリを表し
ます。これら以外に、l, c, b 等があります。
➁
オーナのファイルアクセスモードを表しています。r は読み取り
許可、w は書き込み許可、x は実行許可があることを表し、− の
場合は許可がないことを表します。ディレクトリの場合には、x
はアクセス許可を表します。
➂
グループのファイルアクセスモードを表しています。意味はオー
ナの場合と同様です。
➃
その他ユーザのアクセスモードを表しています。意味はオーナの
場合と同様です。
表 6.4
モードの各フィールド
第 6 章 コマンド➀
86
ls コマンドで注意するのは、最初の一文字がドット (.) ではじまるファイル名は、-a
オプションをつけなければ表示されない点です(図 6.10)。-l に加えて-a も指定する時、
つまり複数のオプションをつける時は、-la とオプションを並べて記述できます。
✞
✝
[hane@localhost hane]$ ls -a
./
.bashrc
../
.canna
.Xresources
.cshrc
.bash_history .emacs
.bash_logout
.emacs-color.el
.bash_profile .emacs-faces.el
[hane@localhost hane]$
図 6.10
.emacs-fontset.el
.emacs.el
.jedrc
.liece/
.mew.el
.rpmmacros
.screenrc
.xemacs/
.xemacs.el
lib/
rpm/
sample1
sample2
sample3
✆
ls コマンド実行例 (4)
■ cd - Change the current directory to DIR
usage: cd [移動先ディレクトリ]
cd コマンドは、カレントディレクトリを移動します。6.2.1 章で、ディレクトリはツ
リー構造をとれると述べましたが、ユーザが現在位置するディレクトリを、カレントディ
レクトリと言います。カレントディレクトリは、許可がある限り自由に移動することがで
きます。そしてユーザがログインした直後のカレントディレクトリを、ホームディレクト
リと言います。ホームディレクトリは、~ (チルダ) 記号で表すこともできます。ユーザ固
有のファイルは、ホームディレクトリ以下に置きます。カレントディレクトリを確認する
には、pwd コマンドを使用します。
図 6.11 は、ホームディレクトリから pwd コマンドで現在位置を確認しつつ、カレント
ディレクトリを移動した例です。移動先のディレクトリは、カレントディレクトリに存在
するものや、ルートディレクトリから全て記述して指定します。プロンプトの変化にも注
目してください。また、移動先ディレクトリの指定にも、前述の補完機能が使用できます。
6.2 ファイル関連コマンド
87
✞
✝
[hane@localhost
/home/hane
[hane@localhost
[hane@localhost
/home/hane/rpm
[hane@localhost
[hane@localhost
hane]$ pwd
hane]$ cd rpm
rpm]$ pwd
rpm]$ cd /usr/local/bin/
bin]$
図 6.11
✆
cd コマンド実行例 (1)
ディレクトリやファイルを指定する時、特別なディレクトリ名として ‘.’(ドット) と
‘..’(ドットドット) が使用できます。‘.’ はカレントディレクトリを、‘..’ は一つ上
位階層のディレクトリを表します。これらを使用すると、図 6.12 のようにカレントディ
レクトリを移動することができます。
図 6.12 では最後に cd コマンドをオプション無しで実行し、ホームディレクトリに移
動しています。
✞
✝
[hane@localhost
/usr/local/bin
[hane@localhost
[hane@localhost
/usr
[hane@localhost
[hane@localhost
/home/hane
[hane@localhost
bin]$ pwd
bin]$ cd ../..
/usr]$ pwd
/usr]$ cd
hane]$ pwd
hane]$
✆
図 6.12
cd コマンド実行例 (2)
上記の説明では、移動先のディレクトリの指定方法が二種類ありました。一つは、カレ
ントディレクトリから相対的に移動先を指定する方法で、これを相対パス (path) と言い
ます。もう一つは、/(ルートディレクトリ) から全てのディレクトリを書き並べて指定す
*5 先の例で言うなら、cd rpm や cd ../.. は相
る方法で、これを絶対パスと言います。
対パスでの移動で、cd /usr/local/bin は絶対パスでの移動です。
これら相対パスと絶対パスは、cd コマンドに限らず、ファイル名やディレクトリ名の
指定時全てにおいて使用することができます。
*5
絶対パスは、フルパスと呼ばれることもあります。
第 6 章 コマンド➀
88
■ mkdir - make directories
usage: mkdir [オプション] ディレクトリ名 [ディレクトリ名…]
mkdir コマンドは、ディレクトリを作成します (図 6.13)。ディレクトリ名は、一つ以
上を指定します。ディレクトリ名は、(いわゆる) 半角英数字で最大 255 文字まで使用で
きます。記号も使用できますが、特別な意味を持っていることがあるので、-(ハイフン)、
_(アンダーバー)、.(ドット)、+ (プラス) 以外はあまり使用されません。また、ディレク
トリ名中にスペース (空白文字) を使用したい場合は、\(バックスラッシュ or 円記号) を
*6
スペースの前に付けるか、ディレクトリ名を’(シングルクォート) で括って指定します。
✞
✝
[hane@localhost
[hane@localhost
合計 100
drwxr-xr-x
3
drwxr-xr-x
7
-rw-r--r-1
-rw-r--r-1
-rw-r--r-1
drwxr-xr-x
2
[hane@localhost
hane]$ mkdir testdir
hane]$ ls -l
hane
hane
hane
hane
hane
hane
hane]$
hane
hane
hane
hane
hane
hane
4096
4096
12345
56789
10000
4096
Jul
Jul
Jul
Jul
Jul
Jul
29
29
29
29
29
31
08:59
08:59
00:15
00:15
00:16
05:41
lib/
rpm/
sample1
sample2
sample3
testdir/
✆
図 6.13
mkdir コマンド実行例 (1)
オプションは殆ど無いのですが、良く使うものとしては -p があります。このオプショ
ンは図 6.14 のように、下位のディレクトリまで一度に作成することができます。
✞
[hane@localhost hane]$ mkdir dir1/dir2/dir3
mkdir: ディレクトリ ‘dir1/dir2/dir3’ を作れません: そのようなファイルやディレク
トリはありません
✝
[hane@localhost hane]$ mkdir -p dir1/dir2/dir3
[hane@localhost hane]$ cd dir1/dir2/dir3
[hane@localhost dir3]$ pwd
/home/hane/dir1/dir2/dir3
[hane@localhost dir3]$
図 6.14
*6
mkdir コマンド実行例 (2)
筆者は、見難くなるのでまずスペースは使いません。
✆
6.2 ファイル関連コマンド
89
■ rmdir - remove empty directories
usage: rmdir [オプション] ディレクトリ名 [ディレクトリ名…]
rmdir コマンドは、ディレクトリを削除します。削除するディレクトリの中に、ファイ
ルやディレクトリが存在してはなりません。また、図 6.15 では、ls コマンドの -d オプ
ションを使用しています。
✞
✝
[hane@localhost hane]$ ls -ld testdir
drwxr-xr-x
2 hane
hane
4096 Jul 31 05:41 testdir/
[hane@localhost hane]$ rmdir testdir
[hane@localhost hane]$ ls -ld testdir
ls: testdir: そのようなファイルやディレクトリはありません
[hane@localhost hane]$ rmdir dir1
rmdir: dir1: ディレクトリは空ではありません
[hane@localhost hane]$
図 6.15
✆
rmdir コマンド実行例
■ cp - copy files and directories
usage: cp [オプション] ファイル名 1 ファイル名 2
cp コマンドは、ファイル名 1 をファイル名 2 にコピー (複写) します。良く使うオプ
ションとして、表 6.5 のものがあります。通常 cp コマンドでコピーしたファイルは、オ
リジナルのファイルとはタイムスタンプが異なります。よって、タイムスタンプを同じに
したいのであれば、-p オプションを使用する必要があります。
オプション
説明
-r
ディレクトリごとコピーします。
-p
-a
タイムスタンプ等のアトリビュート (属性) もコピーします。
指定したファイルを、ディレクトリやタイムスタンプ等も含めて完全
な形でコピーします。-r や -p の機能も含みます。ただし、実行す
るユーザに許されない機能は自動的にキャンセルされます。
表 6.5
cp コマンドの主なオプション
図 6.16 の例は、単純なファイルのコピーです。タイムスタンプに注目して下さい。-p
オプションの働きを確認できます。
第 6 章 コマンド➀
90
✞
✝
[hane@localhost
-rw-r--r-1
[hane@localhost
[hane@localhost
-rw-r--r-1
-rw-r--r-1
[hane@localhost
[hane@localhost
-rw-r--r-1
-rw-r--r-1
[hane@localhost
hane]$
hane
hane]$
hane]$
hane
hane
hane]$
hane]$
hane
hane
hane]$
ls -l sample1
hane
12345 Apr
cp sample1 sample4
ls -l sample1 sample4
hane
12345 Apr
hane
12345 Apr
cp -p sample1 sample5
ls -l sample1 sample5
hane
12345 Apr
hane
12345 Apr
10 01:00 sample1
10 01:00 sample1
22 02:48 sample4
10 01:00 sample1
10 01:00 sample5
✆
図 6.16
cp コマンド実行例 (1)
また、-r や -a オプションを指定すると、ディレクトリもコピーできます。この時、
ディレクトリの中に存在するファイルやディレクトリごとコピーします。図 6.17 では、
-r と-a オプションの違いに注目して下さい。
✞
✝
[hane@localhost
[hane@localhost
[hane@localhost
drwxrwxr-x
3
drwxrwxr-x
3
drwxrwxr-x
3
[hane@localhost
hane]$ cp -r dir1 dir1-1
hane]$ cp -a dir1 dir1-2
hane]$ ls -ld dir1 dir1-1 dir1-2
hane
hane
4096 Apr 22 02:39 dir1/
hane
hane
4096 Apr 22 04:01 dir1-1/
hane
hane
4096 Apr 22 02:39 dir1-2/
hane]$
図 6.17
✆
cp コマンド実行例 (2)
■ mv - move (rename) files
usage: mv ファイル名 1 ファイル名 2
mv コマンドは、ファイル名 1 をファイル名 2 に名前を変更します。ディレクトリ名を
変更することもできます。オプションもありますが、使用することはあまり無いと思いま
す。図 6.18 の例では sample5 を sample5 new に名称変更していますが、タイムスタン
プは変更されない点に注目して下さい。
6.2 ファイル関連コマンド
91
✞
✝
[hane@localhost
-rw-r--r-1
[hane@localhost
[hane@localhost
-rw-r--r-1
[hane@localhost
hane]$ ls -l sample5
hane
hane
12345 Apr 10 01:00 sample5
hane]$ mv sample5 sample5_new
hane]$ ls -l sample5_new
hane
hane
12345 Apr 10 01:00 sample5_new
hane]$
図 6.18
✆
mv コマンド実行例 (1)
もう一つの良く使う方法は、ファイルやディレクトリの移動です。ファイルの整理等に
利用します。図 6.19 の例で判るように、列挙したファイルやディレクトリが、一番最後
に指定したディレクトリに移動します。
✞
✝
[hane@localhost hane]$ mkdir backup
[hane@localhost hane]$ mv sample1 sample2 sample3 rpm backup
[hane@localhost hane]$ ls backup
rpm/ sample1 sample2 sample3
[hane@localhost hane]$
図 6.19
✆
mv コマンド実行例 (2)
■ rm - remove files or directories
usage: rm [オプション] ファイル名 1 [ファイル名 2 ....]
rm コマンドは、ファイルを削除します。ファイル名は、一つ以上を指定します。主な
オプションを表 6.6 に示します。
オプション
説明
-r
ディレクトリ以下を削除します。
-f
リード (読み込み) オンリーのファイルでも、確認をせずに強制的に
-i
削除をするか対話式に確認をします。
削除します。
表 6.6
rm コマンドの主なオプション
-r オプションは、ディレクトリ内にファイルやディレクトリが存在しても削除できま
す。このため、使用には十分な注意が必要です。-f オプションと併用する場合には、特
に注意してください。
第 6 章 コマンド➀
92
図 6.20 の例は、dir1 ディレクトリを下位にあるディレクトリごと削除しています。
✞
✝
[hane@localhost hane]$ ls dir1
dir2/
[hane@localhost hane]$ rmdir dir1
rmdir: dir1: ディレクトリは空ではありません
[hane@localhost hane]$ rm -r dir1
[hane@localhost hane]$ ls dir1
ls: dir1: そのようなファイルやディレクトリはありません
[hane@localhost hane]$
図 6.20
✆
rm コマンド実行例 (1)
図 6.21 の例は、-i オプションを指定して、確認しながら削除しているところです。
Linux では、通常削除したファイルやディレクトリは復旧させられないので、誤操作が不
安な場合は -i オプションを使用すると良いでしょう。
✞
✝
[hane@localhost hane]$ rm -ri dir1-1
rm: ディレクトリ ‘‘dir1-1’’ を下りていきますか (y/n)? y
rm: ディレクトリ ‘‘dir1-1/dir2’’ を下りていきますか (y/n)? y
rm: ディレクトリ ‘‘dir1-1/dir2/dir3’’ を下りていきますか (y/n)? y
rm: ディレクトリ ‘dir1-1/dir2/dir3’ を削除しますか [yes/no]? y
rm: ディレクトリ ‘dir1-1/dir2’ を削除しますか [yes/no]? y
rm: ディレクトリ ‘dir1-1’ を削除しますか [yes/no]? y
[hane@localhost hane]$
図 6.21
6.2.4
✆
rm コマンド実行例 (2)
テキストファイルの内容表示
ここでは、テキストファイルの内容を表示するコマンドとして、cat と less コマンド
を紹介します。Linux の世界では、テキストファイルは非常に幅広く使用されます。ド
キュメント類は勿論のこと、システムの設定ファイルも殆どがテキストファイルで記述さ
れています。
■ cat - concatenate files and print on the standard output
usage: cat ファイル名 [ファイル名 ......]
6.2 ファイル関連コマンド
93
cat コマンドは、テキストファイルの内容を表示します。ファイル名は、一つ以上を指
定します。図 6.22 は、test file の内容を表示しています。
✞
✝
[hane@localhost hane]$ cat test_file
This is a pen.
Linux is one of PC-UNIX.
[hane@localhost hane]$
✆
図 6.22 cat コマンド実行例
■ less - opposite of more
usage: less ファイル名 [ファイル名 ......]
less コマンドは、テキストファイルの内容を表示します。ファイル名は一つ以上を指
定します。
cat コマンドで大きなファイルを表示すると、画面に入り切らずに流れて (スクロール
して) しまいますが、less では表示を制御できます。さらに、文字列の検索なども可能で
す。表 6.7 に、表示画面で使用する制御キーを示します。
less は非常に便利なコマンドで、日本語の文字コード (EUC、シフト JIS、JIS) を自
動的に判断して表示してくれます。
キー
✄
j, ✂↓ ✁
✄
k, ✂↑ ✁
機能
1 行スクロールダウン
1 行スクロールアップ
スペース
1 ページダウン
b
p
1 ページアップ
G
ファイル終端へ移動
/
:n
文字列検索
:p
複数のファイルを指定時、前のファイルを表示
q
less の終了
ファイル先頭へ移動
複数のファイルを指定時、次のファイルを表示
表 6.7
less の制御キー
第 6 章 コマンド➀
94
6.2.5
ファイルのオーナと属性
ls コマンドのところで説明しましたが、ファイルには属性や、オーナとグループがあ
ります。ここでは、ファイルの属性等を操作するコマンド群を説明します。
ただし、オーナ (所有者) や所属するグループを自由に変更するには、そのファイルに
対する許可が必要になります。後述の chmod コマンドを除き、個人の権限で実行するこ
とはあまりないかも知れません。
■ id - print real and effective UIDs and GIDs
usage: id [ユーザ名]
id コマンドは、指定したユーザ名のユーザ ID とグループ ID を表示します。ユーザ
名を省略した時は、実行したユーザの情報を表示します。表示の際、ユーザ名とグループ
名もあわせて表示されます。
ユーザ ID は、ユーザ名に対応したユニークな番号です。ユーザ ID とユーザ名は 1:1
で対応します。グループ ID は、所属するグループの番号です。ユーザは、複数のグルー
プに所属することもできます。図 6.23 では、ユーザ hane が、hane のグループに所属し
ていることが解ります。
✞
✝
[hane@localhost hane]$ id
uid=500(hane) gid=501(hane) 所属グループ=501(hane)
[hane@localhost hane]$
✆
図 6.23 id コマンド実行例
■ chown - change file owner and group
usage: chown [オプション] ユーザ名 [. グループ名] ファイル名 [ファイル
名 .....]
chown コマンドは、ファイルやディレクトリのオーナを変更します。自由にオーナを
変更できるのは、スーパユーザだけです。また、存在しないユーザ名は指定できません。
図 6.24 では、test file ファイルのオーナを変更しています。スーパユーザで実行して
いるので、プロンプトが今までと異なっています。最後の例では、オーナとグループを同
時に指定しています。ですから、グループのみを変更したい場合を除いて、後述の chgrp
コマンドは、殆ど必要ありません。
6.2 ファイル関連コマンド
95
✞
✝
[root@localhost
-rw-r--r-1
[root@localhost
[root@localhost
-rw-r--r-1
[root@localhost
[root@localhost
-rw-r--r-1
[root@localhost
root]#
root
root]#
root]#
hane
root]#
root]#
wing
root]#
ls -l test_file
root
40 Aug 2 03:57 test_file
chown hane test_file
ls -l test_file
root
40 Aug 2 03:57 test_file
chown wing.users test_file
ls -l test_file
users
40 Aug 2 03:57 test_file
✆
図 6.24
chown コマンド実行例
良く使うオプションとして、-R があります。このオプションを使用すると、指定した
ディレクトリ名以下のファイルとディレクトリのオーナが変更されます。
■ chgrp - change group ownership
usage: chgrp グループ名 ファイル名 [ファイル名 .....]
chgrp コマンドは、ファイルやディレクトリのグループを変更します。chgrp コマン
ドは、所属するグループであれば変更することができます。chown コマンドと同様、-R
オプションも使用できます。
■ chmod - change file access permissions
usage: chmod 属性 ファイル名
chmod コマンドは、ファイルの属性 (ls コマンド参照) を変更します。属性には、+r(読
み込み許可)、-r(読み込み禁止)、+w(書き込み許可)、-w(書き込み禁止)、+x(実行許可)、
-x(実行禁止) のいずれかを指定します。
特に指定の無い場合、ファイルのオーナに対して属性を変更します。グループに対して
変更する時は、属性の先頭に g を付け、g+r のように指定します。同様にその他ユーザに
対して変更する時は、属性の先頭に o を付けます。ちなみに、属性の先頭に u を付ける
と、オーナに対する明示的な変更になります。
以上の属性は、go+rwx のように組み合わせて使用することができます (図 6.25)。
また、属性を 8 進数で指定することもできます。ここでは説明を割愛しますが、興味が
ある人は man コマンドを参照してください。
第 6 章 コマンド➀
96
✞
✝
[hane@localhost
-rw-r--r-1
[hane@localhost
[hane@localhost
-rw-r--rw1
[hane@localhost
[hane@localhost
-rw------1
[hane@localhost
hane]$
hane
hane]$
hane]$
hane
hane]$
hane]$
hane
hane]$
ls -l test_file
hane
40 Aug
chmod o+w test_file
ls -l test_file
hane
40 Aug
chmod go-rw test_file
ls -l test_file
hane
40 Aug
2 04:20 test_file
2 04:20 test_file
✆
図 6.25
6.2.6
2 04:20 test_file
chmod コマンド実行例
リンク
少し特殊な、リンクを作成するコマンドを説明します。リンクとは、ファイルやディレ
クトリの実体をさすものです。ファイルやディレクトリに別名をつけるようなものと言え
ば、解かり易いでしょうか。
リンクには、ハードリンクとシンボリックリンクの二種類があります。ハードリンクは
パーティション間をまたげませんが、シンボリックリンクはその制限が無い等、多少の違
いがあります。
■ ln - make links between files
usage: ln [-s] 実ファイル名 リンク名
ln コマンドは、リンクを作成します。*7
-s オプションは、シンボリックリンクを作成します。このオプションを付けない場合
は、ハードリンクを作成します。取り敢えず、柔軟性のあるシンボリックリンクを常用し
ても構わないでしょう。
説明だけではわかりにくいので、図 6.26 に例を示します。この例では、test file を
しめす、test file.link というシンボリックリンクを作成しています。ls -l でシン
ボリックリンクを参照すると、属性の先頭に l が付き、-> に続いて実体 (リンク先) が表
示されます。
cat コマンドの実行結果からも解るように、test_file.link をアクセスすると、その
実体である test_file が参照されていることが解ります。
*7
リンクを張るとも言います。
6.2 ファイル関連コマンド
97
✞
✝
[hane@localhost
This is a pen.
Linux is one of
[hane@localhost
[hane@localhost
lrwxrwxrwx
1
est_file
[hane@localhost
This is a pen.
Linux is one of
[hane@localhost
hane]$ cat test_file
PC-UNIX.
hane]$ ln -s test_file test_file.link
hane]$ ls -l test_file.link
hane
hane
9 Aug 2 05:03 test_file.link -> t
hane]$ cat test_file.link
PC-UNIX.
hane]$
✆
図 6.26
ln コマンド実行例 (1)
作成したリンクを削除するには、rm コマンドを使用します。リンクのみが削除され、
実体は影響を受けません (図 6.27)。
✞
✝
[hane@localhost hane]$ ls -l test_file test_file.link
-rw-rw-rw1 hane
hane
40 Aug 2 04:20 test_file
lrwxrwxrwx
1 hane
hane
9 Aug 2 05:03 test_file.link -> t
est_file
[hane@localhost hane]$ rm test_file.link
[hane@localhost hane]$ ls -l test_file test_file.link
/bin/ls: test_file.link: そのようなファイルやディレクトリはありません
-rw-rw-rw1 hane
hane
40 Aug 2 04:20 test_file
[hane@localhost hane]$
図 6.27
6.2.7
✆
ln コマンド実行例 (2)
アーカイバ関連
ここでは、アーカイバと圧縮ツールを説明します。Linux では、ファイルのバックアッ
プ等をする時、アーカイバでファイルやディレクトリを束ねて、それを圧縮ツールで圧縮
する手法が良く取られます。ただし、アーカイバから圧縮ツールを呼び出せるので、多く
の場合はアーカイバのみを利用すれば済みます。
説明の都合上、圧縮ツール、アーカイバの順番で説明します。
第 6 章 コマンド➀
98
■ gzip - compress or expand files
usage: gzip [オプション] ファイル名
gzip コマンドは、ファイルを圧縮/展開します。ファイルは一つ以上を指定します。
Linux においては、この gzip コマンドが主に使用されます。また UNIX 系 OS で標準
の compress コマンドで圧縮したファイルも、gzip コマンドで展開することができます。
gzip は、どんなファイルでも圧縮できるわけでなく、JPEG や GIF 等の画像ファイ
ルのように、既に圧縮されているファイルを圧縮しても、殆ど効果はありません (圧縮さ
れません)。
最近では bzip2 コマンドも良く利用されますが、圧縮率が高い分、圧縮に時間がかか
ります。ただし、最近の CPU であれば、それ程時間はかからないでしょう。使用方法は
gzip と殆ど同じです。
主なオプションを表 6.8 に示します。
オプション
説明
-1∼9
圧縮の度合を指定します (大きな数程高圧縮、デフォルトは 6)。
-d
-v
圧縮されたファイルを解凍します。
-t
テストモードで実行します。実際にはなにも行われません。
圧縮、解凍時の情報 (圧縮の度合等) を表示します。
表 6.8 gzip コマンドの主なオプション
図 6.28 の例で解かるように、圧縮をすると元のファイルは残りません。替わりに、元
のファイルに拡張子 .gz が付加された圧縮ファイルが作成されます。-v オプションを付
けているので、圧縮率が表示されています。
✞
✝
[hane@localhost hane]$ ls -l test_file2
-rw-r--r-1 hane
hane
14031 Aug 2 05:47 test_file2
[hane@localhost hane]$ gzip -v test_file2
test_file2:
77.7% -- replaced with test_file2.gz
[hane@localhost hane]$ ls -l test_file2
/bin/ls: test_file2: そのようなファイルやディレクトリはありません
[hane@localhost hane]$ ls -l test_file2.gz
-rw-r--r-1 hane
hane
3160 Aug 2 05:47 test_file2.gz
[hane@localhost hane]$
図 6.28
gzip コマンド実行例 (1)
✆
6.2 ファイル関連コマンド
99
図 6.29 は、圧縮したファイルを解凍した例です。圧縮時と同様、解凍後に圧縮ファイ
ル (test file2.gz) は残りません。また、-d オプションの代わりに、gunzip コマンド
をオプション無しで使用しても同じ結果が得られます。
✞
✝
[hane@localhost hane]$
test_file2.gz:
77.7%
[hane@localhost hane]$
/bin/ls: test_file.gz:
[hane@localhost hane]$
-rw-r--r-1 hane
[hane@localhost hane]$
gzip -dv test_file2.gz
-- replaced with test_file2
ls -l test_file.gz
そのようなファイルやディレクトリはありません
ls -l test_file2
hane
14031 Aug
2 05:47 test_file2
✆
図 6.29
gzip コマンド実行例 (2)
■ tar - The GNU version of the tar archiving utility
usage1: tar [オプション] アーカイブ名 ファイル名 [ファイル名 .....]
usage2: tar [オプション] アーカイブ名
tar コマンドは、アーカイブを作成や展開します。アーカイブは書庫とも言い、複数の
ファイルが束ねられたものと思えば良いでしょう。
usage1 はアーカイブを作成する場合の書式で、-c オプションを使用します。ファイ
ル名はディレクトリ名も使用可能で、この場合は指定したディレクトリ以下が階層構造も
含めて束ねられます。アーカイブ名は、束ねたファイルを書き込むファイル名です。通常
は、アーカイブ名の拡張子を .tar とします。usage2 はアーカイブを展開する場合の書
式で、-x オプションを使用します。tar コマンドの主なオプションを表 6.9 に示します。
オプション
説明
-c
アーカイブを作成します。
-x
アーカイブを展開します。
-t
アーカイブの中身を表示します。
-u
-v
アーカイブを更新します。
-f
ファイルに対してアーカイブを処理します。
-p
-z
アーカイブ展開時の属性を保持します。
gzip コマンドを併用してアーカイブを処理します。
-j
bzip2 コマンドを併用してアーカイブを処理します。
動作を表示します。
表 6.9 tar コマンドの主なオプション
第 6 章 コマンド➀
100
図 6.30 の例は、backup ディレクトリ以下を backup.tar のアーカイブに束ねてい
ます。-v オプションを使用しているので、ディレクトリの階層構造もそのまま束ねられ
ていることが解ります。
なお、オプションを -cvf としていますが、- を省略して cvf とすることもできます。
✞
✝
[hane@localhost hane]$ tar -cvf backup.tar backup
backup/
backup/sample1
backup/sample2
backup/sample3
backup/rpm/
backup/rpm/BUILD/
backup/rpm/RPMS/
:
:
[hane@localhost hane]$
図 6.30
✆
tar コマンド実行例 (1)
図 6.31 の例は、図 6.30 で作成したアーカイブの内容を表示しています。この場合は、
属性やファイルとディレクトリのオーナ等が表示されます。第三者が作成したアーカイブ
を展開する時は、このように-t オプションで、内容を確認してから行うと良いでしょう。
さもないと、既存のファイルを上書きしてしまうことがあります。シンボリックリンク自
体はファイルで上書きされず、実体のファイルの方が上書きされてしまう点にも注意が必
要です。
✞
✝
[hane@localhost hane]$ tar -tvf backup.tar
drwxrwxr-x hane/hane
0 2004-04-23 02:23:44
-rw-r--r-- hane/hane
12345 2004-04-10 01:00:00
-rw-r--r-- hane/hane
56789 2004-04-09 11:28:00
-rw-r--r-- hane/hane
10000 2004-01-16 00:48:00
drwxrwxr-x hane/hane
0 2004-04-21 04:11:00
drwxrwxr-x hane/hane
0 2004-04-22 02:37:36
drwxrwxr-x hane/hane
0 2004-04-22 02:37:36
:
:
[hane@localhost hane]$
図 6.31
tar コマンド実行例 (2)
backup/
backup/sample1
backup/sample2
backup/sample3
backup/rpm/
backup/rpm/BUILD/
backup/rpm/RPMS/
✆
6.2 ファイル関連コマンド
101
図 6.32 の例では、tmp ディレクトリを作成後そこに移動し、tmp ディレクトリ以下で
backup.tar を展開しています。*8
ここでは、特別なディレクトリの ‘..’(ドットドット) を使用しています。
✞
✝
[hane@localhost hane]$ mkdir tmp
[hane@localhost hane]$ cd tmp
[hane@localhost tmp]$ tar xvf ../backup.tar
backup/
backup/sample1
backup/sample2
backup/sample3
backup/rpm/
backup/rpm/BUILD/
backup/rpm/RPMS/
:
:
[hane@localhost tmp]$
図 6.32
✆
tar コマンド実行例 (3)
■ 圧縮アーカイブ
以上の実行例では、単純にアーカイブを扱いました。しかし、表 6.9 の -z や -j オプ
ションを併用することにより、圧縮したアーカイブを扱うことができます。-z オプショ
ンを使用してアーカイブを作成する時は、アーカイブ名の拡張子を .tar.gz とします。
同様に -j オプションの場合は、拡張子を .tar.bz2 とします。
もし、拡張子の指定を間違えて、圧縮の有無や使用したオプションが判らなくなってし
まった時は、file コマンドを使用して確認します。図 6.33 の例は、判断が付かなくなっ
た backup1 と backup2 のファイルを、file コマンドで調べたものです。
✞
✝
[hane@localhost hane]$ file backup1.tar backup2.tar
backup1.tar: gzip compressed data, from Unix
backup2.tar: POSIX tar archive
[hane@localhost hane]$
図 6.33
*8
file コマンド実行例
tmp ディレクトリに移動する代わりに、-C を使用しても良いでしょう。
✆
第 6 章 コマンド➀
102
6.2.8
ファイル検索
ここでは、ファイルやディレクトリを検索する find コマンドについて説明します。こ
のコマンドは、非常に多くの使用方法があるので、基本的な部分を説明しています。
■ find - search for files in a directory hierarchy
usage: find ディレクトリ名 [オプション .....]
find コマンドは、指定されたディレクトリ名以下を、表 6.10 のオプションに従って検
索します。オプションで指定すれば、検索したファイルに対してコマンドを実行すること
もできます。
オプション
説明
-name ファイル名
ファイル (ディレクトリ) 名を検索します。ワイルド
カードも指定できますが、´(シングルクォート) で括ら
ないと駄目なこともあります。
-type c
c で指定されたタイプを検索します。c に f を指定す
ると通常のファイル、d を指定するとディレクトリ、l
-size n
n で指定されたサイズのファイルを検索します。+n と
すれば n より大きいファイルを、-n とすれば n 以下
を指定するとシンボリックリンクを検索します。
のファイルを検索します。n の単位はデフォルトでは
512 バイトのブロック単位ですが、nc とすればバイト
単位になります。
-user ユーザ名
指定されたユーザ (グループ) 名のファイル (ディレク
-group グループ名
トリ) を検索します。
-exec コマンド名 {} \;
検索したファイル (ディレクトリ) に対し、コマンド名
を実行します。{} は検索したファイル (ディレクトリ)
に置換されます。
表 6.10
find コマンドの主なオプション
図 6.34 の例では、sample が付くファイルや、50000 バイト以上のファイルを、カレ
ントディレクトリ (.) から検索しています。
6.2 ファイル関連コマンド
103
✞
✝
[hane@localhost hane]$ find . -name ’sample*’
./sample1
./sample2
./sample3
[hane@localhost hane]$ find . -size +50000c
./sample2
[hane@localhost hane]$
図 6.34
✆
find コマンド実行例 (1)
図 6.35 の例は、検索結果のファイルに対して、コマンドを実行しています。つまり、
ls -l ./sample2 を実行していることになります。最後に \; としてあるのは、; だけ
だとシェルが解釈してしまうので、\ を付けて (シェルから) エスケープして find コマン
ドに渡るようにしています。
✞
✝
[hane@localhost hane]$ find . -size +50000c -exec ls -l {} \;
-rw-r--r-1 hane
hane
56789 Jul 29 00:15 ./sample2
[hane@localhost hane]$
図 6.35
6.2.9
✆
find コマンド実行例 (2)
フィルタ関連コマンド
主にテキストファイルの内容から特定部分を抽出するコマンドを、フィルタと言いま
す。UNIX 系の OS は、テキストファイルを加工するのが得意で、色々なフィルタコマン
ドが用意されています。*9 これらコマンドは、単体では大したことはできませんが、後述
のパイプと組み合わせることにより、様々な応用が効きます。このようにコマンドを組み
合わせて色々な処理を行えるのも、UNIX 系 OS の楽しさです。
ここでは、head,tail,grep 等のフィルタコマンドと、関連する sort,uniq,wc コ
マンドについて説明します。
なお、実行例には、主に図 6.36 の内容のテキストファイルを使用します。
*9
最近では、perl や ruby 等のスクリプト言語で処理することが多いかも知れません。
第 6 章 コマンド➀
104
✞
✝
[hane@localhost hane]$ cat strings.txt
Vine Linux
VINE LINUX
VineLinux
VINELINUX
Plamo Linux
PLAMO LINUX
PlamoLinux
PLAMOLINUX
[hane@localhost hane]$
✆
図 6.36 フィルタコマンドで使用するサンプルファイル
■ head - output the first part of files
usage: head [オプション] ファイル名 [ファイル名 .....]
head コマンドは、ファイルの先頭から n 行、または n バイト取り出します。
オプション
説明
-n NUMBER
ファイルの先頭から NUMBER 行取り出します。-NUMBER と書くこと
もできます。
-c SIZE
ファイルの先頭から SIZE バイト取り出します。
表 6.11
head コマンドの主なオプション
図 6.37 の例では、-n 2 と -2 オプションに差が無いことが判ります。また、-c 4 オ
プションの結果が途中で切れているように見えるのは、表示後に改行しないためです。
✞
✝
[hane@localhost hane]$ head -n 2 strings.txt
Vine Linux
VINE LINUX
[hane@localhost hane]$ head -2 strings.txt
Vine Linux
VINE LINUX
[hane@localhost hane]$ head -c 4 strings.txt
Vine[hane@localhost hane]$
図 6.37
head コマンド実行例
✆
6.2 ファイル関連コマンド
105
■ tail - output the last part of files
usage: tail [オプション] ファイル名 [ファイル名 .....]
tail コマンドは head とは逆に、最後尾から n 行分か、n バイト分を抽出します。オ
プションは head と同じです。
図 6.38 の実行例では、-c 5 オプションに注目してください。LINUX の L が欠けてい
ます。これは、改行コードという改行をあらわす制御コードも一文字として数えるためで
す。このようにバイト数で抽出する場合、画面上では見えない文字に注意が必要です。
✞
✝
[hane@localhost hane]$ tail -n 2 strings.txt
PlamoLinux
PLAMOLINUX
[hane@localhost hane]$ tail -c 5 strings.txt
INUX
[hane@localhost hane]$
図 6.38
✆
tail コマンド実行例
■ grep, egrep - print lines matching a pattern
usage: grep [オプション] パターン ファイル名 [ファイル名 .....]
grep コマンドは、ファイル内容の、パターンと合致 (マッチ) する行を表示します。こ
のようなコマンドを、フィルタと言います。ファイル名は、通常テキストファイルを指定
します。パターンは、特別な機能を含んだ文字列です。表 6.12 に、主なオプションをし
めします。
オプション
説明
-E
拡張正規表現を使用します。egrep コマンドと同等です。
-i
英大文字と小文字を区別しません。
-v
パターンに合致しなかった行を表示します。
-A n
-B n
パターンに合致した行の後ろ n 行を表示します。
-C [n]
パターンに合致した行の前後 n 行を表示します。n を省略した場合
パターンに合致した行の前 n 行を表示します。
は 2 となります。
表 6.12
grep コマンドの主なオプション
第 6 章 コマンド➀
106
パターンは、正規表現という文法で記述します。正規表現は、.(ドット)、?(クエスチョ
ンマーク)、*(アスタリスク)、+(プラス) 等のメタキャラクタ(特別な意味を持った文字)
を使用して、柔軟に文字列を指定します。先に説明したワイルドカードと似ていますが、
こちらの方が高機能です。また、Linux に収録された GNU grep コマンドでは、通常の
正規表現と拡張正規表現が使用できますが、これは機能的な差ではなく文法の違いです。
例えば、?, +, {, |, (, ) のメタキャラクタを使用する場合、通常の正規表現では \
でエスケープする必要があります。
なお、grep コマンド以外にも正規表現が利用できるソフトウェアがありますが、微妙
に文法が異なることがあるので注意が必要です。
ここでは文法的にすっきりしていて使い易い、拡張正規表現を説明します。拡張正規表
現を使用するには、grep コマンドに -E オプションを付けるか、egrep コマンドを使用
します。表 6.13 は、正規表現に使用するメタキャラクタです。これらを使用して、パター
ンを指定するわけですが、最初から複雑な指定をするのは困難なので、パズルを解くよう
に練習すると良いでしょう。単純な文字列を、パターンとして使用することもできます。
メタキャラクタ
意味
.
任意の一文字に合致
[∼]
[∼] 内の任意の一文字に合致 ([A-Z] なら英大文字、[A-z]
なら全ての英字、[A-z0-9] なら英数等)
^∼
行頭が ∼ の文字に合致
∼$
行末が ∼ の文字に合致
?
直前の項目に 0 or 1 文字合致
*
直前の項目に 0 回以上合致
+
直前の項目に 1 回以上合致
{n}
{n,}
直前の項目に n 回合致
直前の項目に n 回以上合致
{n,m}
直前の項目に n∼m 回合致
(P1|P2[|P3...])
P1,P2[,P3] のいずれかの項目に合致 (P1∼P3 は項目を指
す)
表 6.13
正規表現に使用するメタキャラクタ
egrep コマンドの実行例は、図 6.36 のファイル (strings.txt) に対して実行してい
ます。
図 6.39 は、最も単純な例です。正規表現は使用していません。ただし、パターンがス
ペースを含んでいるので、’ で括っています。
6.2 ファイル関連コマンド
107
✞
✝
[hane@localhost hane]$ egrep VINE strings.txt
VINE LINUX
VINELINUX
[hane@localhost hane]$ egrep -i ’vine linux’ strings.txt
Vine Linux
VINE LINUX
[hane@localhost hane]$
図 6.39
✆
egrep コマンド実行例 (1)
図 6.40 は、^ と $ の使用例です。他の正規表現と組み合わせることもできます。
✞
✝
[hane@localhost hane]$ egrep ^VINE strings.txt
VINE LINUX
VINELINUX
[hane@localhost hane]$ egrep X$ strings.txt
VINE LINUX
VINELINUX
PLAMO LINUX
PLAMOLINUX
[hane@localhost hane]$
図 6.40
✆
egrep コマンド実行例 (2)
図 6.41 は、正規表現を使用して、VINELINUX と PLAMOLINUX に合致させた例です (他
にも書き方はあります)。これもパターンを、’ で括っています。前者は間に来る文字を
任意の一文字以上にしているので、上手く抽出できません。後者は間に来る文字を英大文
字に限定しているので、上手く抽出できます。
✞
✝
[hane@localhost hane]$ egrep ’^(V|P).+X’ strings.txt
VINE LINUX
VINELINUX
PLAMO LINUX
PLAMOLINUX
[hane@localhost hane]$ egrep ’^(V|P)[A-Z]+X’ strings.txt
VINELINUX
PLAMOLINUX
[hane@localhost hane]$
図 6.41
egrep コマンド実行例 (3)
✆
第 6 章 コマンド➀
108
もっと手を抜いて、パターンを ’[A-Z]{6}’ 等と書くこともできますが、やり過ぎる
と意図しないものと合致することがあるので、あまり省略しない方が良いでしょう。
他にも、‘Vine Linux’ と ‘Plamo Linux’ と合致させるには、’^(V|P)[A-z]+ .+x’ と
パターンを記述できる等、応用は数知れません。この辺は数をこなすのも重要だと思い
ます。
■ sort - sort lines of text files
usage: sort [オプション] ファイル名 [ファイル名 .....]
sort コマンドは、テキストファイルの行を文字コード順に並び替えます (ソートしま
す)。sort はフィルタではありませんが、後述のパイプと併用して抽出結果を並べ替えて
見易くすることができます。
オプション
説明
-r
-f
結果を逆順に表示します。
-b
行頭のスペース (空白文字) を無視します。
-u
重複する行を一つだけ出力します。
英字を小文字として処理します (文字小文字を区別しません)。
表 6.14
sort コマンドの主なオプション
図 6.42 の例では、逆順にソートしています。なお、日本語のテキストファイルでも処
理できますが、正しくソートを行うにはふりがなを利用する等の工夫が必要です。
✞
✝
[hane@localhost hane]$ sort -r strings.txt
VineLinux
Vine Linux
VINELINUX
VINE LINUX
PlamoLinux
Plamo Linux
PLAMOLINUX
PLAMO LINUX
[hane@localhost hane]$
図 6.42
sort コマンド実行例
✆
6.2 ファイル関連コマンド
109
■ uniq - remove duplicate lines from a sorted file
usage: uniq [オプション] ファイル名 [ファイル名 .....]
uniq コマンドは、テキストファイルの隣接する同一内容の行を削除して表示します。
一般的には、sort コマンド等でソートしたものを、後述のパイプで繋いで処理するケー
スが殆んどでしょう。
オプション
説明
-c
同一行が何回あったかをカウントし、あわせて表示します。
-i
比較時に文字小文字を区別しません。
表 6.15
uniq コマンドの主なオプション
■ wc - print the number of bytes, words, and lines in files
usage: wc [オプション] ファイル名 [ファイル名 .....]
wc コマンドは、テキストファイルの行数、単語数、バイト数を表示します。通常は以
上の三つを表示しますが、オプションにより選択することもできますし、文字数を表示す
ることもできます。
オプション
説明
-c
-m
バイト数を表示します。
-l
行数を表示します。
-w
単語数を表示します (単語の区切りはスペースのみ)。
文字数を表示します。日本語も表示可能です。
表 6.16
wc コマンドの主なオプション
図 6.43 の例は左から順に、行数、単語数、バイト数、ファイル名を表示しています。ま
た -w オプションを与えて、単語数とファイル名のみを表示しています。
✞
✝
[hane@localhost hane]$ wc strings.txt
8
12
88 strings.txt
[hane@localhost hane]$ wc -w strings.txt
12 strings.txt
[hane@localhost hane]$
図 6.43 wc コマンド実行例
✆
111
第7章
テキストエディタ
この章では、テキストエディタというアプリケーションソフトウェアについて説明しま
す。これは文字通りテキストを編集するためのもので、図 6.22 の test file ファイル
等は、テキストエディタで作成します。Linux の場合、ソフトウェアの設定ファイル等は
テキストファイルであることが多いので、テキストエディタを使いこなせることは極めて
重要です。エディタには多くの種類がありますが、ここでは、代表的なテキストエディタ
(以後エディタと省略) である、Vi と Emacs について説明します。
なお、重要なファイルを編集するときは、予め cp コマンド等でバックアップを作成し
ておくと安心です。 例えば、abc というファイルを編集するなら、cp -a abc abc.orig
✄
等とすると良いでしょう。また、エディタにおける一行とは、行頭から ✂Enter ✁キーの入
力までを言うのにも注意が必要です。
7.1
Vi
ここでは、Vi の最低限の基本操作を説明します。Vi は、UNIX 系 OS で広く使用され
ているエディタです。Vi は Visual が語源とされていて、ブイアイまたはヴィアイと発音
されることが多いようです。
7.1.1
Vi の概要
エディタには、他にも種類がありますが、Vi を説明するのは UNIX 系の OS であれ
ば、まず間違いなく Vi がインストールされているからです。特に商用の UNIX 系 OS
では、Emacs は入っていなくても、Vi は間違いなく入っているでしょう。 Vi には vim
や nvi 等いくつかの種類がありますが、Vine Linux では vim を採用しています。
普段 GNU Emacs を使用している人でも、システム設定のファイル等、ちょっとした
ものを編集する場合には起動が早いので便利ですし、覚えておいて損はありません。
さて、この Vi ですが、一般的なエディタとは異なり、入力モードと編集モードに分か
れています。Vi を使う上で、このことはとても重要です。
112
第7章
7.1.2
テキストエディタ
起動と終了
それでは、Vi を起動して見ましょう。使用方法は以下の通りです。コマンドは全て小
文字の vi ですので注意してください。
usage: vi [ファイル名]
ここでは、sample file と言うファイルを編集することにします。起動は、図 7.1 の
ように行います。
✞
✝
[hane@localhost hane]$ vi sample_file
図 7.1
✆
Vi の起動
図 7.2 Vi 起動画面
Vi が起動すると、画面がクリアされ図 7.2 のようになります (この画面は、コンソー
ル画面をキャプチャしたものです)。~ は、空行であることを表しています。最下部の
"sample file" [新ファイル] というのは、編集中のファイルが sample file で、新規
ファイルであることを表しています。その右に表示される 0,0 は、文字カーソルの場所
7.1 Vi
113
を「行, 桁」で表示しています (何も文字を入力していない場合は、図 7.2 のように 0,0
となります)。
✄
✄
起動した Vi の基本的な保存終了は、 ✂Z ✁✂Z ✁(大文字の Z を二回) です。
7.1.3
基本操作
起動直後は、編集モードになっていますので、入力することはできません。編集モード
から、入力モードに移行するには、表 7.1 のコマンドを入力します。コマンドは、大文字
小文字を区別するので注意して下さい。
コマンド
説明
a
アペンド: カーソルの次の字から入力モードに入ります。
i
インサート: カーソルの位置から入力モードに入ります。
表 7.1 Vi 入力モード以降コマンド
✄
実際に文字を入力するには、 ✂ i ✁ キー (i コマンド) を押して、入力モードに入ります。
すると左下に -- 挿入 -- が表示され、入力モード (挿入モード) になったことを表しま
す (図 7.3)。このモードでは特殊な文字を除いて、自由に文字を入力することができます
(日本語の扱いについては後述)。
✞
This is a pen.
~
~
~
中略
✝
~
~
~
-- 挿入 --
1,15
図 7.3
全て
✆
Vi 実行例 2 This is a pen を入力したところ
✄
入力モードから編集モードに戻るには、 ✂Esc ✁キーを押します。すると、-- 挿入 -- の
✄
表示も消えます。これで編集モードに戻りました。もし不安ならば、 ✂Esc ✁キーをもう一
度押しても構いません。何度押しても編集モードです。このように、編集モードと入力
モードを切替えながら、文字を入力します。
✄
✄
筆者が良く使う編集コマンドを、表 7.2 に示します。表で ✂Ctrl ✁+ ✂ f ✁ とあるのは、
✄
✄
✂Ctrl ✁キーを押しながら ✂ f ✁ キーを押すことを表しています。当然ながら、これら編集コ
マンドは、編集モードで使用します。コマンドによっては、前もって数字を押しておく
114
第7章
テキストエディタ
と、次に入力するコマンドを数字の数だけ繰り返すことができます。たとえば 3 dd と入
力すれば、3 行の削除になります。
vi の熟練者はもっと多くのコマンドを駆使しますが、取り敢えず表 7.2 だけ知ってい
れば何とかなります。あとは実際に練習して慣れると良いでしょう。最低限 h j k l x
j q wq を知っていれば何とかなります。
カーソル移動
コマンド
✄
k or ✂↑ ✁
✄
j or ✂↓ ✁
✄
h or ✂← ✁
✄
l or ✂→ ✁
✄
✄
✂✄Ctrl ✁+ ✂✄ f ✁
✂Ctrl ✁+ ✂b ✁
b
e
説明
カーソルを上に移動
カーソルを下に移動
カーソルを左に移動
カーソルを右に移動
1 ページダウン
1 ページアップ
ワード (単語) の先頭へ移動
ワード (単語) の最後へ移動
編集
コマンド
説明
x
カーソル位置の一文字を削除
dd
カーソル位置の一行を削除
p
P
dd 等で得たバッファをカーソルの次の行に貼り付け
dd 等で得たバッファをカーソルの行に貼り付け
J
カーソル位置の行と次の行を連結
cw
単語単位の置換 (対話形式)
u
/文字列
アンドゥ (ワンステップ戻る)
:num
現在行の表示
:set nu
行番号の表示
文字列を検索
終了
コマンド
説明
ZZ
編集結果を保存終了
:q
終了
:q!
:wq
編集結果を破棄終了
:w ファイル名
ファイル名の別名で保存
編集結果を保存終了
表 7.2 Vi 主要コマンド
7.2 Emacs
7.2
115
Emacs
ここでは、Emacs の最低限の基本操作を説明します。Emacs は、UNIX 系 OS で広く
使われる FSF(Free Software Foundation) が中心となって開発したエディタで、正しく
は GNU Emacs と言います。
7.2.1
Emacs とは
Emacs とは、どのようなエディタでしょうか。一言で言うのは難しいのですが、Vi と
比べれば一般的なエディタです。文字装飾等のできない、ワードプロセッサのようなもの
とも言えます。編集モードと入力モードに分かれているわけでもありません。
特徴的なのは、Emacs Lisp(elisp) と呼ばれるマクロ*1 を搭載している点です。Emacs
Lisp で記述されたツールには、プログラミングに便利な環境や、メーラ等があります。こ
れが “Emacs は環境である” と言われる所以でしょう。
Emacs は古くから使用されていて*2 、最初は多言語対応していませんでした。そこ
で、Emacs を日本語対応した NEmacs(Nihongo Emacs)、多言語対応の Mule 等が、本
家とは別に順次開発されたのです。その後、Mule(Multilingual enhancement to GNU
Emacs) の多言語対応の機能が本家 Emacs に吸収されました。現在の最新バージョンは、
21.3 です。
ここでは、Emacs に関する細かい説明はしません。とても紙面が足りませんし、Emacs
の解説書ではないからです。よって、起動と終了、簡単な編集操作を説明します。これ以
上の詳細を知りたい方は、Web や書籍を参照すると良いでしょう。
7.2.2
Emacs の動作環境
Emacs は、もう一つ大きく Vi と異なる点があります。Emacs は、コンソール上
で実行する場合と、後で説明する X Window System 上で実行する場合とで、以下の
点で動作が異なります。これらは、設定ファイル (~/.emacs.el ~/.emacs-color.el
~/.emacs-faces.el ~/.emacs-fontset.el) で指定します。
• メニューの使用
• サイズ (桁×行) の動的な変更
• フォントサイズの変更
• 文字色や背景色の変更
*1
*2
と言うには強力すぎますが… Lisp は立派なプログラミング言語です。
Linux よりも歴史があるのです。
116
第7章
7.2.3
テキストエディタ
キー操作の表記
Vi では複数のキーを同時に押すことが殆ど無かったのに対して、Emacs では複数の
キーを同時に押すことが良くあります。そこで Emacs の説明を始める前に、複数のキー
を同時に押す動作の表記方法を図 7.3 に示しておきます。この表で注意するのは、最後の
✄
二つのように大文字と小文字を区別する場合があることです。また、 ✂Space ✁キーは SPC
と表します。
この表記は、画面にも表示されますし、Emacs 関連の書籍等で同様に使用されること
が多いので、覚えておくと良いでしょう。
表記
キー操作
C-d
M-d
C-x C-c
C-c T
C-c t
✄
✄
✂✄Ctrl ✁キーを押しながら ✂✄d ✁ を押す。 ✄
Alt キーを押しながら ✂d ✁ を押すか、 ✂Esc ✁キーを一度押してから
✄✂ ✁
✂✄d ✁ を押す。
✄
✄
Ctrl ✁キーを押しながら ✂x ✁ を押してから、 ✂Ctrl ✁キーを押しながら
✂
✄
✂✄c ✁ を押す。
✄
✄
キーを押しながら ✂c ✁ を押してから、 ✂Shift ✁キーを押しなが
✂Ctrl
✁
✄
ら ✂ t ✁ を押す。
✄
✄
✄
✂Ctrl ✁キーを押しながら ✂c ✁ を押してから、 ✂ t ✁ を押す。
表 7.3 キー操作の表記
7.2.4
起動と終了
Emacs の使用方法は、以下の通りです。コマンドは全て小文字の emacs です。
usage: emacs [オプション] [ファイル名 ファイル名 .....]
ここでは、先に説明した Vi と同様、sample file と言うファイルを編集することにし
ます。起動は、図 7.4 のように行います。
✞
✝
[hane@localhost hane]$ emacs sample_file
図 7.4
✆
Emacs の起動
Emacs が起動すると、画面がクリアされ図 7.5 のようになります (この画面は、コン
ソール画面をキャプチャしたものです)。 起動した Emacs の終了は、C-x C-c です (ファ
イルを保存していなければ、確認されます)。
7.2 Emacs
117
図 7.5 Emacs 起動画面
7.2.5
基本操作
一般的なワードプロセッサと同様に、基本的にキーを押せば文字が画面に表示され、
✄
カーソルキーでカーソルを移動でき、 ✂Back Space ✁キー等が使用できます (日本語の扱い
については後述)。唯一大きく異なるのは、一行毎のスクロールでなく、ジャンプスクロー
ルになっている点でしょう。
表 7.4 に示すのは、最低限の編集コマンドです。Vi 同様、これだけ知っていれば、取り
敢えず困らないはずです。編集中に操作が判らなくなったら、C-g を入力して下さい。取
り敢えず、中途半端な状態からは抜けられる筈です。
なお、Emacs でファイル編集を繰り返すと、いつのまにか “ファイル名 + ~” とい
うファイル (先の例で言うなら sample_file~) ができていることがあります。これは、
Emacs が自動的に作成するバックアップファイルです。万が一編集に失敗した時は、こ
*3
のファイルから復旧することができます。
*3
ただし、一世代前までしか残らないので、重要なファイルはバックアップを取っておきましょう。
118
第7章
テキストエディタ
カーソル移動
キー操作
説明
C-a
カーソルを行頭に移動
C-e
M->
カーソルを行末に移動
M-<
カーソルをバッファの先頭に移動
M-f
カーソルを 1 ワード進める
M-b
C-v
カーソルを 1 ワード戻す
1 ページ進める
M-v
1 ページ戻る
✄
C-f or ✂→ ✁ カーソルを右に一文字移動
✄
C-b or ✂← ✁ カーソルを左に一文字移動
✄
C-n or ✂↓ ✁ カーソルを下に一文字移動
✄
C-p or ✂↑ ✁ カーソルを上に一文字移動
カーソルをバッファの最後に移動
編集/その他
キー操作
説明
C-spc
マークをつける (画面上では見えない)
C-k
カーソル以降を削除 ただしカーソル以降が改行のみの場合は
改行を削除 (行頭で C-k C-k を実行すれば一行削除)
C-w
M-w
マークとカーソル間を削除
C-y
カーソル位置に削除やコピーした範囲をペースト
C-x u
C-g
アンドゥ (動作をワンステップ戻します)
マークとカーソル間をコピー
キャンセル
検索/置換
キー操作
説明
C-s
順方向に検索
C-r
M-%
逆方法に検索
置換
ファイル関連
キー操作
説明
C-x C-s
C-x C-w
保存
C-x C-i
カーソル位置にファイルを挿入
別名をつけて保存
表 7.4 Emacs 編集コマンド
119
第8章
コマンド➁
この章では、コマンド実行の仕組、シェルのカスタマイズ、知っていると便利なコマン
ドについて説明します。
8.1
コマンド実行の仕組
これまでに、色々なコマンドを実行してきましたが、これらのコマンドは一体どこに存
在するのでしょうか。普段あまり意識しないと思いますが、コマンドには、ユーザとの対
話を行うシェルというソフトウェアに組み込まれた内部コマンドと、補助記憶装置上に存
在する外部コマンドに分けられます。
シェルは、ls 等のユーザが入力したコマンドを判断して、内部コマンドや外部コマン
ドの実行指示を出しています。先に述べたようにシェルはユーザと OS との仲介をして
いて、コマンドの入力待ちプロンプトもシェルが表示していたのです。それでは、内部コ
マンドと外部コマンドについて、簡単に説明しておきましょう。
8.1.1
内部コマンド
シェル内部に持っているコマンドを、内部コマンドやビルトインコマンド等と呼びま
す。プロンプトから help を実行すると、内部コマンドの一覧と簡単な使用方法が表示さ
れます。ここから cd コマンド等は、内部コマンドであることが判ります。さらに help
内部コマンド とすれば、図 8.1 のように詳細が表示されます。
第 8 章 コマンド➁
120
✞
✝
[hane@localhost hane]$ help cd
cd: cd [-L|-P] [dir]
Change the current directory to DIR. The variable $HOME is the
default DIR. The variable CDPATH defines the search path for
the directory containing DIR. Alternative directory names in CDPATH
are separated by a colon (:). A null directory name is the same as
the current directory, i.e. ‘.’. If DIR begins with a slash (/),
then CDPATH is not used. If the directory is not found, and the
shell option ‘cdable_vars’ is set, then try the word as a variable
name. If that variable has a value, then cd to the value of that
variable. The -P option says to use the physical directory structure
instead of following symbolic links; the -L option forces symbolic links
to be followed.
[hane@localhost hane]$
✆
図 8.1 cd コマンドのヘルプ表示
8.1.2
外部コマンド
HDD 等の補助記憶装置上にファイルとして存在するコマンドを、外部コマンドと言い
ます。図 8.2 では、which コマンドを使用して、cp コマンドの場所を表示しています。
さらに、ls コマンドで詳細を表示しています (cp 後ろに * が付いているのは、実行可能
ファイルだからです)。この結果から、ls コマンドは、/bin/ls であることがわかりま
す。コマンドは、/bin や /usr/bin 等のディレクトリに格納されています。
✞
✝
[hane@localhost
/bin/cp
[hane@localhost
-rwxr-xr-x
1
[hane@localhost
hane]$ which cp
hane]$ ls -l /bin/cp
root
root
38668 Jun 28 21:15 /bin/cp*
hane]$
✆
図 8.2 which コマンドによる格納場所の確認
UNIX 系の OS では、このようにコマンドを始めとするソフトウェアがファイルとし
て存在します。コマンドもワードプロセッサ等のアプリケーションソフトウェアも、実行
可能ファイルであることに変りはなく、その目的によって呼称が異なるだけです。
8.2 リダイレクションとパイプ
8.1.3
121
実行パス
cp コマンドの実体が /bin/cp であることはわかりましたが、実行するときにはコマン
ドラインに対し cp としか与えていません。それではシェルは、どうして cp コマンドが
/bin ディレクトリ以下に存在することがわかったのでしょうか。これは、実行パス*1 と
いう環境変数を参照しているためです。
図 8.3 では、env という環境変数を表示するコマンドの出力結果から、grep コマンド
を使用して PATH を含む行だけ抜き出しています。環境変数とは、システムが参照する情
報等が記録されている変数です。
✞
✝
[hane@localhost hane]$ env | grep PATH
PATH=/bin:/usr/bin:/usr/X11R6/bin
[hane@localhost hane]$
✆
図 8.3 実行パスの確認
図 8.3 の結果は、環境変数 PATH に、:(コロン) で区切られた複数のディレクトリが登
録設定されていることを表しています。そしてシェルは、コマンドを実行する時には、こ
れらのディレクトリを順番に検索して該当するものを発見します。ただし、内蔵コマン
ドに関しては、これらよりも優先して実行されます。また、カレントディレクトリ (.) が
PATH の中に入っていないことから判るように、カレントディレクトリに存在する実行可
能ファイルはそのままでは実行できません。./commandname のように、頭に ./ を付け
て実行します。セキュリティ上の理由から、カレントディレクトリ. を登録していないの
です。
環境変数 PATH にディレクトリを設定することをパスを通す等と言いますが、パスが
通っていない場合には /bin/ls のように絶対パスを使用すれば実行することができま
す。 環境変数の設定については、後述します。
8.2
リダイレクションとパイプ
これまでコマンドを単独で使用してきましたが、コマンドの入力元や出力先を切替えた
り、複数のコマンドを繋いで使用すると、より便利にコマンドを使用することができます。
*1
あるいは単にパスと呼びます。
第 8 章 コマンド➁
122
8.2.1
リダイレクション
Linux(UNIX) には、標準入力、標準出力、標準エラー出力という概念があります。簡
単に言えば、これらはコマンドの入力元や出力先です。デフォルトでは、標準入力はキー
ボード、標準出力は画面、標準エラー出力も画面となっています。しかし、これらはシェ
ルから変更することが可能で、これをリダイレクション と言います。これから、標準入
力、標準出力、標準エラー出力の変更方法について説明します。
■ 標準入力
先に説明した cat コマンドは、ファイル名を省略すると標準入力から入力された内容
を表示します。図 8.4 が実行例ですが、まず cat コマンドを実行すると改行して文字カー
ソルが表示され、入力待ちになります。次に行頭から Standard Input. を標準入力で
✄
あるキーボードから入力して ✂Enter ✁キーを押せば、画面に入力した文字が表示されます。
✄
✄
この状態から抜けるには、 ✂Ctrl ✁+ ✂d ✁ を入力します。
✞
✝
[hane@localhost hane]$
cat
✄
Standard Input. ✄✂Enter ✁キーを入力
✄
Standard Input. ✂Ctrl ✁+ ✂d ✁ を入力
[hane@localhost hane]$
✆
図 8.4 cat コマンド実行例 (2)
図 8.4 ではキーボードを標準入力として使いましたが、これを “<” 記号を使うことに
よりファイルに切替えることができます。図 8.5 は、test_file の内容を標準入力とし
て使用した例で、結果だけ見れば図 6.22 と同じです。
✞
✝
[hane@localhost hane]$ cat < test_file
This is a pen.
Linux is one of PC-UNIX.
[hane@localhost hane]$
✆
図 8.5 cat コマンド実行例 (3)
■ 標準出力
cat や ls コマンドの結果は、標準出力として画面に表示されます。これを > や >> 記
号を使うことにより、ファイルに出力することができます。> と >> の違いは、前者は指
8.2 リダイレクションとパイプ
123
定されたファイルを上書きしますが、後者はファイル最後尾から追加します。
図 8.6 は、ファイル test_file の内容をファイル test_file_copy に出力していま
す。結果的にコピーと同じですが、属性はコピーされません。
✞
✝
[hane@localhost
[hane@localhost
This is a pen.
Linux is one of
[hane@localhost
This is a pen.
Linux is one of
[hane@localhost
hane]$ cat test_file > test_file_copy
hane]$ cat test_file
PC-UNIX.
hane]$ cat test_file_copy
PC-UNIX.
hane]$
✆
図 8.6 cat コマンド実行例 (4)
図 8.7 は、ファイル test_file の内容をファイル test_file_copy に追加出力して
います。よって図 8.6 の結果と合わせて、二回同じものが cat コマンドで表示されます。
✞
✝
[hane@localhost
[hane@localhost
This is a pen.
Linux is one of
This is a pen.
Linux is one of
[hane@localhost
hane]$ cat test_file >> test_file_copy
hane]$ cat test_file_copy
PC-UNIX.
PC-UNIX.
hane]$
✆
図 8.7 cat コマンド実行例 (5)
以上を応用すると、ファイルの連結等を行うことができます。例えば “cat ファイル
A ファイル B > ファイル C” とすることができます。
■ 標準エラー出力
標準エラー出力とは、コマンドを実行した結果、エラーが発生した場合の出力です。図
8.8 は、存在しないファイル (nofile) を cat で表示しようとしてエラーが発生した例で
す。そして 2> を使用して、それをファイルに出力しています。
また、&> を使用すれば、標準出力と標準エラー出力の二つ、つまり画面に出力される
全てをリダイレクトすることができます。
第 8 章 コマンド➁
124
✞
✝
[hane@localhost hane]$ cat nofile
cat: nofile: そのようなファイルやディレクトリはありません
[hane@localhost hane]$ cat nofile 2> errmsg
[hane@localhost hane]$ cat errmsg
cat: nofile: そのようなファイルやディレクトリはありません
[hane@localhost hane]$
✆
図 8.8 cat コマンド実行例 (6)
8.2.2
パイプ
あるコマンドの出力を、別のコマンドで処理したいことがあります。これを実現するに
は、例えばリダイレクションを使用して一時ファイルを作成し、そのファイルを別のコマ
ンドで処理すれば可能です。
しかし、一旦ファイルを作成するのは面倒ですし、間違いも起こし易くなります。この
ような場合、標準出力と標準入力を結びつけられれば、一時ファイルを作成する必要もな
く便利です。そして、これを実現する機能をパイプと言います。
パイプは、コマンド A の標準出力をコマンド B の標準入力に繋ぎます。勿論複数のコ
*2
マンドを繋ぐことも可能です。繋ぐには、|(パイプ記号) を使います。
例えば、ls -l の出力から、ディレクトリだけの grep コマンドで抽出するには、図
8.9 のように実行します。その他の良く使う例としては、抽出した結果が多い場合等に、
パイプで less コマンドに繋ぐことがあります。
✞
✝
[hane@localhost
drwxr-xr-x
3
drwxr-xr-x
7
drwxr-xr-x
2
[hane@localhost
hane]$ ls -l | grep ^d
hane
hane
4096 Jul 29 08:59 lib/
hane
hane
4096 Jul 29 08:59 rpm/
hane
hane
4096 Jul 31 05:41 testdir/
hane]$
図 8.9
✆
パイプ使用例
パイプを使用後にリダイレクトすれば、図 8.10 のように使用することも可能です。
✞
✝
[hane@localhost hane]$ ls -l | grep ^d > result
図 8.10
*2
✆
パイプ使用後のリダイレクション
✄
✄
日本語 106/109 キーボードでは、 ✂Back Space ✁の左のキーを ✂Shift ✁を押しながら入力した文字です。
8.3 プロセス関連コマンド
8.2.3
125
コマンドの連続実行と実行順序
この章の内容とは少し離れますが、コマンドを連続実行する方法と、その順序を制御す
る方法について説明しておきます。
■ 連続実行
複数のコマンドを連続実行するには、;(セミコロン) でコマンドを繋ぎます。
usage: command_name ; command_name ; command_name ; …
; を使えば連続実行できますが、先に実行したコマンドがエラーを起こしても続くコマ
ンドが実行されると言う問題があります。このように先に実行するコマンドがエラーを起
こす可能性があるときは、; の代りに && を使用して下さい。エラーが起こった時点で、
続くコマンドの実行は中断されます。
■ 実行順序の制御
例えば、以下の内容を実行したとします。*3
cat file1 ; cat file2 | grep abc
ユーザは、二つの cat コマンドの結果を grep コマンドで処理したかったのですが、こ
れでは最初の cat が実行された後で二つ目の cat の結果が grep に渡されます。
このような場合、( と )(括弧) を使用すると、実行順序を制御することができます。例
えば、先の例を以下のように変更すると、意図した結果が得られるようになります。パイ
プを使用するときは、このような仕様にも注意して下さい。
(cat file1 ; cat file2) | grep abc
プロセス関連コマンド
8.3
Linux はマルチタスクの OS ですから、複数のソフトウェアを実行することができま
す。実際に、いくつものソフトウェアが実行され、OS として機能しています。そして、
実行されている各々のソフトウェアを、プロセスと言います。プロセスは、一覧を表示し
たり、その動作を (権限があれば) 制御することができます。
8.3.1
プロセスの表示
ここでは、プロセスを表示するコマンドを説明します。
*3
勿論 cat file1 file2 と書くこともできますが、ここでは例と言うことで冗長に記述しています。
第 8 章 コマンド➁
126
■ ps - report process status
usage: ps [オプション]
ps コマンドは、プロセスの一覧を表示します。オプションには、Unix98、BSD、GNU
の三種類があります。これらは重複するものがありますが、詳細は man ページを参照し
て下さい。主な BSD オプションを表 8.1 に示しますが、オプションの先頭に “-”(ハイフ
ン) を付けない点に注意して下さい。
オプション
説明
a
x
実行したコンソールやターミナル*4 の全てのプロセスを表示する。
l
詳細なフォーマットで表示します。
制御端末のないプロセスを表示する。
表 8.1
ps コマンドの主なオプション
実行時には、図 8.11 のように ax や axl とセットでオプションを指定することが多い
でしょう。
✞
✝
[hane@localhost hane]$ ps axl | head -5
F
UID
PID PPID PRI NI
VSZ RSS
100
0
1
0
8
0 1508 484
040
0
2
1
9
0
0
0
040
0
3
1
9
0
0
0
040
0
4
1 19 19
0
0
[hane@localhost hane]$
図 8.11
WCHAN
do_sel
contex
apm_ma
ksofti
STAT
S
SW
SW
SWN
TTY
?
?
?
?
TIME
0:04
0:00
0:00
0:00
COMMAND
init [3]
[keventd]
[kapmd]
[ksoftirqd_
✆
ps コマンドによるプロセスの表示
表示される主なフィールドには、表 8.2 のようなものがあります。
ところで、実行されるプロセスには、固有のプロセス ID(PID) が与えられます。よっ
て PID を指定して、後述するように動作を終了させたりすることができます。
8.3 プロセス関連コマンド
フィールド名
説明
127
UID
ユーザ ID
PID
PPID
プロセス ID
PID を実行した親の PID
STAT
プロセスの状態 (R:実行可能状態、S:スリープ状態、W:実メモリを使
TTY
COMMAND
コマンドを実行したコンソール or ターミナル
用していない、N:優先度の低いプロセス)
コマンド名
表 8.2
8.3.2
ps コマンドの表示内容
プロセスの制御
実行中のプロセスは、コマンドにより制御することができます。
■ kill - terminate a process
usage: kill シグナル PID [PID .....]
kill コマンドは、プロセスにシグナル (信号) を送り制御します。プロセスはシグナル
を受け取ると、終了等所定の動作をします。シグナルには色々な種類があるので、これで
制御することが可能になる訳です。もっとも良く使用するのは、数種類です。スーパユー
ザであれば全てのプロセスを制御することができますが、一般ユーザは自分の UID をも
つプロセスのみ制御することができます。
表 8.3 に良く使用するシグナルを示します。表中の番号は、シグナルに対応するもので
す。-HUP としても -1 としても同じです。実行は、予め ps コマンドで PID を調べてか
ら、図 8.12 のように行います。
シグナル名
番号
説明
TERM
HUP
15
1
プロセスを終了します。
KILL
9
プロセスを強制終了します。
ハングアップシグナルを送信します。
表 8.3
kill コマンドの主なシグナル
✞
✝
[hane@localhost hane]$ kill -HUP 2234
図 8.12
kill コマンドの実行
✆
第 8 章 コマンド➁
128
■ top - display top CPU processes
ps コマンドは、コマンド実行時におけるプロセスの一覧を表示しますが、リアルタイ
ムに一覧を見たいことがあります。このような場合、top コマンドでリアルタイムにプロ
セスの一覧を表示することができます。起動はプロンプトから top を実行します。
top は表示するのみでなく、実行中に k を入力すればシグナルを送りプロセスを制御
することもできます。終了するには、q を入力します。
図 8.13
8.4
top コマンドによるプロセスの表示
シェルのカスタマイズ
前述の環境変数等は、カスタマイズすることができます。また、bash にはエイリアス
(別名) 機能があり、オプションを含む長いコマンド等に名前を付けることができます。こ
こでは、これらの設定方法について説明します。
8.4.1
変数の設定
シェルから、シェル変数や環境変数等の変数を定義して、ソフトウェアの動作を制御す
ることがあります。シェル変数はシェル内においてのみ有効ですが、環境変数は外部のソ
フトウェアからでも参照することが可能といった違いがあります。これら変数は、特別な
8.4 シェルのカスタマイズ
129
ものを除いてユーザ毎に設定します。設定は、ホームディレクトリ以下の設定ファイル
.bashrc に記述します (通常 ~/.bashrc 等と表記します)。
ところで .bashrc のように、ホームディレクトリ以下には . (ドット) で始まるファイ
ルやディレクトリが複数存在します。これらはドットファイル等と言って、多くはソフト
ウェアの設定を行うものです。
■ シェル変数
シェル変数は、主にシェルスクリプトというプログラム等で使用されるので、これらを
使用しない限りはあまり必要ないかも知れません。とはいえ、シェル変数をさらに宣言す
ることで環境変数になるので、まずこちらを覚えておく必要があります。
*5 記
シェル変数は、~/.bashrc に次のように記述するか、プロンプトから実行します。
述する場所 (行数) は何処でも良いのですが、Vine Linux では ~/.bashrc の雛型が用意
されているので、最後に追加すれば良いでしょう。シェル変数の設定値は、set コマンド
で参照することができます。
変数名=値
~/.bashrc に記述した場合は即座に反映されないので、プロンプトから図 8.14 のよう
に .(ドット) を実行して読み込ませる必要があります。これは後述の環境変数でも同じ
です。
✞
✝
[hane@localhost hane]$ . ~/.bashrc
図 8.14
✆
変数の反映
■ 環境変数
シェル変数を宣言 (export) することで、環境変数となります。8.3 章で述べたように
PATH 等ソフトウェアの動作に関係する値が設定されます。環境変数は、~/.bashrc に次
のように記述するか、プロンプトから実行します。環境変数の設定値は、env コマンドで
参照することができます。
変数名=値
export 変数名
または、
export 変数名=値
*5
後述のシェルスクリプト内にも記述できます。
第 8 章 コマンド➁
130
どちらも bash においては同等ですが、前者は bash 以外のシェルでも認められる等、
汎用性のある書き方です。複数のシェルを扱う必要があるなら、前者の記述をすると良い
でしょう。
それでは例として、環境変数 PATH にディレクトリを追加設定してみます。以下の例
は、“パス名” というディレクトリを追加しています。ここでは念のため export してい
ますが、既に export してある環境変数は export しなくても大丈夫です (しても実害は
ありません)。
export PATH=$PATH:パス名
PATH は、値には : で区切って複数のディレクトリを記述します。$PATH は、既存の値
です。つまり、$PATH に “パス名” を連結しているわけです。誤って export PATH=パス
名 とすると、既存の値が消えてしまうので、注意してください。
8.4.2
別名の設定
いつも、あるコマンドに特定のオプションを指定して実行する場合等、それらに名前を
つけて簡単に実行したい時があります。bash においては、定型の実行方法に別名を付け
ることができます。これを エイリアス (alias) 機能と言います。プロンプトから alias
コマンドを実行すると、既存の設定を参照することができます(図 8.15)。
✞
✝
[hane@localhost hane]$ alias
alias la=’ls -a --color=auto’
alias ll=’ls -la --color=auto’
alias ls=’ls -F --color=auto’
[hane@localhost hane]$
✆
図 8.15 alias コマンドによる設定値の確認
ユーザでエイリアスを設定 (定義) するには、図 8.15 と同じ要領で、プロンプトから実
行するか、~/.bashrc に記述します。例えば cp に cp -a を定義するなら、次のように
します。このように定義文字列中にスペースが入るときは、シングルクォート (’) で括る
必要があります。
alias cp=’cp -a’
8.5
便利なコマンド
ここでは少し便利な、ユーザ切替とコマンド出力の保存について説明します。
8.5 便利なコマンド
8.5.1
131
ユーザ切替
Linux では、システム管理を行う場合等、スーパユーザになる必要があります。しか
し、いちいちログインし直すのでは、作業効率が落ちてしまいます。このような場合に便
利なコマンドを二つ紹介します。
■ su - run a shell with substitute user and group IDs
usage: su [-] [ユーザ名]
su コマンドは、他のユーザになりシェルを起動します。- を付けると、ログインシェ
ルとなり変更するユーザの環境を読み込みます。また、ユーザ名を省略した場合は、スー
パユーザが指定されたものとして実行されます。実行すると、パスワードを入力するプロ
ンプトが表示されるので、指定したユーザのものを入力します。
✄
✄
exit コマンドか ✂Ctrl ✁+ ✂d ✁ で、元のユーザに戻ります。
■ sudo - execute a command as another user
usage: sudo [-u ユーザ名] コマンド [コマンド …]
sudo コマンドは、他のユーザになりコマンドを実行します。-u オプションでユーザを
指定しなければ、スーパユーザとしてコマンドは実行されます。実行すると、パスワード
を入力するプロンプトが表示されるので、指定したユーザのものを入力します。
なお、このコマンドを使用するには、設定ファイル/etc/sudoers に登録が必要になり
ます。取り敢えず、パスワードさえ入力すれば使用できるようにするなら、次の一行を追
加すると良いでしょう。
ユーザ名
ALL=(ALL) ALL
このコマンドはタイマーが働き、一定時間内に再度実行された場合は、パスワードの入
力は必要ありません。
8.5.2
コマンド出力の保存
単純なコマンド出力であれば、前述のリダイレクトを使用することでファイルに保存す
ることができます。しかし、対話形式のコマンドや複数のコマンドの出力、さらには標準
出力と標準エラー出力等をまとめて保存するのは面倒です。この様な場合に script コマ
ンドを使用すると便利です。
■ script - make typescript of terminal session
usage: script [ファイル名]
第 8 章 コマンド➁
132
script コマンドは、コンソール等の出力をファイルに保存します。保存するファイル
名を指定しなければ、typescript がファイル名として使用されます。
script コマンドを実行すると、“スクリプトを開始しました…” というメッセージが表
示され、記録が開始されます。記録をすべきコマンドを全て実行したら、exit コマンド
✄
✄
か ✂Ctrl ✁+ ✂d ✁ で記録を完了します。その後、記録されたファイルを参照します。
第 IV 部
X Window System
135
第9章
X Window System の基礎知識
この章では、UNIX 系 OS では標準のウィンドウシステムと言える X Window System
について、その生い立ちや特徴等を説明していきます。
9.1
X Window System とは
まず最初に、X Window System の特徴と Linux との関係を説明します。
9.1.1
X Window System の概要
X Window System は、MIT(マサチューセッツ工科大学) のアテナプロジェクトの一
環として作成された、ビットマップディスプレイを使用したウィンドウシステムで、画面
への描画機能を提供します (図 9.1)。
図 9.1
X Windws System の画面サンプル 1(Gnome)
136
第 9 章 X Window System の基礎知識
X Window System は、正確には X と言う名のウィンドウシステムですから、X
Windows や X Window という呼称は正しくありません。余談ですが、正しい名称は 以
下のいずれかです。
• X
• X Window System
• X Version 11
• X Window System, Version 11
• X11
X Window System は、殆どの UNIX ワークステーションに標準実装されていて、UNIX
標準のウィンドウシステムと言えます。なかには X Window System = UNIX と
*1 しかし、
思っている人も居るくらいですから、その印象の大きさは相当なものでしょう。
X Window System と UNIX は完全に分離されていて、同一の物ではありません。主に
UNIX 系 OS 上で動作します。
Linux と X Window System
9.1.2
X Window System の最新バージョンは、X11R6.7(X version 11 Release 6.7) です。
*2 The X.Org
現在は MIT の手を離れ、The X.Org Foundation(財団) が管理しています。
Foundation は、X Window System を Linux 等の OS に実装 (implementation) したも
のとして、一般に XOrg 等と呼ばれるソフトウェアをリリースしています。勿論これは、
フリーで配布されています。通常 Linux 上の X Window System は、この XOrg を指し
ます。なお XOrg の現在のバージョンも 6.7.0 で、Vine Linux に収録されているのもこ
れです。
9.2
X Window System の特徴
X Window System もクリックやドラッグ等の一般的なマウス操作を使用しますが、こ
こでは他のウィンドウシステムと比較して何が異なるのか等、その特徴を説明します。
9.2.1
高い自由度
画一的な GUI を提供するウィンドウシステムや OS に対して、X Window System は
ユーザの好みに応じて様々なものを選択することができます。 後で説明するデスクトッ
プ環境やウィンドウマネージャ等を替えると、全く別の外観に変更することができるの
*1
筆者も X Window System に憧れて UNIX をはじめたと言っても過言ではありません。正確には、X
上の LATEX 環境にひかれました。当時は Windows 3.1 が主流で、PC の GUI はそれ程使いやすく無
かったのです。
*2 詳細は http://www.x.org/ を参照。
9.2 X Window System の特徴
137
です。図 9.2 も X Window System の画面サンプルですが、外観が図 9.1 と異なる点に
注目してください。図 9.1 は GNOME(グノーム) というデスクトップ環境、図 9.2 は
Window Maker というウィンドウマネージャを使用した画面です。
図 9.2
X Windws System の画面サンプル 2(Window Maker)
このように異なった外観をもつのは、GUI を受け持つ部分を X Window System 内部
に持つのではなく、外部のソフトウェアとして持っているため、これらをユーザレベルで
自由に選択できるためです。つまり、X Window System 自体は、基本的な描画機能しか
持っておらず、ボタンやメニュー等の形状は外部ソフトウェアによって決まるのです。
この自由度の高さは、良いことばかりではありません。GUI デザインの統一を考えた
場合、混乱を招くことにもなります。とは言え、最近ではメニューやボタン等の操作方法
は大体で同じですから、あまり気にする必要は無いかもしれません。いずれにしても、こ
の自由度の高さをどうとらえるかが、X Window System に対する適性を決めると言える
でしょう。
9.2.2
ネットワーク対応
分散環境を意識して設計されているので、ネットワークとの相性が良いのも特徴です。
例えば他のコンピュータで実行した結果を、目の前の X Window System に表示するこ
と等が可能となります。
少し詳しく説明すると、X Window System はサーバ・クライアントの形態を取ってい
ます。サーバは描画やメモリの資源管理等を行い、クライアントはサーバに対して描画要
求を行います。この要求がネットワーク越しに行えるため、前述のようなことが可能とな
る訳です。
138
第 9 章 X Window System の基礎知識
同じことを Windows 等でやるとなると、なかなか大変です。表示系はサーバ・クライ
アントではありませんから、リモートデスクトップのように丸ごと表示するようになり
ます。
9.2.3
開発環境
X Window System 自体は、基本的に線や文字の描画等、低レベルの機能しか持ってお
らず、それをソフトウェアから利用する X ライブラリがあります。ただ、これだけでは
ソフトウェア開発が大変なので、ボタンやメニュー等を容易に使えるようにする共通の
ソフトウェアとしてライブラリが存在します。ライブラリには、標準装備の X Toolkit、
gtk+、Qt、OpenMotif 等が多く存在し、X Window System に対応したソフトウェア開
発では、これらを使用することが多いでしょう。外観や目的に応じてこれらのライブラリ
*3
を選択できるので、開発の自由度も広がります。
このように X Window System では、本体はシンプルなままにしておき、必要な機能
はライブラリで拡張しようというスタンスなのです。このことは、前述の外観を選択でき
ることとも関係しています。もし、このスタンスを採用せずにいたら、今日の X Window
System は無かったかも知れません。
*3
その割に X Window System 向けアプリケーションの増加ペースがあがらないのが残念です。
139
第 10 章
X Window System の基本操作
この章では、X Window System の基本操作について説明します。通常の利用において
X Window System は必須ともいえるものであり、また目立つ部分でもあるので、視覚的
にも楽しめることでしょう。
10.1
X Window System の起動と終了
まず、X Window System の起動と終了について説明します。起動方法には、コンソー
ルから行う方法と、電源投入後に自動起動する方法とがあります。どちらの方法でも、
ユーザインターフェイスの種類をユーザ毎に選択することができます。
10.1.1
利用可能な GUI
9.2 章で説明したように、X Window System は GUI をユーザの好みに応じて自由に
選択できます。これは、使用するウィンドウマネージャやデスクトップ環境を、ユーザが
選択することにより行います。ウィンドウマネージャとは、文字通り画面上に表示され
るウィンドウの移動やサイズ変更等のマネージメントを行うソフトウェアです。デスク
トップ環境は、さらにファイルマネージャやタスクバー等も含めたソフトウェア群です。
CD-ROM 等の管理を行うものもあります。
Vine Linux では、主に表 10.1 のウィンドウマネージャやデスクトップ環境が利用でき
ます。ただし、CD-ROM には GNOME と twm のみ収録されていて、それ以外はネッ
トワーク等で入手する必要があります。ここでは、この中からデフォルトで使用される
GNOME を取り上げて説明していきます。
他の Window Maker 等の紹介は、付録 A にて説明します。どれを選択するかは自由
ですから、GNOME 以外にも色々と試してみると良いでしょう。
140
第 10 章 X Window System の基本操作
Vine Linux 標準
名称
説明
GNOME
The GNU Network Object Model Environoment の略で、現
在最も利用者が多いと思われるデスクトップ環境です。使用
方法は、強いて言えば MacOS に近いかも知れません。ファ
イルマネージャ等も装備されています。
X Window System に標準で収録されるウィンドウマネー
twm
ジャで、極めてシンプルなものです。これといった特徴はあ
りませんが、必要最低限の機能があります。
オプション
名称
説明
fvwm2
Motif というツールキット (グラフィックスライブラリ) の
ウィンドウマネージャ mwm に似た、立体的な外観を持つ
ウィンドウマネージャで、仮想デスクトップ機能等が拡張さ
れています。
Window Maker
NeXT STEP 風のウィンドウマネージャです。Dock という
アイコン管理システムや、設定ツール等が備わっていて、かな
り強力なものです。
K Deskto Environoment の略で、GNOME と並んでもう一
つの著名デスクトップ環境です。使用方法は Windows と良
KDE
く似ていると言えるでしょう。機能的には GNOME とほぼ
同等ですが、全体のバランスは KDE の方が良いかも知れま
せん。
比較的動作が軽く、最近人気が出つつあるデスクトップ環境
XFce
です。
表 10.1
10.1.2
利用可能なウィンドウマネージャとデスクトップ環境
コンソールからの起動と終了
それではいよいよ X Window System を起動しましょう。まず、コンソールから起動
の起動方法を説明します。ログインしたら、次の手順で起動します。
■ 設定の確認
インストール時に X Window System やマウスの設定を行いましたが、念のためこれ
らの確認を行います。図 10.1 のようにプロンプトから X だけを入力して実行します。
10.1 X Window System の起動と終了
141
✞
✝
[hane@localhost hane]$ X
図 10.1
✆
素の X Window System の起動
すると、画面は背景が黒となり、画面の丁度中央に X 字のマウスカーソルが表示でき
れば取り敢えず問題ありません。モニターに解像度を表示する機能があるなら、インス
トール時に設定した解像度になっているか確認します。もし、マウスカーソルが正常に表
示されなかったり、解像度が設定と異なる場合は、13.2 章で解説する X Window System
設定ツールの Xconfigurator で再度設定して下さい。
次に、マウスを動かしてマウスカーソルの動作を確認します。マウス操作にマウスカー
ソルが連動すれば大丈夫です。もし、マウスカーソルが突然ジャンプする等異常な動きを
する場合は、14.2.1 章で解説するマウス設定ツールの mouseconfig を実行し、マウスの
種類を確認して下さい。
✄
✄
✄
起動に問題が無ければ、 ✂Ctrl ✁+ ✂Alt ✁+ ✂Back Space ✁キーを押して、コンソールに戻り
ます。
■ 起動と終了
X Window System の起動は、コマンドラインから startx コマンドを実行します (図
10.2)。
✞
✝
[hane@localhost hane]$ startx
✆
図 10.2 コンソールからの X Window System 起動
起動すると、GNOME の画面が表示されます (図 10.3)。この画面から後述の動作指示
を与え、様々な作業を行います。
142
第 10 章 X Window System の基本操作
図 10.3
GNOME 起動画面
GNOME(X Window System) の終了は、まず最上部のパネル*1 から、“アクション→
ログアウト” の順でクリックします (図 10.4)。するとダイアログ (図 10.5) が開くので、
そこで “ログアウト (L)” をチェックして OK ボタンをクリックします。
なお、“ログアウト (L)” の替わりに “シャットダウン (U)” をチェックすると、シャッ
トダウンすることができます。これは、後述の gdm からログインした場合も同様です。
図 10.4 ログアウトの指示
*1
最上部に位置し、アプリケーションやアクションのメニュー、時計表示等を持つ帯状の部分をパネルと呼
びます。
10.1 X Window System の起動と終了
図 10.5
10.1.3
143
ログアウトのダイアログ
電源投入後の自動起動∼グラフィカルログイン∼
次に電源投入後の、自動起動について説明します。この場合、コンソールではなく、X
Window System 上からのログインになります。これを、グラフィカルログイン等と呼び
ます。
自動起動をするには、システム設定ファイルの修正が必要です。コンソールからの起動
が成功したら、スーパユーザになり設定ファイルの/etc/inittab を修正します。リスト
10.1 の行における “3”(下線部) を、図 10.2 のように “5” にエディタで修正します。
リスト 10.1: /etc/inittab の修正箇所
id:3:initdefault:
リスト 10.2: /etc/inittab の修正後
id:5:initdefault:
これら 3 や 5 の数字をランレベルと言って、Linux の実行モードを表しています。ラ
ンレベルにより、シングルユーザモード、マルチユーザモード、起動時の X Window
System 使用等を切替えることができます。
修正後、shutdowm コマンドで Linux を再起動します (図 10.6)。
✞
✝
[root@localhost root]# shutdown -rt0 now
図 10.6
✆
Linux の再起動
再 起 動 す る と 、図 10.7 の 画 面 が 表 示 さ れ ま す 。こ れ は 、gdm(GNOME Display
Manager) というソフトウェアが表示しているものです。この画面において、ユーザ名
144
第 10 章 X Window System の基本操作
✄
✄
✂Enter ✁、パスワード ✂Enter ✁と入力してログインすると、先の図 10.3 の画面が表示され
ます。
図 10.7
グラフィカルログイン (gdm) 画面
GNOME を終了して gdm に戻るには、パネルから “アクション→ログアウト” の順で
クリックするとダイアログが開くので、そこで “ログアウト (L)” をチェックして OK ボ
タンをクリックします (図 10.4、図 10.5)。
また、この画面の右上にあるアイコンから、色々なオプションを選択することができま
す。以下にこれらのオプションについて説明しますが、必要が無ければ毎回オプション設
定する必要はありません。
■ 言語
言語のアイコンをクリックすると、メニュー等に使用する言語を選択するメニューが開
きます (図 10.8)。ただし、韓国語等選択はできてもフォントが無いために表示できませ
ん。ですから、全てが利用できるわけではありません。また、日本語以外を選択すると、
デフォルトでは後述する日本語入力ができなくなります。よって、余程の理由が無い限
り、システムデフォルトの日本語から変更する必要はありません。
10.1 X Window System の起動と終了
145
図 10.8 言語選択メニュー
■ セッション
セッションのアイコンをクリックすると、デスクトップ環境やウィンドウマネージャの
種類を選択するメニューが開きます (図 10.9)。“前回 (L)” は前回使用したセッション、
“1” はデフォルトの GNOME、“2” は GNOME を使用します。最後のフェイルセーフ
は、ファイルが破損した等、万一 GNOME 等が起動しなくなった時に、twm で起動し
ます。
図 10.9
セッション選択メニュー
146
第 10 章 X Window System の基本操作
■ システム
システムのアイコンをクリックすると、Linux をシャットダウンや再起動するための
メニューが開きます (図 10.10)。“コンピュータを停止” はシャットダウン、“コンピュー
タを再起動” は文字どおり再起動です。この時、OK ボタンをクリックするとパスワー
ドを入力すること無く、すぐに実行されます。 gdm の使用時、一般ユーザは X Window
System のみを終了させることはできず、Linux のシャットダウンか再起動のいずれかが
選択できるのみです。
最後の “XDMCP chooser を実行” は、ネットワーク上の他のコンピュータの X
Window System にログインする時に使用します。
図 10.10
10.2
システム選択メニュー
GNOME の基本操作
Vine Linux 標準のデスクトップ環境である、GNOME の基本操作について説明しま
す。コンソールから起動した場合も、gdm からログインした場合でも、操作方法は同じ
です。
10.2.1
コマンド・ソフトウェアの実行
GNOME では、大きく分けて二種類の方法でコマンドやソフトウェアを実行するこ
とができます。一つは後述のターミナルソフトウェアから実行する方法、もう一つは
GNOME のメニューやアイコン等から実行する方法です。このことは、GNOME 以外で
も同様です。
■ ターミナルソフトウェアからの実行
X Window System 上で、コンソールと同様の環境を提供するものがターミナルソフト
ウェアです。ターミナルソフトウェア (以下ターミナル) には kterm、xterm、rxvt 等色々
な種類がありますが、ここでは GNOME に用意されている gnome-terminal(GNOME
端末) を使用します。
10.2 GNOME の基本操作
147
パネル上にあるターミナルのアイコン (図 10.11) をクリックすると、gnome-terminal
が起動します (図 10.12)。
図 10.11
パネル上のターミナルアイコン
図 10.12 gnome-terminal
gnome-terminal が一つのコンソールに相当します。プロンプトが表示されているこ
とからわかるように、ここからコマンドやソフトウェアを実行することができます。ま
た、コマンド等の CUI ソフトウェアだけでなく、X Window System 対応の GUI ソフ
トウェアも実行することができます。試しに xclock & を実行してみると、時計が表示さ
れます (最後に & を付けると、バックグランドで実行することができます。付けない場合
との違いを確認してみて下さい)。
また gnome-terminal 上では、マウスを使用して文字のコピー&ペーストが行えま
*2 gnome-terminal 上で、ドラッグすると任意の文字列、ダブルクリックするとワー
す。
ド単位、トリプルクリックすると一行が内部バッファにコピーされ、指定した文字は反転
します。そして、中央ボタンをクリックすると、コピーした内容をペーストします。マウ
スのみでコピー&ペーストができるので、非常に便利です。文字であれば、各アプリケー
ション間でコピー& ペーストできる場合が殆どです。
この gnome-terminal は、いくつも同時に起動することができるので、複数のコマン
ド結果を参照したいときにも便利です。なお、gnome-terminal は日本語表示に対応し
ているので、コンソールのように modprobe vga16fb 等を実行する必要はありません。
gnome-terminal 以外のターミナルでは、kterm が良く使用されます。
*2
実は、コンソールにおいても同様にマウスが使用できます。
148
第 10 章 X Window System の基本操作
■ パネルからの起動
GNOME のパネルからソフトウェアを起動することができます。この場合、通常は X
Window System 対応のソフトウェアを起動します。
既に GNOME の終了等で使用しましたが、パネルにあるメニューをクリックすること
によりソフトウェアが起動します。パネルにはアプリケーション(図 10.13) とアクショ
ン(図 10.4) の二つのメニューがあります。
図 10.13
パネルのアプリケーションメニュー
アプリケーションのメニューは、種類毎に分類されて階層構造を取っています。メ
ニューの項目は、GNOME 対応のアプリケーションをインストールすれば、ほぼ自動的
に追加されます。また、それ以外でも下位メニューが無い項目で右クリックすると開くメ
ニューから、“メニュー全体→このメニューに新しい項目を追加する” を選択すれば、ユー
ザがある程度自由に追加することができます。ただし、アクションのメニューには追加で
きません。
開いたメニューを取り消したい (閉じたい) 時は、再度パネル上のメニューをクリック
✄
するか、 ✂Esc ✁キーを押します。
10.2.2
GNOME のウィンドウ操作
画面上に多くのウィンドウを開いていくと、これらを整理する必要が出てきます。そ
こで GNOME におけるウィンドウの基本操作を説明します。ただし、ウィンドウマネー
ジャの介入 (管理) を禁止しているソフトウェアについては、以下に述べる操作ができな
いことがあります。
■ ウィンドウの選択
複数のウィンドウが存在する場合、選択 (フォーカス) されているウィンドウが操作対
象となります。GNOME では、ウィンドウ上部のタイトルバー (図 10.14) をクリックす
10.2 GNOME の基本操作
149
ると、そのウィンドウが選択されます。選択すると、タイトルバーの色が濃い青になりま
す。この配色が気に入らなければ、“アプリケーション→デスクトップの設定→テーマ”
を選択して開く設定面画において、他のテーマ*3 を選択するのも良いでしょう。
図 10.14
GNOME のタイトルバー
いちいちタイトルバーをクリックするのが面倒なら、“アプリケーション→デスクトッ
プの設定→ウィンドウ” を選択して開く設定面画において、最上部にある “マウスが移動
したウィンドウを選択する (S)” にチェックを入れます。
✄
✄
また、 ✂Alt ✁+ ✂Tab ✁キーでも、ウィンドウの選択を切替えることができます。
タイトルバーの右端には、次に述べる三つの機能 (ボタン) があります。
■ 閉じる
タイトルバー右端の×ボタンを、閉じるボタンと言います。このボタンをクリックする
と、そのウィンドウを閉じることができます。これはソフトウェアの終了指示と同等で
す。ソフトウェアによっては、ファイルの保存等を尋ねられることがあります。
■ 最大化
タイトルバーの閉じるボタンの左を、最大化ボタンと言います。このボタンをクリック
すると、そのウィンドウを最大限まで大きくすることができます。最大化を元に戻すに
は、再度最大化ボタンをクリックします。
■ 最小化
タイトルバーの最大化ボタンの左を、最小化ボタンと言います。このボタンをクリック
すると、そのウィンドウを最下部のパネルに格納することができます。最小化を元に戻す
✄
✄
には最下部パネル内の該当するボタンをクリックするか、前述の ✂Alt ✁+ ✂Tab ✁キーでウィ
ンドウを選択します。
ところで、最下部のパネルと言いましたが、最上部にもパネルがありました。両者を区
別する場合、最上部のものをトップパネル、最下部のものをボトムパネルと言います。
*3
GNOME におけるデザインやカラーを定義したもの。
150
第 10 章 X Window System の基本操作
■ 移動
タイトルバーの中央をドラッグすると、そのウィンドウを移動することができます。ま
✄
た、 ✂Alt ✁キーを押しながらウィンドウ内をドラッグしても、移動することができます。
■ サイズ変更
ウィンドウサイズを変更するには、ウィンドウの周りにある枠 (フレーム) にマウスカー
ソルを移動すると図 10.15∼図 10.18 の形状に変化するので、そのままドラッグをして調
整します。
図 10.15
リサイズ (上)
図 10.16
リサイズ (下)
図 10.17
リサイズ (左)
図 10.18
リサイズ (右)
■ ワークスペースの切替
GNOME には、仮想的に複数の表示画面を利用できる機能があります。この機能は、
仮想画面機能等と呼ばれます。切替操作をすることにより、独立した複数の画面が利用で
きる機能です。図 10.3 の画面を複数持てるような感覚です。そして、仮想画面の各々を、
ワークスペースと言います。
ワークスペースを切替えるには、ボトムパネル右端にある図 10.19 のワークスペース切
替アイコンを使用します。デフォルトでは 2 × 3 で、6 個のワークスペースがあり、いず
れかの枡目をクリックすると切替えることができます。現在のワークスペースは、濃い色
となります。
ワークスペース数の変更は、ワークスペース切替アイコン上で右クリックして開くメ
ニューから “設定” で行います。
図 10.19
ワークスペース切替アイコン
10.3 日本語環境
10.3
151
日本語環境
ここでの日本語環境とは、Linux 上で日本語を扱うために必要なソフトウェア等の整備
を指します。現在では、多くのディストリビューションが最初から日本語を扱えるように
なっていますので、後からソフトウェアをインストールする必要は殆どありません。これ
から、日本語対応の意味と、日本語入力の方法について説明します。
10.3.1
日本語対応とは
日本語環境を構築するには、いくつかの条件が必要になります。まず、これらを列挙し
てみましょう。
■ 日本語フォント
日本語を表示するために、日本語のフォントが必要です。Vine Linux ではビットマッ
プフォントや TrueType 等のアウトラインフォントが用意されています。
■ 日本語入力システム
日本語を入力するために、日本語入力システムが必要です。日本語入力システムは、か
な漢字変換システム、日本語 FEP、日本語 IME 等、OS 等によって名称が異なること
があります。Vine Linux では Canna(かんな) という日本語入力システムが標準となり
ます。
この日本語入力システムは、サーバ・クライアント方式なのが一般的です。クライアン
トからサーバに向けて変換の要求を出し、その結果を受け取ります。ただし、Vine Linux
に収録された多くの X Window System 上のアプリケーションは、図 10.20 のように
サーバとアプリケーションの間に kinput2 が存在し、間接的にサーバと通信する形態を
取ります。Emacs 等の極一部のアプリケーションが、図 10.21 のように直接サーバと通
信する形態を取ります。
なお、コンソール上で日本語を入力する方法は、C.1 章を参照して下さい。
Canna Server
kinput2
Application
図 10.20 日本語入力の形態 (1)
Canna Server
Application
図 10.21 日本語入力の形態 (2)
152
第 10 章 X Window System の基本操作
■ アプリケーションの対応
フォントや日本語入力システムがあっても、肝心のアプリケーションが日本語を扱えな
ければ意味がありません。例えば、日本語の一文字を正しく扱えるか等です。正しく扱え
✄
ないと、日本語一文字を消すのに、 ✂Back Space ✁を二回入力しなければならない等の不具
合が発生することもあります。Linux では、locale (ロカール) という仕組により日本語
を含む多言語を扱えるようになっています。つまりアプリケーションがきちんと locale
に対応しているか、独自に日本語に対応していれば、日本語を処理することができます。
Vine Linux では、多くのアプリケーションで日本語を扱うことができます。
また、日本語の文字コードにはいくつかの種類がありますが、Vine Linux では EUC-JP
が標準となっています。このとき環境変数 LANG は ja_JP.eucJP に設定されています。
10.3.2
日本語入力
アプリケーションにおける日本語入力は、以下のように行います。
■ 日本語入力モード
日本語を入力するには、まず日本語入力モードに移行する必要があります。図 10.20 の
✄
形態をとるアプリケーションでは、 ✂Shift ✁+ スペースキーの入力で移行します。例えば
gnome-terminal においては、図 10.22 のように、最下部に “[ あ ]” というウィンドウ
が表示されます。なお、アプリケーションによっては、文字カーソルの真下に表示される
ものもあります。
図 10.22
日本語入力モード (gnome-terminal)
10.3 日本語環境
153
図 10.21 の形態をとるアプリケーションでは、日本語入力モードに移行するキーは一意
✄
✄
✄
✄
ではありませんが、Emacs では ✂Ctrl ✁+ ✂o ✁ か ✂Ctrl ✁+ ✂\ ✁(または円記号) で移行します。
■ 変換時のキー操作
変換時のキー操作は、日本語入力システムにより異なります。ここでは標準の Canna
について説明します。
変換は、ローマ字で読み仮名を入力し、スペースキーで変換するのが基本です。変換を
していくと、文節長の変更や、アルファベットへの変換が必要なことがあります。これら
のキー操作を、表 10.2 にしめします。
キー操作
✄
✂✄Space ✁
✂✄Enter ✁✄
✂✄Ctrl ✁+ ✂✄ f
Ctrl ✁+ ✂b
✄✂
✄
✂✄Ctrl ✁+ ✂✄ i
✂Ctrl ✁+ ✂o
動作
変換開始
確定
✁ 注目文節を右に移動
✁ 注目文節を左に移動
✁ 注目文節長を短く
✁ 注目文節長を長く
表 10.2 変換時の主なキー操作
✄
✄
✄
また変換を開始する前の未確定文字列においては、 ✂Ctrl ✁+ ✂p ✁ か ✂↑ ✁ を押す度に、“ひ
らがな→英数字 (半角) →英数字 (全角) →カタカナ (半角) →カタカナ (全角) →ひらがな”
✄
✄
✄
の順で切り替わります。また ✂Ctrl ✁+ ✂n ✁ か ✂↓ ✁ で、逆順に切り替わります。
10.3.3
日本語入力システムの切替え
Vine Linux では、標準の日本語入力システムに Canna を使用すると述べましたが、
20.1.2 章で述べる VinePlus には他のものも用意されています。複数の日本語入力システ
ムが共存できますが、Vine Linux の場合ユーザは使用するものを一つ指定する必要があ
*4
ります。
日本語入力システムの指定には、setime コマンドを使用します。このコマンドを引数
無しで実行すると、設定可能な日本語入力システムの一覧が表示されます。一覧の中か
ら、使用するものを引数に与えると設定されます。注意するのは、一覧の内容は設定可能
なものであり、使用可能では無い点です。つまり、インストールされていない日本語入力
システムも表示されるのです。
*4
Vine Linux が用意した仕組を使用せずユーザが適切に設定するなら、自由に日本語入力システムを使い
分けることは可能です。
第V部
ハードウェアの使用方法
157
第 11 章
Linux とハードウェア
Linux では、全ての周辺機器 (デバイス) が使用できるわけではありませんが、多くの
ものが使用可能です。この章では、Linux においてハードウェアを使用する場合の概念
や、実際に使用する方法を説明します。
11.1
ハードウェアの使用方法
Linux では、通常のソフトウェアからハードウェアを使用する場合、スペシャルファイ
ルを利用します。
11.1.1
スペシャルファイルとは
Linux 等の UNIX 系 OS では、ハードウェアを使用するのにスペシャルファイルを利
用します。ハードウェアが接続されている I/O ポートや I/O 用メモリに直接アクセス
(読み書き) することは原則無いわけです。つまり、スペシャルファイルとは、ハードウェ
アを使用するためのコネクタのようなものです。
スペシャルファイルは、文字どおり特別なファイルで、ls コマンド等で表示すること
もできます。例えば PS2 マウスのスペシャルファイルは、図 11.1 のように用意されてい
ます。モードの先頭が c になっていますが、この部分が c となっているものをキャラク
タデバイス、b となっているものをブロックデバイスと言います。キャラクタデバイスは
キーボード, マウス, サウンドカード等、ブロックデバイスは HDD や CD-ROM 等の補
助記憶装置等に使用されます。両者は、アクセスする方法や構造に違いがあります。
✞
✝
[hane@localhost hane]$ ls -l /dev/psaux
crw------1 root
root
10,
[hane@localhost hane]$
図 11.1
1 Aug 15 14:10 /dev/psaux
スペシャルファイルの例
✆
158
第 11 章 Linux とハードウェア
スペシャルファイルは、基本的に一台の周辺機器に対して、一つのスペシャルファイル
が対応します。これらの周辺機器に対応するスペシャルファイル名については、周辺機器
の説明の時に述べます。
スペシャルファイルの使用方法
11.1.2
ハードウェアを使用するのにスペシャルファイルを利用すると述べましたが、必ずしも
スペシャルファイルを直接使用するとは限りません。例えば ls コマンドはファイルの一
覧を表示しますが、ファイルは補助記憶装置内に存在するにもかかわらず、スペシャル
ファイルは使用しませんでした。このようにハードウェアの利用には、スペシャルファイ
ルを間接的に利用する場合と、直接利用する場合の二種類の方法があります。
ユーザに取っては、CD-ROM ドライブならスペシャルファイルでなく CD-ROM 等の
具体的な名称で利用できれば便利ですし、Linux でもできるだけそのような利用方法が取
れるように進むソフトウェアもあります。しかし、スペシャルファイルの存在が消えるわ
けではありませんから、これらの構造は理解しておく必要があります。
11.2
ハードウェアとデバイスドライバ
ここでは、ハードウェアを使用するためのソフトウェアである、デバイスドライバにつ
いて説明します。
11.2.1
デバイスドライバの必要性
周辺機器等のハードウェアは、その種類によって制御する方法が異なるのが普通です。
こうしたハードウェアに、一つのソフトウェアで全てを対応するのは困難です。そこで、
各々のハードウェアに対応する、デバイスドライバというソフトウェアを必要に応じて使
用します。
デバイスドライバはハードウェアや OS によって異なるものが必要ですが、Linux 用
のデバイスドライバはカーネルや X Window System に収録されていて、通常はこれら
を使うことになります。しかし、全ての周辺機器がサポートされているわけではないた
め、使用可能なものとそうでないものが存在します。 また、周辺機器が発売されてから
デバイスドライバが開発されるので、使えるようになるまでに少し時間がかかります。最
近では、ハードウェアに Linux 用のデバイスドライバが添付されていることがあります。
ただし、それが Vine Linux で使えるとは限らないため、注意が必要です。いずれにして
も、周辺機器を使用するためには、それ用のドライバソフトウェアが必要になります。
前述のスペシャルファイルは、このデバイスドライバと密接に関係しています。スペ
シャルファイルにアクセスすると、デバイスドライバを経由してハードウェアを使用する
ようになっています。
11.2 ハードウェアとデバイスドライバ
11.2.2
159
デバイスドライバの組込
Vine Linux を起動すると、多くのデバイスドライバは既に組み込まれた状態になって
います (メモリ上にロードされています)。NIC や USB インターフェイス用ドライバ等
がそうです。ただし、デバイスドライバを、後から組み込む必要がある周辺機器も存在し
ます。
また Vine Linux のインストール後に PCI スロットに NIC や SCSI カード等の機器
を増設した場合、増設後に Vine Linux を起動すると、kudzu という機構により内部のリ
ストに登録されている機器は自動的に認識されます。この場合は、画面の指示に従って設
定します。逆に機器を取り外した場合も、Vine Linux 起動時に kudzu がチェックして必
要な処理をユーザに要求します。
Linux におけるデバイスドライバは、静的にカーネルに組み込むか、動的にカーネルモ
ジュールとして組み込むことになります。カーネルモジュールは、カーネルの機能を動的
に装備するための機構です。デバイスドライバ以外にも、広く利用されます。
さて、デバイスドライバを組み込めることは判りましたが、静的に全てのデバイスドラ
イバを組み込むと、メモリ消費等無駄が生じます。そのため、多くのディストリビュー
ションでは、接続 (装備) された周辺機器を検出して必要なドライバをカーネルモジュー
ルとして組み込むようになっています。図 11.2 は、動的に組み込まれたモジュールを、
/sbin/lsmod コマンドで表示した例です。ただし、キーボードや PS2 マウス等、一部の
デバイスドライバは静的に組み込まれています。
カ ー ネ ル モ ジ ュ ー ル は 自 動 的 に 組 み 込 ま れ る も の や 、設 定 フ ァ イ ル の/etc/
modules.conf に従って組み込まれるもの (SCSI カードやサウンドカード用のデバイス
ドライバ等) があります。
160
第 11 章 Linux とハードウェア
✞
✝
[hane@localhost hane]$ /sbin/lsmod
Module
Size Used by
Tainted: P
parport_pc
32072
1 (autoclean)
lp
8512
0 (autoclean)
parport
35400
1 (autoclean) [parport_pc lp]
autofs
13492
0 (autoclean) (unused)
pcnet32
19716
1
mii
3604
0 [pcnet32]
crc32
3592
0 [pcnet32]
usb-uhci
27344
0 (unused)
hid
24900
0 (unused)
encode-eucjp
242928
0 (unused)
es1371
31180
1
gameport
2932
0 [es1371]
ac97_codec
16756
0 [es1371]
soundcore
6244
4 [es1371]
rtc
9352
0 (autoclean)
usb-storage
76960
0 (unused)
BusLogic
100028
0 (unused)
sd_mod
13420
0 (unused)
scsi_mod
69528
2 [usb-storage BusLogic sd_mod]
[hane@localhost hane]$
図 11.2 動的に組み込まれたデバイスドライバ
✆
161
第 12 章
補助記憶装置
この章では、HDD や CD-ROM ドライブ等の補助記憶装置の使用方法を説明します。
補助記憶装置を使用するには色々な方法がありますが、ここで説明するのは比較的一般的
な方法です。以下の説明は、スーパユーザの権限で主にコンソールまたはターミナルソフ
トウェア上で操作しています。また USB 接続の装置については、12.7 章で説明します。
12.1
補助記憶装置とマウント
Linux から HDD 等の補助記憶装置を使用する場合、通常はマウントやアンマウントと
いった操作が必要になります。
12.1.1
マウントとファイルシステム
マウントを簡単に説明するなら、補助記憶装置とディレクトリを結びつけることと言え
ます。実はインストール時にも、作成したパーティションを / や /home ディレクトリと
結びつける設定をしていたのです。マウントは HDD 以外にも、FDD や MO 等色々な
補助記憶装置で使用できます。マウントをすると、結びつけたディレクトリ以下に、マウ
ントした補助記憶装置の内容が現れます。マウントをするには mount コマンドを、マウ
ントを解除するアンマウントには umount コマンドを使用します。また、補助記憶装置と
結びつけるディレクトリを、マウントポイントと言います。インストール以降、マウント
ポイントは必要に応じて手動で作成する必要があります。
ところで、マウントする補助記憶装置には、ファイルシステムを構築しておく必要があ
ります。ファイルシステムとは論理フォーマットの様なもので、補助記憶装置にアクセス
するための桝目のようなものです。補助記憶装置の使用状況やファイルの属性等は、ファ
イルシステムにより管理されています。インストール時にも、Linux のパーティションに
対してファイルシステム構築の指定をしたことを思いだしてください (4.2.5 章)。ところ
でファイルシステムは、パーティションに対してのみでなく、補助記憶装置全体に対して
行うこともあります。これは、フロッピーディスク等のようにパーティションを作成でき
162
第 12 章 補助記憶装置
なかったり、MO 等のようにパーティションを作成してもしなくても良いものが存在する
ためです。
以上から、補助記憶装置の使用は、次の手順で行います。
1. (必要であれば) パーティションを作成
2. ファイルシステムを構築
3. (必要であれば) マウントポイントを作成
4. マウント
5. ファイルやディレクトリにアクセス
12.1.2
ファイルシステムの種類と構築
ファイルシステムには、主に表 12.1 のような種類があります。インストール時には、
ext3 のタイプを使用しました。これらは、全てのファイルシステムで使用できるわけで
なく、カーネルのバージョン等によって制限されることがあります。
ファイルシステム名
説明
ext3
Linux における最も一般的なものです。ほとんどの場合こ
ntfs
Windows NT 以降の 2000/XP 等で使用されるファイル
vfat
Windows9x 以降のファイルシステムで、FAT(MS-DOS
れを使用します。従来の ext2 と互換性があります。
システムです。基本的に読み出し専用です。
で使用されるもの) を拡張したものです。
iso9660
udf
CD-ROM 等のファイルシステムです。
DVD 等のファイルシステムです。
表 12.1
主なファイルシステムの種類
これらのファイルシステムを構築するには、mkfs コマンドを使用します。使用方法は、
以下のようになっています。デバイスには、スペシャルファイルを主に使用します。デバ
イスに許可があれば、一般ユーザでも使用できますが、mkfs コマンドは /sbin 以下に
存在するので絶対パスで実行します。なお、CD-ROM に使用する iso9660 ファイルシ
ステムに関しては、例外的に mkisofs を使用します。
usage: mkfs [-t ファイルシステム名] [オプション] デバイス
12.1.3
マウント方法
マウントを行う mount コマンドは、基本的にスーパユーザで使用します。ただし、設
定ファイルの /etc/fstab に許可が記述してあれば一般ユーザでも使用できます。使い
12.1 補助記憶装置とマウント
163
方は次の通りです。デバイスには、通常ファイルシステムが構築された装置のスペシャル
ファイルを指定します。
usage: mount [-t ファイルシステム名] デバイス マウントポイント
マウントしたファイルシステムの使用が終了したら、umount コマンドでアンマウント
します。ただし、マウントポイント以下を誰も使用していない必要があります。使い方は
次の通りです。
usage: umount マウントポイント
■ マウント状況の確認
現在のマウントの状況を確認するには、mount コマンドを引数無しで実行します (図
12.1)。補助記憶装置以外にも、いくつかがマウントして利用されていることが判ります。
このように仮想コンソール (pts) や USB 機器の使用、マウントには様々な用途があり
ます。
✞
✝
[hane@localhost hane]$ mount
/dev/hda2 on / type ext3 (rw)
none on /proc type proc (rw)
usbdevfs on /proc/bus/usb type usbdevfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda5 on /home type ext3 (rw)
none on /dev/shm type tmpfs (rw)
[hane@localhost hane]$
✆
図 12.1 mount 実行例 (1)
■ 空き容量の確認
Linux を使い込んで来ると、HDD 等の空き容量が気になって来ます。Linux では、マ
ウントした補助記憶装置の空き容量を、パーティション毎に確認できます。df コマンド
を実行すると、パーティション毎の全容量、使用量、空き容量、使用率等が表示されます
(図 12.2)。
df コマンドをオプション無しで実行するとブロック単位 (1 ブロック= 1K = 1024) で
値が表示されるので、少し解りにくいかも知れません。そのような場合は、-h オプショ
ンを指定してみると良いでしょう (図 12.3)。
164
第 12 章 補助記憶装置
✞
✝
[hane@localhost hane]$ df
ファイルシステム
1k-ブロック
使用中
/dev/hda2
3020172
1810300
/dev/hda5
4767428
356840
none
127708
0
[hane@localhost hane]$
空き 使用 % マウント場所
1056452
4168412
127708
64% /
8% /home
0% /dev/shm
✆
図 12.2 df 実行例 1
✞
[hane@localhost hane]$ df -h
ファイルシステム
✝
サイズ 使用中 空き 使用 % マウント場所
/dev/hda2
2.9G
/dev/hda5
4.5G
none
125M
[hane@localhost hane]$
1.8G
349M
0
1.0G
3.9G
124M
64% /
8% /home
0% /dev/shm
✆
図 12.3 df 実行例 2
12.1.4
Linux 起動時のマウント
インストール時に / と /home をマウントする設定をしたと述べましたが、これらは
Linux 起動時に自動的にマウントされます。/ は特別なパーティションなので、カーネル
もその存在を把握しています。それ以外のパーティションは、設定ファイル /etc/fstab
に基づいてマウントされます。
リスト 12.1 は、4 章でインストールした PC のものです。デバイス、マウントポイ
ント、ファイルシステム名、マウントオプション等が羅列されているのが判ります。注
目する点はいくつかありますが、/ と/home にデバイス名が書かれておらず、替わりに
LABEL=/ となっている点は重要です。これは、ファイルシステムに/ や/home といった
名前 (= ラベル) を付けて、その名前でマウントするようにしているのです。
また /etc/fstab には、Linux 起動時にマウントするパーティション以外も記述
されています。図 12.1 と比較すると、スワップパーティション (/dev/hda3), CD-
ROM(/dev/cdrom), フロッピーディスク (/dev/fd0) 等のマウントされていない補助記
憶装置があるのが判ります。スワップはマウントせずに使用する特殊なもので、CD-ROM
とフロッピーディスクは脱着可能な媒体ですから、起動時にはマウントしない設定となっ
ているのです。一般的なパーティションは、オプションが defaults となっていなければ
起動時にマウントされません。
12.2 HDD
LABEL=/
none
LABEL=/home
none
none
/dev/hda3
/dev/cdrom
/dev/fd0
12.2
165
リスト 12.1: /etc/fstab の例
/
ext3
defaults
1 1
/dev/pts
devpts gid=5,mode=620 0 0
/home
ext3
defaults
1 2
/proc
proc
defaults
0 0
/dev/shm
tmpfs
defaults
0 0
swap
swap
defaults
0 0
/mnt/cdrom iso9660 noauto,owner,kudzu,ro,iocharset=euc-jp 0 0
/mnt/floppy auto
noauto,owner,kudzu,iocharset=euc-jp 0 0
HDD
HDD はインストール時にマウントの設定が行われるので、通常は特に行う作業があり
ません。ここでは、HDD 増設と Windows 用パーティションのマウント方法に付いて説
明します。
12.2.1
HDD の増設
ここでの増設とは、新しく HDD を増設した場合です。Windows 用パーティションを
縮小する等して、Linux 用のパーティションを作成する領域を用意した場合も操作は殆
ど同じです。増設する HDD は、IDE や SCSI 接続のものが使用できます。IDE 接続と
SCSI 接続の HDD とでは、スペシャルファイルが異なるだけで、マウント方法は同じ
です。
HDD のスペシャルファイルは、表 12.2 のように決まっています。これらのスペシャ
ルファイルは、パーティションではなく HDD 全体をさします。よって、/dev/hda に
パーティションを作成すれば、/dev/hda1, /dev/hda2… のように採番されます。
スペシャルファイル
ドライブ接続先
/dev/hda
IDE プライマリインターフェイスのマスター
/dev/hdb
IDE プライマリインターフェイスのスレーブ
/dev/hdc
/dev/hdd
IDE セカンダリインターフェイスのマスター
IDE セカンダリインターフェイスのスレーブ
/dev/sda
SCSI 接続の一台目のドライブ
/dev/sdb
:
SCSI 接続の一台目のドライブ
以降 sdc, sdd…
表 12.2
HDD スペシャルファイル対応表
166
第 12 章 補助記憶装置
HDD の装着は、図 12.4 のように dmesg コマンド等で確認することができます。dmesg
コマンドは、Linux 起動時にカーネルが出力するメッセージを表示します。表示から、
IDE 接続の HDD 関連のメッセージを抜き出したのが図 12.4 です。dmesg コマンド以
外にも、/proc 以下に周辺機器に関する情報が存在します。
✞
✝
[hane@localhost hane]$ dmesg | egrep ’^(hda|hdb)’
hda: MAXTOR 6L080J4, ATA DISK drive
hdb: IBM-DJNA-371350, ATA DISK drive
hda: attached ide-disk driver.
hda: host protected area => 1
hda: 156355584 sectors (80054 MB) w/1819KiB Cache, CHS=9732/255/63, UDMA(100
hdb: attached ide-disk driver.
hdb: host protected area => 1
hdb: 26520480 sectors (13578 MB) w/1966KiB Cache, CHS=1650/255/63, UDMA(33)
[hane@localhost hane]$
✆
図 12.4 HDD の装着確認
ここでは、IDE プライマリインターフェイスのスレーブに増設した HDD、つまり
/deb/hdb として認識された HDD の使用方法を説明します。HDD 接続後に dmesg コ
マンド等で確認したら、スーパユーザでログインして次の手順で作業します。
1. fdisk の起動
増設した HDD に fdisk コマンドでパーティションを作成します。例えば E-
IDE のプライマリインターフェイスにスレーブのドライブを追加した場合、fdisk
スペシャルファイル のように実行します。よって、ここでは fdisk /dev/hdb と
✄
します。実行すると fdisk のプロンプトモードには入るので、コマンド ✂Enter ✁で
✄
命令を与えていきます。m ✂Enter ✁でコマンドの一覧が表示されます。
2. パーティションの作成
その後、図 12.5 の手順で作業します。ここでは、全容量を /dev/hdb1 に割り
当てています。もし 4 つ以上のパーティションを作成するなら、まず拡張パーティ
ションを作成し、その中に論理領域としてパーティションを作成します。この時、
拡張パーティションの中に作成した論理領域はパーティション番号が 5 から始ま
ります。新品の HDD を増設した場合、既に滅茶苦茶な内容のパーティションが存
在することがありますが、これは削除してかまいません。
12.2 HDD
167
✞
[root@localhost root]# fdisk /dev/hdb
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は
メモリ内だけに残します。その後はもちろん以前の内容は修復不可能になります。
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み) によって
正常になります
コマンド (m でヘルプ): n
← 新規作成の n コマンド
コマンドアクション
e
p
拡張
基本領域 (1-4)
← 基本領域の p
p
領域番号 (1-4): 1
← hdb1 なので 1 を入力
最初 シリンダ (1-520, 初期値 1):
← 先頭から使用するのでデフォルトの 1
初期値 1 を使います
終 点 シ リ ン ダ ま た は + サ イ ズ ま た は + サ イ ズ M ま たは + サ イ ズ K (1-520, 初 期
値 520):
← 終りまで使用するのでデフォルトの 520
初期値 520 を使います
コマンド (m でヘルプ): p
← 表示確認
Disk /dev/hdb: 1073 MB, 1073741824 bytes
64 heads, 63 sectors/track, 520 cylinders
Units = シリンダ数 of 4032 * 512 = 2064384 bytes
デバイス ブート
始点
/dev/hdb1
終点
1
コマンド (m でヘルプ): w
ブロック
520
ID システム
1048288+ 83 Linux
← パーティションテーブルを書き込んで終了
領域テーブルは交換されました!
ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。
✝
[root@localhost root]#
✆
図 12.5
fdisk 実行例
168
第 12 章 補助記憶装置
3. ファイルシステムの作成
次に mkfs コマンドで、ext3 ファイルシステムを作成します (図 12.6)。-c オ
プションをつけると、不良ブロック (処理する単位) をチェックするので時間がか
かります。このオプションは、新品の HDD なら最初の一度と後は必要に応じて指
定する等、方針は様々です。勿論 mkfs の度に指定しても構いません。
✞
[root@localhost root]# mkfs -t ext3 -c /dev/hdb1
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
131072 inodes, 262072 blocks
13103 blocks (5.00%) reserved for the super user
First data block=0
8 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Checking for bad blocks (read-only test): done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
✝
This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@localhost root]#
図 12.6
mkfs 実行例
4. マウントポイントの作成とマウント
最後にマウントポイントの /home2 を作成し、/dev/hdb1 をマウントします (図
12.7)。これで /dev/hdb1 にアクセスすることができます。
✆
12.2 HDD
169
✞
✝
[root@localhost root]# mkdir /home2
[root@localhost root]# mount -t ext3 /dev/hdb1 /home2
[root@localhost root]# mount
/dev/hda2 on / type ext3 (rw)
none on /proc type proc (rw)
usbdevfs on /proc/bus/usb type usbdevfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda5 on /home type ext3 (rw)
none on /dev/shm type tmpfs (rw)
/dev/hdb1 on /home2 type ext3 (rw) ← 増設した HDD
[root@localhost root]#
✆
図 12.7 mount 実行例 (2)
先に説明した設定ファイル /ets/fstab をリスト 12.2 のように変更すると、Linux 起
動時に自動的にマウントすることができます。右から二番目の項は dump コマンドの対象
とするか、一番右の項はファイルシステムのチェックをする fsck コマンドでチェックを
する順番を表しています。
LABEL=/
none
LABEL=/home
/dev/hdb1
none
none
/dev/hda3
/dev/cdrom
/dev/fd0
12.2.2
リスト 12.2:
/
ext3
/dev/pts
devpts
/home
ext3
/home2
ext3
/proc
proc
/dev/shm
tmpfs
swap
swap
/mnt/cdrom iso9660
/mnt/floppy auto
/etc/fstab の追加例
defaults
1 1
gid=5,mode=620 0 0
defaults
1 2
defaults
1 3 ← 追加行
defaults
0 0
defaults
0 0
defaults
0 0
noauto,owner,kudzu,ro,iocharset=euc-jp 0 0
noauto,owner,kudzu,iocharset=euc-jp 0 0
Windows パーティションのマウント
Windows と Linux がインストールされた PC であれば、Linux から Windows のパー
ティションを参照したいことがあります。例えば、Windows でダウンロードしたファイ
ルを Linux から参照したい場合です。このような場合に、NTFS や FAT(32) のパーティ
ションをマウントすることができます。ただし NTFS については、事実上読み出し専用
170
第 12 章 補助記憶装置
*1
です。
NTFS/FAT(32) パーティションの存在を確認するには、例えばスーパユーザになり以
下のコマンドを実行します (図 12.8)。この例では、/dev/hda1 が NTFS であることが、
/dev/hdb1 が FAT32 であることがわかります。
✞
✝
[root@localhost root]# fdisk -l /dev/hda /dev/hdb | egrep -i ’(ntfs|fat)’
/dev/hda1
*
1
255
2048256
7 HPFS/NTFS
/dev/hdb1
1
130
1044193+
b Win95 FAT32
[root@localhost root]#
図 12.8
✆
NTFS/FAT(32) パーティションの確認
ここでは NTFS の /dev/hda1 を、マウントポイント/mnt/win にマウントする例を
しめします。先に説明したように、マウントポイントを作成後に、マウントを行うだけで
す。具体的には、図 12.9 のように行います。もし /mnt/win が存在するなら、勿論作成
する必要はありません。先に述べたように、安全上 NTFS に書き込みするのは危険なの
*2 また指定するファ
で、オプション -o ro をつけて読み出し専用でマウントしています。
イルシステム名は、実際の名称とは若干異なる点に注意してください (NTFS は ntfs、
Windows95 以降の FAT は vfat)。
✞
✝
[root@localhost root]# mkdir /mnt/win
[root@localhost root]# mount -t ntfs -o ro /dev/hda1 /mnt/win
[root@localhost root]# mount | grep ’/dev/hda1’
/dev/hda1 on /mnt/win type ntfs (ro)
[root@localhost root]#
✆
図 12.9 mount 実行例 (3)
これで /dev/hda1 に存在するファイルに対して、アクセスすることができます。ただ
し、NTFS/FAT ファイルシステムの場合、オーナやグループ等のファイル属性がありま
せん。*3 そのためデフォルトでは、オーナとグループはスーパユーザとなります。さらに
NTFS では、スーパユーザ以外読み出すこともできません。
この制限を完全に回避することはできませんが、uid と gid オプションを指定するこ
とにより、特定のユーザにアクセスする権限を与えることができます。例えば、図 12.10
*1
オーナは変更できるのにファイルが書き込めない等、動作が怪しいことがあります。これは NTFS の書
き込みが、カーネルの実験的な (experimental) サポートのためです。
*2 -o ro は -r と書くこともできます。
*3 NTFS の場合は、上手く読み出せないのかも知れませんが…
12.3 CD-ROM DVD-ROM ドライブ
171
のようにオプションを,(カンマ) で区切って指定します。uid と gid の値は、6.2.5 章で
説明した id コマンドで得られるものを指定します。こうしてマウントすると、オーナと
グループは、uid=500 gid=501、つまり hane のものとなります。
✞
[root@localhost root]# mount -t ntfs -o ro,uid=500,gid=501 /dev/hda1 /mnt/win
✝
✆
図 12.10 mount における uid/gid の指定
設定ファイル /ets/fstab をリスト 12.3 のように変更すると、Linux 起動時に自動的
にマウントすることができます。右から二つの項は、dump や fsck コマンドの対象にな
らないので、どちらも 0 となります。
LABEL=/
none
LABEL=/home
/dev/hdb1
none
none
/dev/hda3
/dev/cdrom
/dev/fd0
/dev/hda1
12.3
リスト 12.3: /etc/fstab の追加例 (2)
/
ext3
defaults
1 1
/dev/pts
devpts gid=5,mode=620 0 0
/home
ext3
defaults
1 2
/home2
ext3
defaults
1 3
/proc
proc
defaults
0 0
/dev/shm
tmpfs
defaults
0 0
swap
swap
defaults
0 0
/mnt/cdrom iso9660 noauto,owner,kudzu,ro,iocharset=euc-jp 0 0
/mnt/floppy auto
noauto,owner,kudzu,iocharset=euc-jp 0 0
/mnt/win
ntfs
defaults,ro
0 0 ← 追加行
CD-ROM DVD-ROM ドライブ
ここでは、CD-ROM と DVD-ROM の使用方法を説明します。CD-ROM と DVDROM とでは、容量が異なる以外、取扱い方法は同じです (iso9660 フォーマットの場合)。
以降 CD-ROM について説明しますが、DVD-ROM でも同様と理解してください。
CD-ROM から Linux をインストールしたのであれば、ATAPI と SCSI のどちらのタ
イプでも既にドライバが組み込まれているので、メディアをドライブにセットしてマウン
トすれば、CD-ROM にアクセスできるようになります。
CD-ROM のマウントは、コンソール等の環境ではコマンドで行う必要がありますが*4 、
GNOME 環境下では自動的に行われます。
*4
全ての環境で自動的にマウントする autofs という機構もあります。
172
12.3.1
第 12 章 補助記憶装置
マウントによる使用
マウントは、図 12.11 のように行います。マウント後、/mnt/cdrom 以下に CD-ROM
の内容が現れます。これは、一般ユーザでも実行で可能です。
✞
✝
[root@localhost root]# mount /mnt/cdrom
図 12.11
✆
CD-ROM のマウント実行例 (1)
これは、スーパユーザで図 12.12 のように実行した場合と同等です。
✞
✝
[root@localhost root]# mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom
図 12.12
✆
CD-ROM のマウント実行例 (2)
図 12.11 では一般ユーザでマウントできましたが、これは、 /etc/fstab に以下の一
行が記述されていたからです。この記述が、マウントポイントの指定のみでマウントでき
たり、一般ユーザでのマウントを許可しているのです。
/dev/cdrom
/mnt/cdrom
iso9660 noauto,owner,kudzu,ro,iocharset=euc-jp 0 0
CD-ROM ドライブのスペシャルファイルには /dev/cdrom を使っていますが、これ
はシンボリックリンクであり、実際には表 12.3 のいずれかのスペシャルファイルをさし
ています。複数の CD-ROM ドライブが存在する時は、一台目は /dev/cdrom、二台目は
/dev/cdrom1 … のようにシンボリックリンクが作成されていきます。
スペシャルファイル
ドライブ接続先
/dev/hda
IDE プライマリインターフェイスのマスター
/dev/hdb
/dev/hdc
IDE プライマリインターフェイスのスレーブ
IDE セカンダリインターフェイスのマスター
/dev/hdd
IDE セカンダリインターフェイスのスレーブ
/dev/scd0
/dev/scd1
SCSI 接続の一台目のドライブ
SCSI 接続の二台目のドライブ
:
以降 scd2, scd3…
表 12.3
CD-ROM/DVD-ROM ドライブのスペシャルファイル
メディア (CD-ROM) を交換する場合は、アンマウト後にメディアを入れ換え、再度マ
ウントする必要があります。なお、アンマウントしないと、メディアは取り出せないよう
12.3 CD-ROM DVD-ROM ドライブ
173
になっています。これは CD-ROM ドライブに限らず、イジェクトをソフトウェアから
制御できるドライブにおいても、ほぼ当てはまります。
■ CD-ROM チェンジャ
最近では新品で購入することは難しいのですが、便利な CD-ROM チェンジャについ
て捕足しておきます。カーネルの再構築が必要になることもありますが、SCSI 接続のド
ライブであれば、CD-ROM チェンジャの各 CD-ROM が/dev/scd0 から順番に認識さ
れます (/dev/cdrom は作成されないので、/dev/scd0 等のスペシャルファイルを使用し
ます)。*5 そして、これらを同時にマウントしておけば、あとは cd コマンド等に連動して
アクセスする CD-ROM が自動的に切り替わります。
ATAPI 接続の場合、全ての CD-ROM チェンジャで使えるとは限らないのですが、
多くは動作する思います。ただし、SCSI 接続のドライブとは異なり少々作業が必要に
なります。後述の方法でまず、ファイル/usr/share/doc/kernel-doc-2.4.26/cdrom/
ide-cd の最後に添付される cdchange.c を抜き出し、ファイル cdchange.c を作成し
ます。次に、図 12.13 のようにして実行ファイルを作成します。
✞
✝
[root@localhost root]# cc -o cdchange cdchange.c
図 12.13
✆
cdchange コマンド作成
これで cdchange という実行ファイルが作成されるので、/usr/local/bin 等のディ
レクトリにコピーして置きます。後は、以下のように cdchange コマンドを実行し、
CD-ROM を切替えます。スペシャルファイルは、通常の /dev/cdrom を使用します。
SCSI 接続のチェンジャのように自動的に CD-ROM を切替えるわけでなく、アンマウン
ト中に件のコマンドで切替る必要があります。
usage: cdchange スペシャルファイル スロット番号
12.3.2
GNOME における使用方法
GNOME 環境下においては、CD-ROM をドライブに装着するだけで、画面左に CDROM のアイコン (図 12.14) が表示されます。アイコンの下の文字はボリュームラベル
で、CD-ROM によって異なります。このアイコンをダブルクリックすると、CD-ROM
の内容が表示されます。
*5
LUN(ロジカルユニットナンバー) で CD-ROM を切替えられるドライブに限ります。
174
第 12 章 補助記憶装置
図 12.14 GNOME の CD-ROM アイコン
CD-ROM の取り出しは、CD-ROM のアイコンを右クリックして開くメニューから、
“取り出し (J)” を選択します (図 12.15)。この時、アンマウントできないため取り出せな
い等のメッセージが出たら、一旦ログインしなおした後で、再度試して下さい。
図 12.15
12.4
CD-ROM の取り出しメニュー
CD-R/RW DVD-R/RW/RAM ドライブ
ここでは、CD-R/RW と DVD-R/RW/RAM の使用方法を説明します。これらは、取
扱い方法はほぼ同じです。以降 CD-R/RW について説明しますが、DVD-R/RW でも同
様です。DVD-RAM に関しては補足説明します。
12.4.1
接続ドライブの認識
CD-R/RW ドライブは、ATAPI と SCSI 接続の両方が使用できます。SCSI 接続の
ものは、CD-ROM ドライブとして認識されている状態であればすぐに使用できますが、
ATAPI のものは SCSI エミュレーション、つまり SCSI 接続に見せかける機能を使用す
る必要があります (将来的には不要になる予定です)。まず、ATAPI と SCSI とで、ドラ
イブの認識について説明した後、書き込み方法を説明します。
■ ATAPI 接続ドライブの認識
前述のように SCSI エミュレーションの機能を使って ATAPI のドライブを認識させる
には、スーパユーザになり以下の作業を行う必要があります。
12.4 CD-R/RW DVD-R/RW/RAM ドライブ
175
1. 設定ファイル /etc/lilo.conf の、
append=" resume2=swap:/dev/hda3"
の行を、
append="hdc=ide-scsi resume2=swap:/dev/hda3"
このように hdc=ide-scsi を追加します。hdc は、接続するインターフェイスに
合わせて変更してください。もし該当する行が複数存在する時は、全ての行に追加
します。また、CD-R/RW ドライブが複数接続されているときは、以下のように
追加します。
append="hdc=ide-scsi hdd=ide-scsi resume2=swap:/dev/hda3"
2. lilo コマンドを実行します。
✞
✝
[root@localhost root]# lilo
Added linux *
Added windows
[root@localhost root]#
✆
3. Linux を再起動します。
再起動後、SCSI 接続の CD-R/CD-RW ドライブとして使用できるようになります。
これにともない、/dev/cdrom のシンボリックリンク先が/dev/scd0 等に変更されてい
ることを確認して下さい。さらに、dmesg コマンドで確認します。図 12.16 の例では、
TEAC のドライブと、PIONEER のドライブが、SCSI の CD-ROM ドライブとして認
識されていることが判ります。
✞
✝
[root@localhost root]# ls -l /dev/cdrom /dev/cdrom1
lrwxrwxrwx
1 root
root
9 Aug 11 17:42 /dev/cdrom -> /dev/scd0
lrwxrwxrwx
1 root
root
9 Aug 11 17:42 /dev/cdrom1 -> /dev/scd1
[root@localhost root]# dmesg
:
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
Vendor: TEAC
Model: CD-W552E
Rev: 1.14
Type:
CD-ROM
ANSI SCSI revision: 02
Vendor: PIONEER
Model: DVD-RW DVR-106D Rev: 1.07
Type:
CD-ROM
ANSI SCSI revision: 02
:
図 12.16
ATAPI 接続ドライブの認識
✆
176
第 12 章 補助記憶装置
■ SCSI 接続ドライブの認識
SCSI 接続の場合は、図 12.17 のように CD-ROM ドライブとして認識されていれば問
題ありません。この例では、NCR 53c8xx チップを使用した SCSI カードと、PLEXTOR
のドライブが認識されていることが判ります。
✞
[root@localhost root]# dmesg
:
:
sym.2.9.0: setting PCI_COMMAND_PARITY...
sym0: <875> rev 0x3 on pci bus 2 device 9 function 0 irq 9
sym0: Symbios NVRAM, ID 7, Fast-20, SE, parity checking
sym0: SCSI BUS has been reset.
scsi0 : sym-2.1.17a
blk: queue c1626674, I/O limit 4095Mb (mask 0xffffffff)
Vendor: PLEXTOR
Model: CD-R
PX-R820T
Rev: 1.07
Type:
CD-ROM
ANSI SCSI revision: 02
:
✝
図 12.17
✆
SCSI 接続ドライブの認識
また、後から SCSI カードとドライブを接続した場合には、11.2.2 章の通りに設定を行
います。
12.4.2
書き込み方法
Linux 上で CD-R/CD-RW に書き込むには、大きく分けて二つの手順で行います。ま
ず ISO イメージファイルの作成し、次に ISO イメージファイルを CD-R/CD-RW に
書き込みます。HDD 等の補助記憶とは異なり、ファイル単位で書きこむことはできませ
*6 ISO イメージファイルとは、CD-ROM の論理ファイルフォーマット規格である
ん。
ISO9660 をファイル化したものです。
これから以上の手順を説明しますが、ISO イメージファイル作成以外はスーパユーザで
作業を行います。ただし、設定ファイル /etc/group の
cdwrite:x:500:
を
*6
面倒に思うかもしれませんが、Windows のライティングソフトウェアでもパケットライト以外は同じこ
とをしています。何故このようになっているかと言えば、CD-ROM 互換とのしがらみという感じでしょ
うか。
12.4 CD-R/RW DVD-R/RW/RAM ドライブ
177
cdwrite:x:500:ユーザ名
と修正してログインしなおすと、そのユーザ名でも ISO イメージファイルの書き込みが
*7 もし複数のユーザに許可を与えたければ、‘,’(カンマ) でユーザ
行えるようになります。
名を区切って記述します。
1. ISO イメージファイルの作成
ISO イメージファイルは、mkisofs コマンドで作成します。使用方法は、次の
通りです。
usage: mkisofs [オプション] ディレクトリ
ISO イメージファイルの中には、ファイルやディレクトリが記録されています。
ですから、これを作成するには、どのファイルやディレクトリを ISO イメージファ
イルに収録するかを決めなくてはなりません。整理されているディレクトリなら丸
ごと ISO イメージファイル化しても良いですし、そうで無い場合は必要なファイ
ルをディレクトリ以下に編集しておきます。
こうして収録する対象を決定または編集したら、以下のように ISO イメージファ
イルを作成します。ここでは、cdimage ディレクトリ以下を ISO イメージ化する
ものとしています。実行が終わると、最後に生成したファイル (cdimage.iso) の
サイズが表示されます。
✞
✝
[hane@localhost hane]$ mkisofs -r -J -o cdimage.iso cdimage
✆
mkisofs コマンドには色々なオプションがありますが、Windows からも参照す
る CD-R/RW を作成する場合は上記のオプションをつけておけば大抵問題ありま
せん。上記オプションの内容については、表 12.4 を参照して下さい。-r オプショ
ンは、UNIX 系 OS で参照する CD-R/RW を作成する場合は必須と言えます。何
故なら、通常 ISO9660 のファイルシステムは、12 文字迄のファイル名しか利用で
きませんし、オーナやグループの属性も再現できないからです。
ISO イメージファイル名は任意のもので構いませんが、拡張子は.iso とする場
合が多いようです。また、ISO イメージファイルは Windows 上のライティングソ
*8 具体的な方法については、
フトウェアで CD-R/RW に書き込むことも可能です。
Windows 用ライティングソフトウェアのマニュアルを参照してください。
*7
usermod コマンドでも同等のことができますが、既属のグループも追加するのを忘れないようにして下
さい。
*8 拡張子を .iso としておくと、Windows 上で ISO イメージファイルとして認識するソフトウェアもあ
ります。
178
第 12 章 補助記憶装置
オプション
説明
-r
UNIX 系 OS の、ロングファイルネームや属性を記録可能に
するための拡張機能 (RockRidge) を使用します。
-J
Windows 上のロングファイルネームや等を可能にする拡張機
能 (Joliet) を使用します。
-V
ボリュームラベルを指定します。必須ではありません。
-o
生成する ISO イメージファイル名を指定します。
表 12.4
mkisofs コマンドの主なオプション
2. デバイス番号の確認
ISO イメージファイルの書き込みは、cdrecord コマンドで行います。書き込み
をする前に、CD-R/RW ドライブのデバイス番号を確認します。-scanbus オプ
ションを付けて cdrecord コマンドを実行すると、以下のように CD-R/RW ドラ
イブが表示されます。
✞
✝
[root@localhost root]# cdrecord -scanbus
:
:
scsibus0:
0,0,0
0) ’TEAC
’ ’CD-W552E
’ ’1.14’ Removable CD-ROM
0,1,0
1) ’PIONEER ’ ’DVD-RW DVR-106D’ ’1.07’ Removable CD-ROM
0,2,0
2) *
0,3,0
3) *
0,4,0
4) *
0,5,0
5) *
0,6,0
6) *
0,7,0
7) *
:
✆
CD-W552E や DVD-RW DVR-106D とある行が、cdrecord コマンドで認識された
ドライブです。これら行の一番左側にある 0,0,0 や 0,1,0 が、デバイス番号とな
ります。ここでは CD-W552E を使用します。
3. ISO イメージファイルの書き込み
メディアを挿入したら、以下のように cdrecord を実行します。主なオプショ
ンは、表 12.5 の通りです。
12.4 CD-R/RW DVD-R/RW/RAM ドライブ
オプション
179
説明
-v
詳細な処理内容を表示します。
-dao
Disk At Once で 書 き 込 み を 行 い ま す 。デ フ ォ ル ト は
TAO(Track At Once) です。
dev
デバイス番号を指定します。
speed
書き込み速度を指定します。ドライブの能力を越えた速度は
意味がありません。
driveropts
ドライバ固有のオプションです。burnfree を指定すると、
BURN-Proof や Just-Link 等のエラー回避機能が有効になり
ます。
表 12.5 cdrecord コマンドの主なオプション
実行するとカウントダウンが始まるので、実行をキャンセルする場合はカウント
✄
✄
ダウン中に ✂Ctrl ✁+ ✂c ✁ を入力します。書き込みが始まると、その状況が表示され
ます。
✞
✝
[root@localhost root]# cdrecord -v -dao dev=0,0,0 speed=8 \
driveropts=burnfree cdimage.iso
:
Cdrecord-Clone 2.01a31-dvd (i686-pc-linux-gnu) Copyright (C) 1995-2004
Jrg Schilling
:
TOC Type: 1 = CD-ROM
scsidev: ’0,0,0’
scsibus: 0 target: 0 lun: 0
:
Device type
: Removable CD-ROM
Version
: 0
Response Format: 1
Vendor_info
: ’TEAC
’
Identifikation : ’CD-W552E
’
Revision
: ’1.14’
Device seems to be: Generic mmc CD-RW.
:
Starting new track at sector: 0
Track 01: 648 of 648 MB written (fifo 100%) [buf 100%] 8.0x.
:
Fixating...
Fixating time:
28.509s
:
[root@localhost root]#
✆
180
第 12 章 補助記憶装置
PC の能力にもよりますが、書き込み中は、あまり負荷のかかる作業はしない方
*9
が良いでしょう。
DVD-R/RW の場合、書き込み完了後 Fixating... を表示したまましばらく
(10 分程度?) 時間がかかることがあります。
4. 書き込みの確認
以上で書き込みは完了です。実際に CD-R/RW メディアをマウントして、きち
んと書き込まれているかを確認しておきましょう。
12.4.3
CD-RW に関する補足
CD-RW メディアの場合、書き込む前に初期化が必要になります。初期化も cdrecord
コマンドで行います。cdrecord コマンドを blank=help のオプションを付けて実行する
と、初期化する方法が表示されます。通常は cdrecord blank=fast dev=0,0,0 等とし
て高速初期化を使い、これで消えない場合のみ、blank=all を使用すれば良いでしょう。
12.4.4
DVD-R/RW に関する補足
DVD-R/RW は CD-R/RW とほぼ同様に使用できると述べましたが、以下の点に注意
する必要があります。
• mkisofs コマンド使用時、-udf オプションも使用可能です。
• cdrecord コマンドで書き込む時、-dao オプションが必要となります。
• 書き込み終了間際に、Fixating... を表示後しばらく無反応になることがありま
*10 この場合、慌てずに終了を待ちます。
す。
• DVD+R/RW メディアは使用できないことがあるようです。筆者のところでは焼
けませんでしたが、ドライブの種類、cdrecord コマンドのバージョン、メディア
の種類によって変化するのかも知れません。
12.4.5
DVD-RAM ドライブと UDF フォーマット
DVD-RAM に関しては、SCSI エミュレーションをして一般的な HDD と同様に使用
することが可能ですが、/etc/fstab の修正が必要です。これは、iso9660 フォーマット
を使用することしか考慮されていないためです。よって、UDF フォーマット等を使用す
るには、
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro,iocharset=euc-jp 0 0
*9
*10
BURN Proof 等に対応したドライブの場合は、この限りではありません。
正確に計測していませんが、筆者のところでは 10 分程無反応になりました。
12.4 CD-R/RW DVD-R/RW/RAM ドライブ
181
の部分を
/dev/cdrom /mnt/cdrom auto noauto,owner,kudzu,iocharset=euc-jp 0 0
のように書き換えます。これで各種フォーマットの DVD もマウントすることができま
す。ただし、CD-ROM/DVD-ROM も読み書き可能なモードでマウントしようとするの
で警告が出ますが、これは無視をすれば実害はありません。
12.4.6
X Window System 上からの使用
参考に、X Window System 上から CD-R/RW を作成する、X-CD-Roast というア
プリケーションを紹介します (図 12.18)。起動は xcdroast コマンドか、GNOME のパ
ネルから “アプリケーション→マルチメディア→ X-CD-Roast” です。これは内部的には
mkisofs や cdrecord を使用していて、X Window System へのインターフェイスを提
供するものです。手順もコマンドを使用する場合と殆ど同じなので、特に難しい点は無い
でしょう。
ただし、一般ユーザから使用するには、スーパユーザで一度起動した後で設定を行う必
要があります。
図 12.18
X-CD-Roast メイン画面
182
第 12 章 補助記憶装置
12.5
フロッピーディスクドライブ
フロッピーディスクを使用するには、マウントして使う方法と、コマンドレベルで使う
*11 マウントでは ext2 や FAT(32) 等のファイルシステムが使
方法の二種類があります。
用できます。コマンドレベルでは、tar コマンドでフロッピーディスクに直接書き込む方
法と、mtools というソフトウェア集で FAT(32) のファイルシステムを直接使用する方
法があります。
12.5.1
マウントによる使用
マウントして使用する場合には、次のような手順で行います。
1. (物理) フォーマット
2. ファイルシステムを作成
3. マウント
Windows 用のフロッピーディスクを FAT(32) ファイルシステムのまま使用するので
あれば、1, 2 の作業は不要です。Windows 用のフロッピーディスクを ext2 ファイルシ
ステムで使用するのであれば、1 の作業は不要です。1, 2 の作業後は、完全に内容が初期
化されるので、注意して行って下さい。ここでは、アン (未) フォーマットのフロッピー
ディスクを対象に説明します。
フロッピーを (物理) フォーマットをするには、fdformat コマンドを使用します。そ
の際、スペシャルファイルには、表 12.6 のものを指定します。この表は一台目のドライ
ブの場合です。ニ台目の場合は、fd0 を fd1 に置き替えて下さい。
usage: fdformat スペシャルファイル
スペシャルファイル
対応ドライブ
/dev/fd0u1440
/dev/fd0u720
3.5 インチ 2HD
3.5 インチ 2DD
/dev/fd0h1200
5.25 インチ 2HD
/dev/fd0h360
5.25 インチ 2D
/dev/fd0
自動認識
表 12.6
フロッピーのスペシャルファイル
それでは具体的にやってみましょう。図 12.19 の例は、3.5 インチのフロッピーディス
クをフォーマット後、ext2 ファイルシステムを構築して、/mnt/floppy にマウントして
*11
容量の問題で ext3 ファイルシステムが使用できないため、ext2 を使用します。
12.5 フロッピーディスクドライブ
183
います。この例では ext2 ファイルシステムですが、設定ファイル /etc/fstab にはファ
イルシステムを自動認識 (auto) するよう記述されているので、FAT(32) ファイルシステ
ムのフロッピーディスクでも同様にマウントすることができます。
✞
[hane@localhost hane]$ fdformat /dev/fd0u1440
両面, 80 トラック, 18 セクタ/トラック。合計容量 1440 kB。
フォーマットします ... 終了
照合します ... 終了
[hane@localhost hane]$ /sbin/mkfs -t ext2 /dev/fd0u1440
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
184 inodes, 1440 blocks
72 blocks (5.00%) reserved for the super user
First data block=1
1 block group
8192 blocks per group, 8192 fragments per group
184 inodes per group
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
✝
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[hane@localhost hane]$ mount /mnt/floppy
[hane@localhost hane]$ mount
/dev/hda7 on / type ext3 (rw)
none on /proc type proc (rw)
usbdevfs on /proc/bus/usb type usbdevfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda8 on /home type ext3 (rw)
none on /dev/shm type tmpfs (rw)
/dev/fd0 on /mnt/floppy type ext2 (rw,nosuid,nodev,iocharset=euc-jp,user=h
ane)
[hane@localhost hane]$
図 12.19
✆
フロッピーディスクの使用例
使用後にマウントしたフロッピーディスクを抜く時は、忘れずにアンマウントして下さ
い。これを忘れると、高い確率でフロッピーの内容が壊れます。フロッピーディスクの場
184
第 12 章 補助記憶装置
合、CD-ROM ドライブのようにイジェクトを禁止できません。
12.5.2
tar コマンドによる使用
コマンドを使用して直接アクセスするには、先に説明した tar コマンドを使用しま
す。フロッピーディスクは、予め fdformat コマンドでフォーマットしておく必要があ
ります。
使用方法は簡単で、先の説明では filename.tar 等のファイルに対してアクセスした
のを、フロッピーディスクのスペシャルファイルに置き換えるだけです。
コマンドの実行方法については、図 12.20 の実行例を参照してください。また最後の例
のように、複数の媒体に書き込むことをマルチボリューム と言います。
✞
• 書き込み
[hane@localhost hane]$ tar cvf /dev/fd0u1440 ファイル
• 内容を表示
[hane@localhost hane]$ tar tvf /dev/fd0u1440
• 読み込み
[hane@localhost hane]$ tar xvf /dev/fd0u1440
• フロッピー 1 枚に入らない場合の書き込み(フロッピーの入れ換え指示があります。
[hane@localhost hane]$ tar cvfM /dev/fd0u1440 ファイル
• フロッピー 1 枚に入らない場合の読み込み(フロッピーの入れ換え指示があります。
[hane@localhost hane]$ tar xvfM /dev/fd0u1440
✝
✆
図 12.20
12.5.3
tar コマンドによるフロッピーディスクの使用
mtools による使用
FAT(32) ファイルシステムのフロッピーディスクは、mtools と言うソフトウェア集で
マウントせずにアクセスすることができます。mtools には、表 12.7 のコマンドがあり
ます。
12.5 フロッピーディスクドライブ
コマンド
説明
mcd
ディレクトリを変更します。
mcopy
mdel
ファイルをコピーします。
mdir
ファイルの一覧表示します。
mformat
FAT 形式でフォーマットします。
mmd
mrd
ディレクトリを作成します。
mtype
テキストファイルの内容を表示します。
185
ファイルを削除します。
ディレクトリを削除します。
表 12.7 mtools コマンド
図 12.21 にコマンドの使用例を示します。a: は Windows でいうところの A ドラ
イブで、通常は /dev/fd0 に割り当てられています。こういった定義は、設定ファイル
/etc/mtools.conf で行われています。
✞
[hane@localhost hane]$ mformat a:
[hane@localhost hane]$ mcopy sample1 sample2 a:
[hane@localhost hane]$ mdir a:
Volume in drive A has no label
Volume Serial Number is 400A-781E
Directory for A:/
sample1
sample2
2 files
✝
12345 2004-08-21 23:44 sample1
56789 2004-08-21 23:44 sample2
69 134 bytes
1 388 032 bytes free
[hane@localhost hane]$
✆
図 12.21 mtools 実行例
12.5.4
GNOME における使用方法
GNOME 環境下においては、フロッピー初期化ツール (gfloppy) でフォーマットする
ことができます (図 12.22)。これはパネルから、“アプリケーション→システム・ツール
→フロッピー初期化ツール” で起動します。
186
第 12 章 補助記憶装置
図 12.22
フロッピー初期化ツール (gfloppy)
また、ユーザーマウントツール (usermount) でマウントすることができます (図 12.23)。
これはパネルから、“アプリケーション→システム・ツール→ディスク管理” で起動しま
す。ユーザーマウントツールでフォーマットをすることもできますが、フロッピー初期化
ツールと比べ機能的にやや劣ります。
図 12.23
12.6
usermount
MO(光磁気) ディスクドライブ
MO ディスクドライブは、リムーバブルディスクとして認識されますので、HDD と同
様に使用できます。MO ディスクドライブには SCSI と ATAPI 接続の両タイプがあり
ますが、認識させる方法が多少異なります。ここでは機材の関係で SCSI 接続の物を説明
しますが、ATAPI 接続の物でも SCSI エミュレーションの機能を使用して、SCSI 接続
とみなして使用すれば良い筈です。
12.6.1
MO ディスクドライブの認識
起動時に SCSI カードのドライバがロードされると、図 12.24 のように SCSI リムー
バブルディスクとして認識されます。ここでは、/dev/sda として認識されています。媒
体を挿入していないので、Unit Not Ready となっていますが、気にする必要はありま
せん。
12.6 MO(光磁気) ディスクドライブ
✞
✝
187
[root@localhost root]# dmesg
:
blk: queue c1626674, I/O limit 4095Mb (mask 0xffffffff)
Vendor: FUJITSU
Model: M2513EL
Rev: 0010
Type:
Optical Device
ANSI SCSI revision: 02
blk: queue c1626574, I/O limit 4095Mb (mask 0xffffffff)
Attached scsi removable disk sda at scsi0, channel 0, id 1, lun 0
sym0:1: FAST-10 SCSI 10.0 MB/s ST (100.0 ns, offset 15)
sda: Unit Not Ready, sense:
:
図 12.24
12.6.2
✆
SCSI 接続 MO ドライブの認識
使用可能メディアとファイルシステム
128MB ∼ 2.3GB まで様々なメディアが存在しますが、ドライブが対応していれば理
*12
論上は全て使用できます。
ファイルシステムについては、HDD と同様に使用することができます。Linux 専用と
するなら ext3 を、Windows と共用するなら FAT32 が良いでしょう。ただし、MO は
HDD とは少し異なっていて、パーティションを作成しないで使用することもできます。
例えば、/dev/sda で全体を使用することもできるわけです。ただし、パーティションを
作成しないで使用していたものを Windows 側でフォーマットしようとすると、異常な容
量を表示するなどの不具合が発生することがあります。ですから Linux と Windows で
*13
共用するなら、パーティションを作成したほうが無難と言えます。
また、Linux から FAT(32) のファイルシステムを作成することもできますが、mkfs
コマンドにおいて論理セクタサイズを -S オプションで指定しなければならないことがあ
ります。これは fdisk コマンドでパーティションを作成する時に判りますが、面倒なら
Windows でフォーマットしても良いでしょう。
12.6.3
マウントによる使用
ここでは、ext3 ファイルシステムを構築して MO ディスクをマウントします。マウン
ト以外の作業はスーパユーザで行います。MO ディスクドライブは、/dev/sda で認識さ
れているものとします。
*12
*13
650MB までは実際に確認済です。
この現象は、環境によって微妙に変化する可能性があります。他のディストリビューションや、カーネル
をバージョンアップした場合には、実際に動作確認をし、その結果を見て使用する必要があります。
188
第 12 章 補助記憶装置
1. パーティションの作成
fdisk コマンドでパーティションを作成します。手順は 12.2.1 章を参照して下
さい。MO は最大でも 2.3GB の容量なので、/dev/sda1 に全て割り当てて良い
でしょう。新品のメディアの場合、異常なパーティション情報を持っていることが
ありますが、これらは削除して構いません。削除後に必要なパーティションを作成
します。
2. textbf ファイルシステムの作成
mkfs コマンドでファイルシステムを作成します。
✞
✝
[root@localhost root]# mkfs -t ext3 /dev/sda1
✆
3. マウントポイントの作成
マウントポイント (/mnt/mo) 作成し、設定ファイル/etc/fstab に次の一行を
記述します。ポイントは第三フィールドの auto で、この記述をしておくとファイ
ルシステムのタイプを自動認識してくれます。さらに、user オプションを付けて、
一般ユーザでもマウントできるようにしています。ただし、マウントしたーユーザ
のみアンマウントすることができます。
/dev/sda1
/mnt/mo
auto
noauto,user
0 0
4. マウント
マウントします。ただし、マウントはできますが、権限が無いため書き込みはで
きません。よって、スーパユーザでディレクトリを作成し、そのオーナとグループ
を変更しておく等します。なお、メディアを取り出す時には、CD-ROM と同よう
にアンマウントしておかねばなりません。
✞
✝
[hane@localhost hane]$ mount
:
/dev/sda1 on /mnt/mo type ext3 (rw,noexec,nosuid,nodev,user=hane)
:
12.7
✆
USB 接続機器
補助記憶装置には、USB 接続するものがあります。これらは、Linux からは SCSI 接
続の補助記憶装置に見えます。よって、特に取扱いが難しいわけではありませんが、USB
接続特有の注意点が若干あります。また、使用できるのは標準的な USB の仕様に準拠し
*14
た装置です。独自仕様のものは、殆ど使用することはできません。
*14
登場したばかりの頃のメモリカードリーダ等が該当します。
12.7 USB 接続機器
189
ここでは、USB 接続の補助記憶装置を使用するための仕組と、簡単な使用方法を補助
記憶装置毎に説明をします。
12.7.1
murasaki による自動認識
Vine Linux では、USB 接続の装置は murasaki というソフトウェアで管理されてい
ます。カーネルが USB 接続の装置の脱着を検出すると murasaki を呼出し、murasaki
は 装置の ID 等を調べてドライバのロードや、マウントを行います。マウントを行った
後、GNOME 環境では画面に対応する補助記憶装置のアイコンが表示されます。
ただし、希にファイルシステムやスペシャルファイルを間違える等、おかしなマウント
を行うことがあります。特に /dev/sd? を使用する SCSI 接続の補助記憶装置が既に存
在する時に、USB 接続の HDD や MO 等が上手く認識されないことがありました。この
ようなトラブルが発生する時は、murasaki-usb-mount をアンインストール*15 する等し
*16
て、自動的にマウントするのを停止する必要があります。
12.7.2
補助記憶装置毎の使用方法
それでは、補助記憶装置毎の使用方法を簡単に説明します。先に述べたようにマウント
まで行ってくれるので、基本的にはコネクタを挿すだけです。
• HDD
接続すれば、/mnt 以下にマウントポイントを作成し、supermount のファイルシ
ステム名でマウントします。このおかげで、アンマウントせずに取り外すことが可
能です (勿論、アクセスランプが消灯している必要はあります)。ただし、パーティ
ションを作成してあるにもかかわらず装置全体のスペシャルファイル (/dev/sda
等) でマウントしたり、不具合が発生することが稀にあります。もし、これらの問
題が発生したら、前述の方法で対応して下さい。
• CD-ROM/R/RW DVD-ROM/R/RW
接続すれば、/mnt 以下にマウントポイントを作成し、supermount のファイル
システム名でマウントします。
-R/RW 系も使用できます。cdrecord -scanbus でデバイス番号が表示されれ
ば問題ないでしょう。
• フロッピーディスクドライブ
接続すると、/dev/sda(もしくはそれ以降) のスペシャルファイルで認識されま
す。ただし、u1440 等の指定は行えないので、タイプはメディアの検出孔に依存し
*15
*16
方法は 20.1.3 章を参照。
筆者的には、動的に/etc/fstab をいじられるのが気持ち悪い、稀に kernel panic を起こす、GNOME
上のアイコンが不整合を起こす等の理由で、usb mount の使用 (特に supermount) はお勧めしません。
190
第 12 章 補助記憶装置
ます。
• MO
HDD の場合と同様です。
• メモリカードリーダ
HDD の場合と同様ですが、コンパクトフラッシュや SD カード等が使用できる
マルチタイプの場合、カーネルを再構築しないと全てのカードを使用できないよう
*17
です。
また、コンピュータ本体の内蔵タイプを使用する場合、BIOS の USB Legacy
Support を Disable に設定しないと Linux の起動中に止まることがあります (こ
の場合、Windows の休止状態からの起動に失敗することもあります)。
*17
設定ファイル/etc/modules.conf にオプションを記述しても良いのですが、この場合カーネルモジュー
ルを一旦アンロードしてからロードし直す必要があります。これは CD-ROM チェンジャの場合も同じ
ようです。
191
第 13 章
ビデオカード
単にコンソールで英数字を表示するだけなら、特にビデオカードの設定は必要ありませ
ん。しかし、コンソールでの日本語表示や、X Window System を使用したい時は、各々
設定を行う必要があります。
13.1
コンソールでの日本語表示
6.1.3 章では、一部の PC において取り敢えず日本語表示する方法を紹介しましたが、
何故日本語が表示できないかは説明しませんでした。また、日本語表示をするには、前述
の方法以外にいくつかあります。ここでは、これらについて説明します。
13.1.1
日本語表示の仕組
本来コンソールでは日本語を表示できません。これは、ビデオカードの表示モードによ
る制限です。標準のコンソールは、任意にドット (点) を描画することで文字を表示するの
でなく、A なら A という文字を画面に表示するモードになっています。この方法で表示
できるフォントは英数字と一部の記号だけなので、日本語は表示できない訳です。これは
PC の生い立ちを考えると仕方無い話と言えます。勿論、任意にドットを描画するモード
をビデオカードは持っていますが、英語圏では前述のモードで十分なので標準のコンソー
ルでは使用されません。よって、日本語を表示するには、任意にドット (点) を描画でき
るモードに移行して、日本語フォントを表示できるコンソールを実現すれば良い訳です。
ところで最近の Linux は、任意にドット (点) を描画できるコンソールが使用可能と
なっています。これをフレームバッファコンソールと言い、カーネルが機能を提供してい
ます。*1 フレームバッファコンソールには、ビデオカードによりいくつかの種類がありま
す。Vine Linux はさらに、unicon という機構をカーネルに組み込むことにより、フレー
ムバッファコンソールが使用可能な時は日本語を表示することができます。Vine Linux
*1
デフォルトでこの機能を使用しないのは、利用できないビデオカードが存在するためのようです。
192
第 13 章 ビデオカード
は、VESA 規格に準拠したビデオカードの場合、これら日本語表示に必要な設定をインス
トール時に行ってくれます。
13.1.2
日本語表示の設定
前節で述べたように、Vine Linux についてはフレームバッファコンソールを使用可能
にすれば日本語を表示することができます。フレームバッファコンソールを使用可能にす
るには、ビデオカードに応じたカーネルモジュールを組み込みます。これまで殆どのカー
ネルモジュールは自動で組み込まれましたが、フレームバッファコンソールを使用可能に
するには手動で組み込まねばならないことがあります。
フレームバッファコンソールのモジュールには、主に表 13.1 の種類があります。
モジュール名
説明
vga16fb
VGA 16 色モード用です。殆どのビデオカードで使用できま
す。
vesafb
VESA(Video Electronics Standards Association) 2.0 準拠
のビデオカード用です。例外的に、静的にカーネルに組み込
まれています。
i810fb
intelfb
i810∼i815 等のチップセット内蔵ビデオ用です。
i830∼i865G 等のチップセット内蔵ビデオ用です。
matroxfb base
Matrox 社製 Millennium I,II,Mystique,G100,G200,G400 等
rivafb
nVIDIA 社製ビデオアクセラレータチップを使用した一部の
ビデオカード用です。同社製の場合 vesafb が使えることが
のビデオカード用です。
多いので、まずそちらを試すと良いでしょう。
表 13.1
主なフレームバッファコンソール様
これらのモジュールは、vesafb を除いて、スーパユーザで以下のように組み込みます。
6.1.3 章では、このようにして vga16fb を組み込んだわけです。
usage: modprobe モジュール名
組み込むと、画面が切り替わります。この時モジュールによっては、時間がかかること
があります。切り替わったら、date コマンド等を実行して日本語表示を確認します。
✄
vesafb を使用する場合は、ブートローダのメニュー画面 (図 5.1) で ✂Esc ✁キーを押し
て boot:
を表示させた後、図 13.1 のようにビデオモードを指定します。ビデオモー
ドには、表 13.2 の値を使用します。この表はビデオモードの番号を解像度と発色数で整
理したもので、番号は “16 進数 / 10 進数” で表記しています。ビデオモードの指定は、
16 進数と 10 進数のどちらでも構いません。vesafb 使用時はコンソールの表示速度があ
まり速くないので、1024 × 768 の 256 色程度までを指定すると良いでしょう。ビデオ
13.1 コンソールでの日本語表示
193
モードが正しく指定されると、起動中の画面左上に CPU 数に応じて Vine Linux のロゴ
が表示されます。
✞
✝
boot: linux vga=ビデオモード
✆
図 13.1
vesafb の使用
解像度
発色数
640 × 480
800 × 600
1024 × 768
1280 × 1024
256
0x301/769
0x303/771
0x305/773
0x307/775
32K
0x310/784
0x313/787
0x316/790
0x319/793
64K
16M
0x311/785
0x312/786
0x314/788
0x315/789
0x317/791
0x318/792
0x31A/794
0x31B/795
表 13.2 ビデオモード一覧
13.1.3
Linux 起動時からの表示
Linux 起動後にモジュールを組み込んだり、Linux 起動時にビデオモードを指定せず、
これらを自動的におこなうことができます。このための設定は、vesafb とそれ以外とで
方法が異なります。設定後に再起動すると、ログイン時から日本語が表示できる状態とな
ります。
■ vesafb
vesafb の場合、ブートローダである lilo の設定ファイル /etc/lilo.conf をエディ
タで修正します (インストール時の設定と同様です)。message=/boot/message の行の
次に、以下の一行を挿入します。
vga=ビデオモード
修正後、lilo コマンドを実行して /etc/lilo.conf の修正内容をブートローダに反
映させます (図 13.2)。
✞
✝
[root@localhost root]# lilo
Added linux *
Added windows
図 13.2
✆
lilo コマンドの実行
194
第 13 章 ビデオカード
■ vesafb 以外
vesafb 以外は、スタータップファイルの/etc/rc.d/rc.local の最後に、次の一行を
追加します。
/sbin/modprobe モジュール名
インストール後の X Window System 設定
13.2
X Window System の設定は Linux のインストール時に行いましたが、インストール
時にうまく設定できなかったり、ビデオカードの変更等設定をやり直したいことがありま
す。ここではインストール後に、X Window System を設定する方法を説明します。
13.2.1
設定内容
設定内容は、モニタの種類/スペック、表示する解像度、発色数、グラフィカルログイ
ンの使用等です。また予め、以下の項目を調べておくと、スムーズに設定することができ
ます。
• モニタの型番
• モニタの垂直/水平同期周波数の範囲
• モニタの最大解像度とその時の垂直同期周波数
• ビデオカードの型番
• ビデオカードのアクセラレータチップの名称
• ビデオカードのビデオメモリのサイズ
13.2.2
Xconfigurator による設定
X Window System の設定は、設定ファイルの /etc/X11/xorg.conf で行います。こ
のファイルは、通常設定ツールの Xconfigurator で生成します。なお、このコマンドは
スーパユーザで使用します。
1. Xconfigurator の起動
Xconfigurator の起動は、コンソールから以下のように実行します。*2
✞
✝
*2
[root@localhost root]# Xconfigurator
長いコマンドですが、Xc まで入力すれば、後は補完機能が使用できるでしょう。
✆
13.2 インストール後の X Window System 設定
195
起動すると、次の画面が表示されます。Xconfigurator では、カーソルキーや
✄
✄
Tab
✂
✁キーで一覧 (リスト) やボタンを移動し、 ✂Enter ✁キーで選択決定します。現在
選択対象となっているボタンは、文字が反転表示されます。
ここでは、“了解” を選択して次の画面に進んで下さい。もし Xconfigurator を
終了するのであれば、“取消” を選択して下さい。これ以降は、主な設定画面順に
説明していきます。
2. PCI の検出
まずビデオカードの種類の自動検出を試みます。これは、PCI/AGP デバイスの
ID をもとに、内蔵のデータベースから適合するものを探します。また、AGP 接続
なのに PCI 機器と表示されることがありますが、これは気にする必要ありません。
新しめのビデオカードや ISA 接続の場合、自動検出されないことがあります。
このような場合、ビデオカードを一覧から選択する画面になります。一覧にないビ
デオカードでも、VESA 2.0 に準拠しているものなら “VESA driver (generic)” を
選択すれば、比較的動作します。一覧にもなく、VESA 2.0 にも準拠していない場
合は、動作しない可能性が高いでしょう。
3. 既存の xorg.conf のエラー
最初に Xconfigurator を実行したとき等、このエラーメッセージが表示され
ることがあります。このエラーは、/etc/X11/xorg.conf から/usr/X11R6/lib
/X11/xorg.conf へのシンボリックリンクが存在しない時に出ますが、存在して
もしなくても X Window System の動作に影響は無いようです。よって、エラー
メッセージが欝陶しければ、ここでシンボリックリンクを作成しておけば良いで
しょう。
196
第 13 章 ビデオカード
4. Monitor Probe
DDC(Display Data Channel) に対応したモニタとビデオカードの場合、自動的
にモニタのスペックが設定されます。自動設定された内容を使用するなら “はい”
を、修正したり使用しない場合は “いいえ” を選択します。“はい” を選択すると、
次のモニターの設定はスキップします。
5. モニターの設定
使用するモニタを、一覧から選択します。一覧に使用する機種が無い時は、汎用
の “LCD Panel 1024x768” や “Monitor 1024x768” 等から、モニタの仕様の範囲
内で設定して下さい。*3
6. 画面設定
画面の解像度と発色数を自動検出するなら “検出” を、手動で設定するなら “検
出を行わない” を選択します。自動検出の場合、ユーザが意図する結果と異なる場
合や、上手く検出されないことがあります。ですから、ここでは “検出を行わない”
を選択して、ユーザがこれらを設定したほうが良いでしょう。
7. ビデオメモリ
ビデオメモリのサイズを一覧から選択します。最近では一覧に無いビデオメモリ
の容量を搭載したビデオカードもありますが、この場合は最大値を選択しておけば
良いでしょう。
8. クロックチップの設定
少し古いビデオカードでは、クロックチップ (DAC) と呼ばれる LSI が使用さ
れていました。通常これは自動検出されるので、“Clockchip を設定しない (推奨)”
を選んでおけば問題ありません。
その後、“クロック設定の検出” を行う画面になることがありますが、これはス
キップしても構いません。
9. ビデオモードの選択
画面の解像度と色深度を設定します。次の画面で表示される項目から任意のもの
を選択しますが、項目はビデオカードやビデオメモリのサイズにより変化します。
GNOME を使用する場合は、16 ビット (6 万) 以上の色深度を選択すると良いで
しょう。
*3
仕様の範囲を越えて設定すると、X が使用できないばかりか、最悪モニタを損傷することもあります。
13.2 インストール後の X Window System 設定
197
10. X を起動しています
X Window System の起動テストを行うか尋ねて来ます。通常は、“了解” を選
択して起動テストを行います。起動に成功すると、次の画面が表示されます。ここ
で表示に問題が無ければ、10 秒以内に “はい (Y)” をクリックします。表示位置や
*4
サイズの調整は、モニタの調整機能を使うと良いでしょう。
*4
最近のモニタは解像度と垂直/ 水平同期周波数毎に表示位置やサイズを記憶しているので、Windows と
のデュアルブートにしているなら、どちらかの OS の周波数をずらせば上手くモニタに記憶させること
ができます。
198
第 13 章 ビデオカード
11. X の自動起動設定
続いて、Linux 起動時に X Window System も起動するか、すなわちグラフィ
カルログインを使用するかを設定します。これは、10.1.3 章の設定と同じです。設
定するなら “はい (Y)” をクリックします。
以上で設定は完了です。設定の完了を報告するウィンドウが表示されます。補足
事項も表示されていますので、良く読んでおいて下さい。補足にある解像度の変更
は、同一の発色数で複数の解像度を選択した場合に有効となる点に注意して下さ
い。“OK(O)” をクリックすると、Xconfigurator を終了してコンソールに戻り
ます。
199
第 14 章
キーボード・マウス
キーボードやマウス等の入力装置は、殆どがインストール時から使えていると思います
ので、特に後から設定を行うことは少ないでしょう。しかしインストール後に、キーボー
ドやマウスを交換することもあると思います。この章では、インストール後の再設定等に
ついて説明します。
14.1
キーボード
ここでは、106/109 キーや 101/104 キー等の種類の設定と、キー配列を変更する方法
を説明します。
14.1.1
キーボードの設定
キーボードの設定は、設定ツールの kbdconfig で行います。このツールは、スーパ
ユーザでのみ使用可能です。起動は、コンソールから実行します (図 14.1)。
✞
✝
[root@localhost root]$ kbdconfig
図 14.1
✆
kbdconfig の起動
起動すると、図 14.2 の画面になりますので、一覧からカーソルキーの上下で使用す
るキーボードの種類を選択し、カーソルキーの左右で “了解” と “キャンセル” を選択
✄
し、✂Enter ✁キーで確定します。kbdconfig では、インストール時には選択できなかった、
✄
✄
✂Ctrl ✁キーと ✂Caps Lock ✁ キーを入れ替えたレイアウトも選択できるので、好みに応じて
選択すると良いでしょう (例: jp106_Ctrl_CAPS と us_Ctrl_CAPS)。
200
第 14 章
キーボード・マウス
図 14.2 kbdconfig 起動画面
kbdconfig の設定は、設定ファイル/etc/sysconfig/keyboard に反映されます。こ
のファイルはテキストファイルなので、エディタで編集しても設定を変更することもでき
ます。このファイルには、ディレクトリ /usr/lib/kbd/keymaps/i386/qwerty に格納
されているキーマップファイルから、拡張子を除いたものを記述します。ただし、すぐ
設定を反映させるには、loadkeys コマンドでキーマップを読み込む必要があります (図
14.3)。
✞
✝
[root@localhost root]$ loadkeys jp106_Ctrl_CAPS
図 14.3
14.1.2
✆
loadkeys によるキーマップの読み込み
コンソールと X Window System
インストール後は、コンソールと X Window System とで、各々キー配列が設定され
ています。ですから、kbdconfig コマンドで設定を変更しても、X Window System に
は反映されません。コンソールのキー設定を X Window System に引き継ぐには、13.2
章で説明した設定ツールの Xconfigurator で再設定するか、設定ファイル/etc/X11/
xorg.conf を修正します。
/etc/X11/xorg.conf を修正する場合は、エディタで
#
の行を
Option
"XkbDisable"
14.2 マウス
201
Option
"XkbDisable"
のように行頭の # を削除します。この # は、それ以降がコメントであることを表してい
ます。これを削除することにより、その行の設定 (Option "XkbDisable") を有効にして
います。
なお、Xconfigurator で再設定した場合も、Option "XkbDisable" が有効になり
ます。
14.2
マウス
ここでは、マウスの種類を設定する方法と、複数のマウス使用について説明します。こ
こでは、スライドパッドやアキュポイント等のポインティングデバイスを、便宜上マウス
と呼称しています。
14.2.1
マウスの設定
マウスの種類を設定するには、設定ツールの mouseconfig で行います。このツール
は、スーパユーザでのみ使用可能です。起動はコンソールから行います (図 14.4)。
✞
✝
[root@localhost root]$ mouseconfig
✆
図 14.4 mouseconfig の起動
起動すると、図 14.5 の画面になりますので、一覧からカーソルキーの上下で使用するマ
✄
ウスの種類を選択し、カーソルキーの左右で “OK” と “取り消し” を選択し、✂Enter ✁キー
で確定します。3 ボタンマウスのエミュレーションを設定すると、2 ボタンマウスにおい
て左右のボタンを同時に押すことで中央ボタンのクリックと見なされます。
マウスの種類を確定すると、変更内容を X Window System におけるマウスの設定 (設
定ファイル /etc/X11/xorg.conf) に反映するかどうか尋ねられますので、通常は “は
い” を選択します。
202
第 14 章
図 14.5
キーボード・マウス
mouseconfig 起動画面
設定が完了すると、マウスの種類に応じたスペシャルファイルから、/dev/mouse へ
のシンボリックリンクが作成されます。PS2 接続のマウスの場合、スペシャルファイル
は /dev/psaux となります。また、設定ファイル /etc/sysconfig/mouse にも反映さ
れます。
以上の再設定を必要とすることはあまり無いのですが、ノート PC でスライドパッド
を採用している場合等、インストール時には問題無くても X Window System を起動す
ると正常に動作しないことがあります。この場合、マウスの種類を ALPS GlidePoint
(PS/2) や 汎用マウス (PS/2) 等を他の種類を選択すれば正常に動作することがあり
ます。
14.2.2
複数のマウス使用
X Window System においては、複数のマウスを使用することができます。例えば、
ノート PC において内蔵のポインティングデバイスと USB 接続のマウスを同時に使
用することができます。これは X Window System の設定ファイルである /etc/X11/
xorg.conf に、二種類のマウス設定が記述 (Section ”InputDevice”) されていて、一つは
通常の PS2 接続のマウス、もう一つは複数のマウスから情報を受け取るスペシャルファ
イル /dev/input/mice を使用するようになっています。ですから、特別な設定は不要
で、USB マウスを接続するだけで使用することができます。
203
第 15 章
プリンタ
この章では、プリンタを使用するための設定と、基本的な使用方法について説明しま
す。アプリケーションにおける印刷方法は、アプリケーション毎に異なります。
15.1
印刷の仕組
Linux においてプリンタは、パラレル接続のものは /dev/lp0, /dev/lp1, /dev/
lp2…、USB 接続のものは /dev/usb/lp0, /dev/usb/lp1, /dev/usb/lp2… のスペ
シャルファイルとして認識されます。これらを直接アクセスすれば、プリンタを使用する
ことはできます。しかし、Linux はマルチユーザの OS ですから、直接アクセスするのは
都合が悪いのです。*1 例えば、誰かが印刷中の間に、他の誰かが印刷を行いたい時です。
よって、スペシャルファイルを直接使わず、ユーザからの印刷要求を管理して印刷を行う
仕組が必要になります。この仕組は主にソフトウェアで提供されていて、スプーラと言い
ます。そしてプリンタに使用するものを、プリンタスプーラと言います。
15.1.1
プリンタスプーラの役割
プリンタスプーラの役割は、プリンタの管理全般です。印刷要求の受理や取り消し、プ
リンタに対する印刷等を行います。ユーザから受理した印刷要求は、HDD 上のスプール
領域に貯められます。印刷要求は、その一覧を表示したり取り消すことができます。そし
て、要求された順に印刷を行います。スペシャルファイルをアクセスするのはプリンタス
プールのみなので、印刷中でも他の印刷要求を受け付けられます。プリンタスプーラは、
PC に接続したプリンタやネットワーク上のプリンタを複数管理することができます。
ところで、プリンタで印刷をするには、テキストファイルや画層ファイル等の一般的な
ファイルをプリンタに送れば良い訳ではありません。プリンタにはプリンタが理解でき
るデータ形式があり、これを制御コードや PDL(Page Description Language) と言いま
*1
ですから、補助記憶装置のフォーマットやフロッピーディスクへの直接アクセス等は、少し特殊な操作と
言えます。
204
第 15 章 プリンタ
す。プリンタには、これらに変換したデータを送らなくてはなりません。この変換を行う
ソフトウェアを、プリントフィルタ*2 やプリンタドライバと言います。プリンタスプーラ
は、必要に応じてプリントフィルタでユーザから受け取ったデータを変換することができ
ます。必要に応じてと言うのは、ユーザやアプリケーションが作成したデータを、そのま
ま処理できるプリンタが存在するからです。ただし、これは稀な例で、一般的にはプリン
タに対応するプリンタフィルタが無ければ、接続したプリンタを使用することはできま
せん。
15.1.2
プリンタスプーラの種類
従来は、lpr や LPRng といったプリンタスプーラが UNIX 系 OS で使用されて来ま
した。しかし、プリンタの種類により設定が異なる等、多少設定の繁雑さがありました。
Linux においては、ディストリビューションが独自の設定ツール等を用意し、この問題に
対応していました。
その後、UNIX 系 OS 全般で容易に使用できる新しいプリンタスプーラとして、
CUPS(Common UNIX Printing System) が開発されました。CUPS は、プリンタの情
報を管理したり、Web ブラウザによる設定も提供することで、容易な設定を実現してい
ます。さらに設定できる内容も増えています。またユーザからは、従来の lpr や LPRng
と同様に利用できるよう、互換性も考えられています。Vine Linux も、この CUPS を採
用しています。
15.2
CUPS の設定
Vine Linux には、CUPS 用のプリンタ情報やプリンタフィルタが収録されています。
ただし、全てのプリンタについて情報やフィルタを持っているわけではありませんので、
無い場合は別途プリンタメーカの Web ページ等から入手しておく必要があります。もし
入手できない場合は、そのプリンタを使用できません。*3
CUPS を設定するには、コマンドで行う方法と Web ブラウザから行う方法の二種類が
あります。コマンドによる設定は幾分面倒なので、普段は Web ブラウザから設定すると
良いでしょう。設定をするには、予めプリンタを接続したポート (パラレル or USB) や型
番を調べておく必要があります。ここでは、Canon LBP-350 というレーザープリンタを
例に、設定を行います。
*2
*3
プリンタフィルタと呼ぶ場合もあります。
例外として PostScript(PDL の一種) に対応したプリンタは、汎用性があるので使用することができま
す。
15.2 CUPS の設定
15.2.1
205
コマンドによる設定
コマンドによる設定は、lpadmin コマンドを使用します。設定の手順は、事前調査、プ
リンタの登録、テストプリントの順で行います。
まず最初に、以下の点を決定したり、調査しておきます。
• プリンタ名
プリンタを指定する固有の名称です。プリンタの機種名を使用しても良いでしょ
*4 ここではプリンタ名を
う。ただし、一般的にスペース (空白文字) は使いません。
LBP350 とします。
• PPD ファイル
CUPS で は 、プ リ ン タ の 情 報 が 記 述 さ れ た PPD(PostScript Printer
Description) フ ァ イ ル を 使 用 し ま す 。こ の フ ァ イ ル は 、/usr/share/cups/
model や/usr/share/cups/model/foomatic ディレクトリ以下に格納されてい
*5 一つのファイルが、一機種のプリンタに対応しています。ファイル名に正
ます。
式なルールは無いようですが、/usr/share/cups/model/foomatic ディレクト
リ以下は “メーカ名-機種名- ドライバ名.
ppd” のルールで命名されています。
なお、PPD ファイルは gzip コマンドで圧縮されている場合がありますが、その
まま使用することができます。
PPD ファイルから、使用するプリンタに適合するものを探します。ファイ
ル数が多いため、ls {C,c}anon* 等として絞りこむと良いでしょう。ここでは
Canon-LBP-350-lbp320.ppd を使用します。
• 接続ポート
プリンタは、パラレルポートや USB ポートに接続しますが、それを指定する必
要があります。指定は、表 15.1 にしめした各ポートに対応するスペシャルファイ
ルで行います。
スペシャルファイル
対応ポート
/dev/lp0
パラレルポート 一台目
/dev/lp1
パラレルポート 二台目
/dev/usb/lp0
USB ポート 一台目
/dev/usb/lp1
USB ポート 二台目
表 15.1
*4
プリンタのスペシャルファイル
シングルクォートで括ることにより使えるコマンドもありますが、全てにおいて配慮されているか不明な
ので、使用しない方が無難です。
*5 殆どのファイルは、/usr/share/cups/model/foomatic 以下にあります。
206
第 15 章 プリンタ
次に、プリンタの登録を行います。プリンタ設定 (追加) 時における lpadmin コマンド
の書式は、以下の通りです。
usage: lpadmin -p プリンタ名 -E -v 接続先 -m PPD ファイル名
実行は、スーパユーザで行います。図 15.1 は、パラレルポートと USB ポートの設定
例です (紙面の都合で改行していますが、実際には改行せず入力します)。使用したオプ
ションの意味を、表 15.2 に示します。
✞
・パラレルポートの場合
[root@localhost root]# lpadmin -p LBP350 -E -v parallel:/dev/lp0 -m foom
atic/Canon-LBP-350-lbp320.ppd
・USB ポートの場合
✝
[root@localhost root]# lpadmin -p LBP350 -E -v usb:/dev/usb/lp0 -m fooma
tic/Canon-LBP-350-lbp320.ppd
図 15.1
✆
lpadmin コマンドによる登録
オプション
説明
-p プリンタ名
-E
プリンタ名を指定します。
-v 接続先
接続先を指定します。
-m PPD ファイル
PPD フ ァ イ ル を 指 定 し ま す 。起 点 は/usr/
プリンタを使用可能にします。
share/cups/model ディレクトリです。
表 15.2
lpadmin コマンドの主なオプション
プリンタの登録が完了したら、登録を確認後、テストプリントを行います。登録の確認
は、lpstat コマンドを -a オプションをつけて実行し、プリンタの状態 (ステータス) を
表示します (図 15.2)。登録したプリンタ名が表示されない場合は、登録をやり直して下
さい。
✞
✝
[root@localhost root]# lpstat -a
LBP350 accepting requests since Jan 01 00:00
[root@localhost root]#
図 15.2
lpstat コマンドによる設定
✆
15.2 CUPS の設定
207
問題が無ければ、テスト用ファイル (/usr/share/cups/data/testprint.ps) を印刷
します。印刷には lpr コマンドを使用します。このコマンドは、-P オプションで指定し
たプリンタに、指定したファイルの印刷要求を発行します (図 15.3)。
✞
✝
[root@localhost root]# lpr -PLBP350 /usr/share/cups/data/testprint.ps
✆
図 15.3 テストプリントの実行
テストプリントに成功すると、図 15.4 と同じ内容が印刷されます。この時、枠線の一
部が印刷されないことがありますが、動作に問題はありません。
図 15.4 テストプリントの内容
意味の無い文字等が印刷される場合は、プリントフィルタが上手く働いていませんの
で、一旦登録を削除して設定をやり直します。プリンタの登録を削除するには、図 15.5
のように、-x オプションを指定します。
✞
✝
[root@localhost root]# lpadmin -x LBP350
図 15.5
登録の削除
✆
208
15.2.2
第 15 章 プリンタ
Web ブラウザによる設定
Web ブラウザによる設定は、X Window System 上の Web ブラウザである mozilla
か、テキストベースの Web ブラウザである w3m を使用します。ここでは、mozilla を
使用して説明します。
まず、図 15.6 のコマンドを gnome-terminal 等のターミナルから実行して mozilla
を起動し、CUPS の設定画面を呼び出します。これはスーパユーザで実行しなくても構
いません。後で、スーパユーザのパスワードを尋ねられます。
✞
✝
[hane@localhost hane]# mozilla http://localhost:631/ &
図 15.6
✆
CUPS 設定画面の呼び出し
mozilla が起動すると、図 15.7 の画面が表示されます。mozilla は、他の Web ブラ
ウザと同様に操作することができます。
図 15.7
CUPS 設定画面
起動したら、以下の手順で設定します。なお、コマンドから設定する時と同様に、プリ
ンタ名を決定し接続ポートを調べておきます。ここではプリンタ名を LBP350 とします。
1. “プリンタ管理” をクリックします。すると、まだ一台も設定していませんので “プ
15.2 CUPS の設定
209
リンタはありません” と表示されます。
2. “プリンタ追加” のアイコンをクリックします。ここでユーザ名とパスワードを入
力するウィンドウが開くので、スーパユーザを表す root とそのパスワードを入力
して OK ボタンをクリックします。
3. 名前、場所、説明を入力する “プリンタ追加” の画面になりますが、最低限名前の
欄に決めておいたプリンタ名を入力します。ここでは LBP350 と入力します。入
力後、“次へ” のアイコンをクリックします。この時セキュリティの警告が出ます
が、“続ける” ボタンをクリックします (常に警告するチェックを外しても良いで
しょう)。
4. 接続ポートを指定する “デバイス” の画面になりますので、プルダウンメニュー (ド
ロップダウンリスト) から接続ポートを選択します。パラレルポートなら “Parallel
Port #1” を、USB ポートなら “USB Printer #1” 等を選択します。選択後、“次
へ” のアイコンをクリックします。
5. メーカを選択する “メーカ名” の画面になりますので、リストからメーカを選択し
ます。ここでは Canon を選択します。選択後、“次へ” のアイコンをクリックし
ます。
6. 機種名を選択する “モデル名” の画面になりますので、リストから機種名を選択し
ます。ここでは Canon LBP-350 Foomatic/lbp320 (recommended) (en) を選
択します。選択後、“次へ” のアイコンをクリックします。
7. プリンタの追加に成功したことが表示されれば、設定は完了です。
設定が完了したら、画面上部にある黒い帯の “プリンタ” をクリックすると、図 15.8 の
ように LBP350 が登録された画面が表示されます。ここで “テストページ印刷” のアイコ
ンをクリックして、図 15.4 と同じ内容が印刷されれば問題ありません。
210
第 15 章 プリンタ
図 15.8
15.2.3
プリンタの登録完了
基本的な印刷関連コマンド
アプリケーションを使わずとも、テキストファイル等を印刷したい場合があります。
ここでは、印刷関連の基本的なコマンドを説明します。なお、印刷要求の表示や削除は、
Web ブラウザからも行うことができます。
■ 印刷
印刷には、lpr コマンドを指定します。使用方法は、以下の通りです。ファイルを指定
する以外に、標準入力から受け取ることもできます。
usage: lpr -P プリンタ名 ファイル [ファイル…]
本来は、指定したテキストファイルや画像ファイルを CUPS 側で自動認識し、内部
でポストスクリプト形式に変換して印刷しますが、上手く印刷されないことがあります。
よって、ユーザ側で印刷対象のファイルをポストスクリプト形式に変換し、それを印刷し
*6 例として、テキストファイルと画像ファイルを印刷する方法を説
た方が良いでしょう。
明します。
• テキストファイル
*6
テキストファイルは日本語を含むと文字化けしますし、画像ファイルは上手くサイズを調整できないよう
です。
15.2 CUPS の設定
211
テキストファイルをポストスクリプト形式に変換するには、mpage コマンドを使
用します。詳細は man コマンドを参照してもらうとして、通常は以下のように使
用すれば良いでしょう。
✞
✝
[hane@localhost hane]# mpage -1 ファイル | lpr -P プリンタ名
✆
• 画像ファイル
画像ファイルをポストスクリプト形式に変換するには色々な方法がありますが、
コマンドのみで変換するには複数のコマンドを組み合わせます。以下の例では、
JPEG ファイルを jpegtopnm と pnmtops のコマンドを組み合わせて変換して
います。画像サイズが小さいときは、-scale=n(n=倍率) オプションで調整でき
ます。
画像ファイルを単純に印刷するよりは、アプリケーションから画像を調整して印
刷する方が多いかも知れません。
✞
✝
[hane@localhost hane]# jpegtopnm ファイル | pnmtops | lpr -P プリンタ名
✆
■ キューの表示
印刷要求 (ジョブ) は、印刷の待ち行列に入ります。この待ち行列を、キューと言いま
す。キューは、lpq コマンドで表示することができます。-P プリンタ名 としてオプショ
ンを与えると、そのプリンタのキュー一覧を表示することができます (図 15.9)。
Rank は印刷待ちの順番で、active が印刷中のジョブです。Owner はジョブのオーナ
で、誰のジョブか判るようになっています。Job は、各ジョブに採番された番号で、後述
のジョブの削除等に使用します。File は印刷するファイル名です。
✞
✝
[hane@localhost hane]$ lpq -PLBP350
LBP350 is ready and printing
Rank
Owner
Job
File(s)
active hane
11
LandV02.ps
1st
hane
12
LandV03.ps
[hane@localhost hane]$
図 15.9 キューの表示
Total Size
1200128 bytes
1200128 bytes
✆
212
第 15 章 プリンタ
■ ジョブの削除
キューにあるジョブを、取り消したいことがあります。このような場合、lprm コマン
ドで、キューにあるジョブを削除することができます。オプションには、-P プリンタ名
とジョブ番号を与えます。例えば図 15.9 のジョブ番号 12 を削除するなら、図 15.10 の
ように実行します。
✞
✝
[hane@localhost hane]$ lprm -PLBP350 12
図 15.10
ジョブの削除
✆
第 VI 部
ネットワーク
215
第 16 章
Linux とネットワーク
Linux は UNIX を手本としていますから、ネットワークと相性が良い OS です。ネッ
トワークを使用すれば、実に様々なことが可能になります。この章では、実際のネット
ワークの設定等を説明する前に、ネットワークの基礎知識と、Linux においてネットワー
クを使用するために必要な NIC 等について説明します。
16.1
ネットワークの基礎知識
ここでは、Linux におけるネットワークの基本と、TCP/IP を使用するための基礎知
識について説明します。
16.1.1
ネットワーク構築の前に
最近では、ネットワークと言えばコンピュータのそれを指すことが殆どです。このネッ
トワークとは、複数のコンピュータを接続して通信ができる状態を指します。通信ができ
ると非常に便利な訳ですが、それに伴い危険も発生します。つまり、通信ができると言う
ことは、外部からの干渉も受けると言うことです。よってインターネットに接続する場合
には、セキュリティに十分注意して下さい。特に自分自身の問題だけで済まず、第三者に
影響を与える可能性もあるのが恐い点です。
16.1.2
Linux におけるネットワークとは
Linux におけるネットワークは、TCP/IP(Transmission Control Protocol/Internet
Protocol) による通信が主体になります。TCP/IP というのは通信をするためのルール
で、プロトコルと言われるものです。TCP/IP は、UNIX の一つである 4.2BSD に初め
て実装され、続いて他の UNIX 系 OS にも実装されていきました。このような理由から、
TCP/IP は Linux とも相性が良い訳です。名前の通りインターネットでも使用されてお
り、UNIX 系以外にも色々な OS で使用されています。
Linux でネットワークを使うことにより、電子メール、WWW(Web)、ファイル転送、
216
第 16 章 Linux とネットワーク
ファイル共有、プリンタ共有等様々なことができますが、根底にあるのはコンピュータ
間の通信 (情報交換) に過ぎません。ソフトウェアでどのように通信するのかを定義して、
これらを実現しています。
16.1.3
TCP/IP の基礎
ネットワークで通信を行うには、相手を特定する必要があります。電話の場合は電話番
号で相手を指定するのと同様に、TCP/IP による通信は IP アドレス で相手を指定しま
す。IP アドレスは、4byte(32bit) の情報を 1byte 毎にドット (.) で区切って 10 進数で
表したもので、192.168.0.1 のように表記します。TCP/IP では、回線の種類を問わず
発信元と送信先は IP アドレスで表されます。つまり、IP アドレスは通信に必須のもの
なのです。
IP アドレスは、単純に割り当てられているのでなく、いくつかのルールやそれに付随
して決まることがあります。これから、IP アドレスの割り当て関連について説明します。
■ IP アドレスとネットマスク
IP アドレスを割り当てるには、まず予想されるネットワークの規模を考えます。IP ア
ドレスにはネットワーククラスという概念があり、表 16.1 のようなクラスがあります。
この表に示した全ての IP アドレスが使用されるわけでなく、一部は特定用途に予約され
ています。
クラス名
IP アドレス
ネットマスク
クラス A
0.0.0.0∼127.255.255.255
255.0.0.0
クラス B
128.0.0.0∼191.255.255.255
255.255.0.0
クラス C
192.0.0.0∼223.255.255.255
255.255.255.0
表 16.1
各クラスの IP アドレス範囲
ところで IP アドレスは、ネットワーク部とホスト部に分けることができます。例えば
IP アドレスが 192.168.0.1 の場合、192.168.0 がネットワーク部、1 がホスト部とな
ります。そして、両者を区別するためにネットマスクが存在します。192.168.0.1 はク
ラス C ですから、ネットマスクは 255.255.255.0 となります。つまり、ネットマスク
*1
の 0 のところがホスト部となるわけです。
同一のネットワークか否かは、ネットワーク部で区別されます。ネットワーク部の残
りに、0 を加えた IP アドレスを、ネットワークアドレスと言い、ネットワーク全体を指
します。先程の例では、192.168.0.0 となります。通常ネットワークアドレスが異なる
IP アドレス間は、通信できません。 また、ネットワーク部の残りに 255 を加えた IP ア
*1
これは 2 進数で考えると解かりやすいです。bit が立っている部分がマスクされます。
16.1 ネットワークの基礎知識
217
ドレスを、ブロードキャストアドレスと言い、ネットワーク内に向けて一斉送信を行う場
合に使用されます。先程の例では、192.168.0.255 となります。
このようにホスト部の最初と最後は用途が決まっているため、ネットワークに接続する
コンピュータ等の機器には、クラス A なら 0.0.1∼255.255.254、クラス B なら 0.1∼
255.254、クラス C なら 1∼254 の範囲を割り当てます。予想されるネットワークの規
模と、これら範囲を照し合せ、どのクラスを使用するかを決定します。
■ IP アドレスの種類
通常使用する IP アドレスには、インターネットに直接接続できるものと、閉じた LAN
内で使用するものがあります。
前者は、ユーザが正式な組織に申請*2 して割り当ててもらうもので、グローバル IP ア
ドレスと言います。グローバル IP アドレスは、インターネット上でユニークなものです
から、接続する機器を特定することができます (ただし、特定のグローバル IP アドレス
が、常時同じコンピュータに割り当てられているかは別問題です)。インターネット上で
Web 等の情報発信を行うときには、必ず必要になります。
後者は、申請等は不要で自由に使用することができますが、閉じた LAN 内等に使用は
限定されます。これを プライベート IP アドレス と言い、表 16.2 の範囲を使用するこ
とができます。組織内等の外部と直接通信する必要がないコンピュータには、プライベー
ト IP アドレスを割り当てます。基本的に閉じた LAN 内からでも、ルータという機器を
使用することにより間接的にインターネットと接続して、電子メールや Web の閲覧等を
することが可能です。
クラス名
IP アドレス
クラス A
10.0.0.0∼10.255.255.255
クラス B
172.16.0.0∼172.31.255.255
クラス C
192.168.0.0∼192.168.255.255
表 16.2
プライベート IP アドレスの範囲
■ IP アドレスとホスト名
IP アドレスを使うことで通信はできますが、数字の羅列である IP アドレスは、人間に
とって覚えやすいものではありません。そこで、IP アドレスに名前をつけて、通常はそち
らを使うのが一般的です。この名前のことをホスト名と言います。ホスト名は、vash や
lain 等の固有名を使用します (英数字とハイフンのみ使用できます。空白文字を含んで
*2
この組織を NIC(Network Infomation Center) と言います。NIC は JPNIC や APNIC 等、地域毎
に存在します。申請には費用がかかります。
218
第 16 章 Linux とネットワーク
はいけません)。*3 そしてホスト名にドメイン名を加えたものを、FQDN(Fully Qualified
Domain Name) と言います。例えば、
www.ascii.co.jp
の場合、www がホスト名、ascii.co.jp がドメイン名となります。Vine Linux のインス
トール時には、ホスト名もドメイン名も設定しなかったので localhost.localdomain
が使用されます。これらは、後から設定しなおすことができます。
IP アドレスとホスト名を関連付ける方法はいくつかありますが、良く使用されるのは、
DNS(Domain Name System) という他のコンピュータから情報を得るシステムと、機器
内に関連付けが記述されたファイルである /etc/hosts を持つ方法です。
■ DHCP による IP アドレス関連の設定
コンピュータが使用する IP アドレス関連の情報は、静的に設定する方法と、他のコン
ピュータから設定情報を取得する方法の二種類があります。
前者は、機器内に IP アドレス関連の設定値を持ちます。後者は、DHCP(Dynamic
Host Configuration Protocol) 等の仕組を利用します。*4 DHCP を使用して IP アドレ
スを取得するには、割り当てを行う DHCP サーバという機器が LAN 内に必要です。
DHCP サーバには、それ用のソフトウェアをインストールしたコンピュータや、一部の
ルータ等がなることができます。
DHCP を使用する場合、常に同じ IP アドレスが機器に対して割り当てられるとは限
りません。よって、ネットワーク上で IP アドレスから機器を特定するのが面倒になりま
す。例えばネットワーク上の他のコンピュータにログインする場合は、DHCP でなく静
的に IP アドレスを割り当てた方が便利でしょう。
■ ネットマスクの補足
実際にネットワークを構築する時、一つのクラス B ネットワークにホスト部の割り当
て分全ての機器を接続することは、現実問題としてまずありえません。もし接続したら、
*5
過負荷になりまともに通信することはできないでしょう。
このような時、ネットマスクを深くとることでネットワークを組織内等で分割しま
す。分割したネットワークを、サブネットと呼びます。表 16.1 のネットマスクは標準的
なものですが、これらは変更することができます。例えばクラス B のネットマスクを
255.255.255.0 とすれば、256 個のネットワークに分割することができます。するとク
ラス A や B の存在に疑問が生じますが、これらは経路情報という通信の交通整理に役
立っているのです。
*3
古いソフトウェアを考えると、ホスト名の長さは 8 文字以内に収めた方が無難です。
DHCP では、IP アドレスを使用しない特殊な通信を行います。
*5 その前に、物理的に接続できるかも怪しいものです。
*4
16.2 ネットワークのハードウェア設定
16.2
219
ネットワークのハードウェア設定
16.1.3 章で説明したように、ネットワークを使用するには IP アドレス等の設定が必要
になりますが、その前に設定しておくことがあります。ここでは、Linux でネットワーク
を使用するための、ハードウェアの設定について説明します。
16.2.1
IP アドレスとインターフェイス
コンピュータ等の機器をネットワークに接続する場合、IP アドレスを設定するとで通
信が可能になります。実は、IP アドレスはコンピュータに対して設定するので無く、ネッ
トワークインターフェイスに対して設定します。ですから、Linux をネットワーク接続す
るには、ネットワークインターフェイスを使用可能な状態にしておく必要があります。
どのネットワークインターフェイスを使用するかは、ネットワークの形態等によりこ
となります。Linux の場合、LAN や ADSL 接続等でイーサネットを使用するなら NIC
を、ISDN のターミナルアダプタを使用するならシリアルポートが使用されます。シリア
ルポートは特に何もせずに使用できますが、NIC の場合は対応するドライバ (カーネルモ
ジュール) を設定する必要があります。次の節では、NIC の設定について説明します。
16.2.2
NIC の設定
Vine Linux の場合、PCI 接続で予めドライバが収録されている NIC は、既に使用で
きる状態にあります。これはインストール時に、設定ファイル/etc/modules.conf に
alias eth0 ドライバ名
の一行が記述され、Linux 起動時にドライバが読み込まれるためです。ドライバが読み込
まれると、図 16.1 のようなメッセージが表示されます。
✞
✝
[hane@localhost hane]# dmesg
:
pcnet32.c:v1.28 02.20.2004 [email protected]
pcnet32: PCnet/PCI II 79C970A at 0x1080, 00 0c 29 aa 94 a2 assigned IRQ 18.
eth0: registered as PCnet/PCI II 79C970A
pcnet32: 1 cards_found.
:
✆
図 16.1 NIC(AMD PCnet32) の認識 (1)
図 16.1 は AMD PCnet32 チップを使用した NIC のメッセージですが、これは NIC
により異なります。例えば 3COM 3C920 チップを使用した NIC の場合は、図 16.2 の
220
第 16 章 Linux とネットワーク
ようなメッセージとなります。よって、ドライバのメッセージは、ドライバの型番等を参
考に探すようにしてください。
NIC が認識されると、一つ目は eth0、二つ目は eth1…のようにインターフェイス名
が付けられます。IP アドレス等は、このインターフェイス名に対して設定することにな
ります。
✞
✝
[hane@localhost hane]# dmesg
:
sk98lin: Network Device Driver v6.22
(C)Copyright 1999-2004 Marvell(R).
eth0: 3Com Gigabit LOM (3C940)
PrefPort:A RlmtMode:Check Link State
eth0: network connection up using port A
speed:
100
autonegotiation: yes
duplex mode:
full
flowctrl:
none
irq moderation: disabled
scatter-gather: enabled
:
図 16.2
✆
NIC(3COM 3C920) の認識 (2)
■ ISA 接続の NIC
ISA 接続の NIC は、最近では殆ど見ることが無くなりましたが、10 年位前までは比較
的使用されていました。PCI 接続との大きな違いは、手動で設定せねばならない点です。
手動で設定するには、I/O ポートや IRQ といった NIC 自体の情報が必要になります。
例えば ISA 接続の NIC としては非常に有名な NE2000 互換のものは、リスト 16.1 を
設定ファイル /etc/modules.conf に追加します。これは、I/O ポートに 240(16 進数)、
IRQ に 10 を NIC が使用する場合の設定です。
リスト 16.1: NE2000 互換 NIC の設定例
alias eth0 ne
options ne io=0x240 irq=10
221
第 17 章
LAN 接続
最近では、個人でも複数のコンピュータを使用することは珍しくありません。そのよう
な場合に LAN を構築することで、コンピュータをより便利に、より効率良く使用すること
ができます。最近ではインターネットのみへの接続の方が多いと思われますが、先に LAN
接続を説明するのは、その方が Linux のネットワークを理解しやすいからです。この章
では、Linux における LAN の構築方法を説明します。LAN は 10/100/1000BASE-T の
イーサネットを使用します。
17.1
LAN の構築
まず LAN を構築するための機器と、各機器に対する IP アドレスの割り当てについて
説明します。ここで構築する LAN は、インターネット等の外部ネットワークに接続しな
い、シンプルなものを想定しています。
17.1.1
機材
LAN を構築するには、以下の機器が必要です。
• NIC を装着したコンピュータ
• 集線装置の HUB
• ストレートタイプのツイストペアケーブル*1
HUB やツイストペアケーブルは、100BASE-T や 1000BASE-T 等、回線の種類に適合
するものを使用します。HUB には、ダム HUB とスイッチング HUB の種類があります
*2 現在では、ほぼ全てがスイッチング HUB でしょう。HUB
が、後者の方が高性能です。
は信頼できる製品を選択しないと、NIC との相性問題や高負荷時のトラブルを発生するこ
*1
ストレートタイプ以外に、機器同士の直結等に使用するリバースタイプがあります。両者を混同しやすい
ので、タグをつける等工夫をすると良いでしょう。
*2 スイッチング HUB は、複数の機器間で通信を行う場合等に高速です。
222
第 17 章 LAN 接続
とがあります。ツイストペアケーブルは、100BASE-T ならカテゴリ 5(CAT5) のケーブ
ルを使用しますが、1000BASE-T でも使用可能なエンハンストカテゴリ 5(CAT5e) やカ
テゴリ 6(CAT6) と価格差はわずかなので、最初からこれらを購入しても良いでしょう。
以上の機器の接続を、図 17.1 に示します。この図では、c101∼c104 の 4 台のコン
ピュータが HUB に接続されていて、c104 にはプリンタが USB 接続されています。
HUB
LBP350
c101
c102
c103
c104
USB
図 17.1 ネットワーク構成図 (LAN)
17.1.2
IP アドレスの割り当て
ここでは閉じた LAN を構築するので、プライベート IP アドレスを静的に使用します。
プライベート IP アドレスはクラス A∼C のものが使用できますが、規模が大きい等余
程の理由が無い限り、クラス C を使用すれば十分です。よって 192.168.0.0 のネット
ワークを使用するものとします。
先に述べたように 0 と 255 は使えないので、1∼254 を各コンピュータの NIC に割り
当てます。1 から割り当てても良いのですが、ルータや無線 LAN のアクセスポイントが
若い番号を使う場合があるので、例えば 101 等から使用するのも良い方法です。勿論重
複する機器の IP アドレスを変更することはできますが、変更するために既存環境の一部
設定変更が必要になることがあります。であるなら、最初から重複する可能性がある IP
*3
アドレスを外しておけば、後から要らぬ手間を避けられる可能性が高いわけです。
ここでは、表 17.1 のようにホスト名と IP アドレスを割り当てることとします。ホス
ト名は、ここでの割り当てを考えた名称にしておきましたが、勿論 vash や lain 等普通
の名前でも構いません。ネットマスクは全てのコンピュータで 255.255.255.0 を使用
し、ドメイン名は localdomain のままとします。
*3
Linux に限った話ではありませんが、要領良くやるのが、後々楽をするコツです。
17.2 ネットワークの設定
223
ホスト名
表 17.1
17.2
IP アドレス
c101
192.168.0.1
c102
c103
192.168.0.2
192.168.0.3
c104
192.168.0.4
図 17.1 における IP アドレスの割り当て
ネットワークの設定
事前の準備が完了したので、続いて Vine Linux におけるネットワーク関連の設定方法
について説明します。間違えるとネットワークに接続できないことがあるので、注意して
設定してください。
17.2.1
基本設定
ネ ッ ト ワ ー ク の 基 本 設 定 は 、設 定 フ ァ イ ル /etc/sysconfig/network と /etc/
sysconfig/network-scripts/ifcfg-eth0 等で行います。前者はホスト名等のコン
ピュータに固有の設定を行います。後者は eth0 の名前が付いていることから判るよう
に、ネットワークインターフェイス毎の設定を行います。ネットワークインターフェイス
が複数存在する時は、ifcfg-eth1 のように数字が増えて行きます。
各設定ファイルには、
設定項目=設定値
の書式で複数の設定項目が記述されます。各ファイルの設定項目は、表 17.2、表 17.3 の
通りです。
設定項目
説明
NETWORKING
ネットワーク使用の可否 (yes or no)
HOSTNAME
GATEWAYDEV
ホスト名 (FQDN で記述)
ゲートウェイとするインターフェイス名 (NIC が一つの時は省略可
能)
表 17.2 /etc/sysconfig/network の設定項目
224
第 17 章 LAN 接続
設定項目
説明
DEVICE
インターフェイス名 (eth0, eth1…)
ONBOOT
BOOTPROTO
Linux 起動時の使用の可否 (yes or no)
IP ア ド レ ス の 設 定 方 法 (static or none :静 的 に 設 定 、dhcp
:DHCP サーバを使用して自動設定
IPADDR
IP アドレス
NETMASK
GATEWAY
ネットマスク
ゲートウェイ (後述) とする機器の IP アドレス
表 17.3
/etc/sysconfig/network-scripts/ifcfg-eth0 の設定項目
これらのファイルは、全てエディタで記述しても構いませんが、いくつかの設定ツール
を利用して生成するのが一般的です。設定ツールには、テキストベースの netconfig と
X Window System 上の network-admin がありますが、どちらを使用しても構いませ
ん。c101∼C104 の各コンピュータにおいて、17.1.2 章で決定した IP アドレスを設定し
ます。以下に、各設定ツールの使用方法を説明します。c101 を例に説明しますが、他の
コンピュータでも同様に設定します。
なお二つの設定ツールには、機能や設定内容 (BOOTPROTO 等) が微妙に異なる部分があ
るので、どちらか一方を使用した方が良いようです。
■ netconfig
netconfig は、テキストベースで対話式に設定するツールです。設定可能な項目は、
IP アドレスの設定方法、IP アドレス、ネットマスク、デフォルトゲートウェイ、プライ
マリネームサーバの五つです。最後の二つは、必要に応じて設定します (ここでは設定す
る必要ありません)。
netconfig の起動は、コンソールや gnome-terminal 等のターミナルからスーパユー
ザで図 17.2 のように実行します。
✞
✝
[root@localhost root]$ netconfig
図 17.2
✆
netconfig の起動
起動すると、ネットワークを設定するかどうかを確認する画面になります。この時英
語で表示されますが正常です。使用方法は kbdconfig や mouseconfig 等と同様です。
“Yes” を選択すると、図 17.3 の画面が表示されますので、IP アドレスとネットマスクを
入力します。入力が完了したら、“OK” を選択して終了します。
17.2 ネットワークの設定
225
図 17.3
netconfig 起動画面
なお netconfig では、ホスト名を変更できないので、設定ファイル/etc/sysconfig
/network の HOSTNAME をエディタで修正します。具体的には、
HOSTNAME=localhost.localdomain
の行を
HOSTNAME=c101.localdomain
のように、localhost をホスト名で置き換えます。
その後、行った設定を反映させるために、図 17.4 のように実行します。これは、Linux
起動時に実行されるネットワークの設定を、再実行 (restart) しています。service コ
*4
マンドは、/etc/rc.d/init.d(/etc/init.d) 以下の実行ファイルを起動しています。
✞
✝
[root@localhost root]$ service network restart
インターフェース eth0 を停止中: [ OK ]
Shutting down loopback interface: [ OK ]
ネットワークパラメータを設定中: [ OK ]
Bringing up loopback interface: [ OK ]
インターフェース eth0 を活性化中: [ OK ]
[root@localhost root]#
図 17.4
*4
ネットワーク設定の反映
/etc/rc.d/init.d/network restart としても構いません。
✆
226
第 17 章 LAN 接続
またホスト名は、図 17.5 のように別途設定する必要があります (Linux を再起動して
も、設定が反映されます)。その後ログインしなおすと、プロンプトのホスト名も新しい
ものになります。
✞
✝
[root@localhost root]$ hostname c101.localdomain
図 17.5
✆
ホスト名の反映
■ network-admin
network-admin は、X Window System 上で設定するツールです。設定可能な項目は、
ホスト名、IP アドレスの設定方法、IP アドレス、ネットマスク、デフォルトゲートウェ
イ、ネームサーバ等です。最後の二つは、必要に応じて設定します (ここでは設定する必
要ありません)。
network-admin の起動は、GNOME のパネルから “アプリケーション→システム・
ツール→ネットワークの管理” か、gnome-terminal 等のターミナルから図 17.6 のよう
に実行します (スーパユーザでない場合は、スーパユーザのパスワードを尋ねられます)。
✞
✝
[root@localhost root]$ network-admin
図 17.6
✆
network-admin の起動
起動すると、図 17.7 の画面が表示されます。まず、“接続” タブの一覧から “イーサ
ネット LAN カード eth0” をクリックしてから、さらに右にある “プロパティ (P)” ボタ
ンをクリックします。
すると、図 17.8 の IP アドレスを設定する画面になります。この画面では、“コンピュー
タの起動時に有効にする (S)” をチェック、“設定 (C)” を手動に設定して、IP アドレスと
ネットマスクを入力します。以上が完了したら、“OK” ボタンをクリックします。
最初の画面に戻るので、“全般” タブをクリックしてホスト名を c101.localdomain に
*5
変更して、ドメイン名を入力します (図 17.9)。
最後に “OK” ボタンをクリックすると、本当にホスト名を変更して良いか尋ねてくる
ので、“ホスト名を変更する (H)” をクリックします。network-admin の場合は、これで
設定が完了しますが、GNOME を使用している時は、先程のメッセージに従い再度ログ
インし直します。シェルのプロンプトに表示されるホスト名も、新しいものになります。
*5
ドメイン名は省略しても構いません。
17.2 ネットワークの設定
227
図 17.7
図 17.8
図 17.9
network-admin 起動画面
network-admin IP アドレス設定画面
network-admin ホスト名設定画面
228
17.2.2
第 17 章 LAN 接続
設定の確認
プロンプトのホスト名が変更されることについては述べましたが、それ以外に IP アド
レスや他のコンピュータとの通信について確認しておく必要があります。
■ IP アドレスの確認
IP アドレス関連の設定については ifconfig コマンドで確認します。-a オプション
を付けて ifconfig コマンドを実行して、図 17.10 のようになれば正しく設定されてい
ます。
eth0 とあるのが一つ目のインターフェイスの設定ですが、その下にある lo は自分自
身を表す仮想的なインターフェイスです。そして 127.0.0.1 は lo に割り当てられる、
特別な IP アドレスなのです。実際に NIC が装着されていない場合でも、自分自身と通
信を行うソフトウェアには lo を使うものがあります。
✞
[root@c101 root]# ifconfig -a
eth0
リンク方法:イーサネット ハードウェアアドレス 00:0C:29:AA:94:A2
inet ア ド レ ス:192.168.0.101 ブ ロ ー ド キ ャ ス ト:192.168.0.255
ク:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX パケット:184 エラー:0 損失:0 オーバラン:0 フレーム:0
TX パケット:113 エラー:0 損失:0 オーバラン:0 キャリア:0
衝突 (Collisions):0 TX キュー長:1000
RX bytes:17841 (17.4 Kb) TX bytes:13651 (13.3 Kb)
割り込み:18 ベースアドレス:0x1080
lo
マス
リンク方法:ローカルループバック
inet アドレス:127.0.0.1 マスク:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX パケット:12 エラー:0 損失:0 オーバラン:0 フレーム:0
TX パケット:12 エラー:0 損失:0 オーバラン:0 キャリア:0
衝突 (Collisions):0 TX キュー長:0
RX bytes:840 (840.0 b) TX bytes:840 (840.0 b)
✝
[root@c101 root]#
図 17.10
✆
ifconfig コマンドによる IP アドレスの確認
17.2 ネットワークの設定
229
■ 他のコンピュータとの通信確認
他のコンピュータと通信できるか確認するには、ping コマンドを使用します。ping コ
マンドは、ICMP(Internet Control Message Protocol) という通信状態の診断を行うプ
ロトコルを使用して、他のコンピュータからの反応時間を表示します。
✄
図 17.11 は、c102 との通信を確認したところです。実行後は、✂Ctrl ✁キーを押しながら
✄
✂c ✁ キーを押すまで表示が続きますので、適当なところで終了させます。
✞
[root@c101 root]# ping 192.168.0.102
PING 192.168.0.102 (192.168.0.102) 56(84) bytes of data.
64 バイト応答 送信元 192.168.0.102: icmp_seq=0 ttl=64 時間=0.228 ミリ秒
64 バイト応答 送信元 192.168.0.102: icmp_seq=1 ttl=64 時間=0.187 ミリ秒
64 バイト応答 送信元 192.168.0.102: icmp_seq=2 ttl=64 時間=0.176 ミリ秒
64 バイト応答 送信元 192.168.0.102: icmp_seq=3 ttl=64 時間=0.178 ミリ秒
64 バイト応答 送信元 192.168.0.102: icmp_seq=4 ttl=64 時間=0.232 ミリ秒
✝
--- 192.168.0.102 ping 統計 --送信パケット数 5, 受信パケット数 5, パケット損失 0%, 時間 4012 ミリ秒
rtt 最小/平均/最大/mdev = 0.176/0.200/0.232/0.026 ミリ秒, pipe 2
[root@c101 root]#
✆
図 17.11 ping コマンドによる通信の確認
17.2.3
hosts 名前解決
IP アドレスで通信する相手を指定するのは判り難いので、前述の設定ファイル /etc/
hosts にリスト 17.1 の内容を記述します。このファイルには、
IP アドレス
ホスト名 1 [ホスト名 2 …]
のように、IP アドレスに対するホスト名を記述します。行頭が # の行はコメントです。
これにより、192.168.0.102 の替わりに c102 や c102.localdomain の名称を使用す
ることができます。
リスト 17.1: /etc/hosts の設定
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1
localhost localhost.localdomain
192.168.0.101
192.168.0.102
c101 c101.localdomain
c102 c102.localdomain
230
第 17 章 LAN 接続
192.168.0.103
192.168.0.104
c103 c103.localdomain
c104 c104.localdomain
■ LAN 構築時の注意
この章では閉じた LAN を構築しましたが、既設の LAN に接続する場合には、必ず
事前に管理者と相談して下さい。 勝手に接続をし、万一 IP アドレスが重複した場合、重
大な障害が発生することがあります。
また LAN といえども、(不特定のユーザが使用する場合は特に) セキュリティ面での
注意が必要です。使用するソフトウェアのセキュリティホール (安全面の不具合) につい
ては絶えず留意し、20.2.2 章の通りに Vine Linux のアップデートをするようにして下
さい。
17.3
LAN アプリケーション
これから、主に LAN 上で使用するアプリケーションを説明します。構造的には、後述
するインターネット上でも使用できますが、通信するデータ量によっては現実的でないも
のもあります。ネットワーク上のアプリケーションは、日本語入力システムのようにサー
バ・クライアントシステムのものが多いので、デフォルトで起動しないサーバは、事前に
起動しておく必要があります。
17.3.1
リモートログイン
ネットワークに接続された他の Linux や UNIX 系の OS にログインすることを、リ
モートログインと言います。リモートログインを実現するにはいくつか方法があります
が、従来良く使われた telnet に替わり、最近では OpenSSH というソフトウェアが良
*6 Vine Linux の場合、OpenSSH に必要なサーバ (sshd) はデフォルト
く使用されます。
で起動しているので、特に準備等をせずに使用することができますが、リモートログイン
するコンピュータにユーザ登録がされている必要はあります。
基本的な使用方法は、以下の通りです。現在ログイン中のユーザと異なるユーザでリ
モートログインする場合は、-l オプションでユーザ名を指定します (もしくは “ユーザ名
@ホスト名” のように指定します)。ただし、デフォルトでは安全性のため、スーパユーザ
(root) ではリモートログインできないようになっています。
usage: ssh [-l ユーザ名] ホスト名
*6
telnet は通信内容が暗号化されないため、セキュリティ上問題となることがあるためです。
17.3 LAN アプリケーション
231
具体的には、図 17.12 のように使用します。最初に実行する時だけ接続を確認してきま
すので、yes を解答します。その後パスワードを入力するとリモートログインします。そ
の後表示される、プロンプトのホスト名に注意してください。
図 17.12 では、リモートログイン後 w コマンドを実行して、現在 c104 にログイン中の
ユーザを表示しています。一番最後の行に、c101 からログインしているユーザ hane が
表示されているのが判ります。
プロンプトが表示されていますから、この状態でコマンドを実行することができます。
X Window System からリモートログインしたのであれば、X Window System 用のソ
フトウェアも実行可能です。例えば gnome-terminal を実行すれば、そのウィンドウが
開きます。このように、CPU パワーが余っているコンピュータにリモートログインして、
手元のコンピュータに表示することができるのです。
✞
[hane@c101 hane]$ ssh c104
The authenticity of host ’c104 (192.168.0.104)’ can’t be established.
RSA key fingerprint is 07:72:e9:1a:b5:29:a1:c5:c6:0c:ea:2f:f8:0e:79:4d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ’c104,192.168.0.104’ (RSA) to the list of known
hosts.
hane@c104’s password:
Last login: Mon Sep 13 04:29:05 2004
[hane@c104 hane]$ w
午前 04 時 35 分 稼働 5 時 51 分, 3 ユーザ, 負荷平均率: 0.00, 0.02, 0.00
ユーザー 端末
場所
ログイン時刻
待機
JCPU
PCPU 現
プロセス名
hane
秒
:0
?
-
午 前
04
時
29
分
?
0.00
-
hane
pts/0
:0.0
bash
hane
pts/1
c101
秒 w
[hane@c104 hane]$
午前 04 時 33 分
2 分 17 秒
0.02 秒
0.02
午前 04 時 35 分
0.00 秒
0.04 秒
0.01
秒
✝
図 17.12
✆
ssh コマンドによるリモートログイン
■ パスワードの省略
ssh コマンドで接続時のパスワード入力は、設定により省略することができます。
OpenSSH は公開鍵暗号システムを採用していますが、このシステムは公開鍵と秘密鍵と
使用して暗号化と復号化を行います。例えば c101 から c102 へのリモートログイン時に
232
第 17 章 LAN 接続
パスワードの入力を省略したいなら、c101 で作成した公開鍵を c102 に送ります。
具体的には、以下のように設定します。まず、ssh-keygen コマンドを使用して、c101
で鍵を生成します。生成の際、RSA か DSA の暗号化方式を -t オプションで指定しま
す。図 17.13 では、DSA で鍵を生成しています。途中でパスフレーズ (passphrase) を尋
✄
ねて来ますが、 ✂Enter ✁キーのみ入力します。実行後、~/.ssh 以下に、id dsa が秘密鍵、
id dsa.pub が公開鍵として生成されます。その後、scp コマンドで、c101 の公開鍵を
c102 に送っています。
✞
✝
[hane@c101 hane]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/hane/.ssh/id_dsa):
Created directory ’/home/hane/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/hane/.ssh/id_dsa.
Your public key has been saved in /home/hane/.ssh/id_dsa.pub.
The key fingerprint is:
82:3f:38:b3:c7:f2:fd:7e:19:b6:cc:b2:0e:fc:bf:6b [email protected]
[hane@c101 hane]$ scp .ssh/id_dsa.pub c102:~/
The authenticity of host ’c102 (192.168.0.102)’ can’t be established.
RSA key fingerprint is ce:6d:f2:2b:97:ed:a4:ef:98:6c:87:bd:45:1d:ef:bf.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ’c102,192.168.0.102’ (RSA) to the list of known
hosts.
hane@c102’s password:
id_dsa.pub
100% 611
0.6KB/s
00:00
[hane@c101 hane]$
図 17.13
✆
ssh-keygen コマンドによる鍵の生成と送信
次 に c102 に お い て 、送 信 し た id dsa.pub か ら 設 定 フ ァ イ ル ~/.ssh/
authorized keys を 作 成 し ま す (図 17.14)。こ の 時 、デ ィ レ ク ト リ ~/.ssh が 存
在しなければ作成する必要がありますが、オーナ以外にアクセス許可を与えてはい
け ま せ ん 。~/.ssh/authorized keys は 、複 数 の ホ ス ト に つ い て 記 述 さ れ る の で 、
>> を使用して追加しています。less コマンド等で参照すると判りますが、~/.ssh/
authorized keys はテキストファイルなので、使用しなくなった公開鍵の削除等をエ
ディタで修正するこができます。
17.3 LAN アプリケーション
233
✞
✝
[hane@c102
[hane@c102
[hane@c102
drwx-----[hane@c102
[hane@c102
hane]$ mkdir .ssh
hane]$ chmod go-rx .ssh
hane]$ ls -ld .ssh
2 hane
hane
4096 Sep 15 23:07 .ssh/
hane]$ cat id_dsa.pub >> .ssh/authorized_keys
hane]$
図 17.14
✆
~/.ssh/authorized keys の作成
以上の設定が完了したら、c101 から c102 にログインしてみます。図 17.15 のように
パスワードの入力無しにログインできれば問題ありません。
✞
✝
[hane@c101 hane]$ ssh c102
Last login: Wed Sep 15 01:59:12 2004 from c101
[hane@c102 hane]$
図 17.15
✆
ノーパスワードのログイン
■ XDMCP chooser
ssh 等のコマンドによるリモートログインでなく、X Window System 上でのログイ
ン時からネットワーク上の他のコンピュータに接続することができます。10.1.3 章で説
明した gdm は XDMCP(X Display Manager Control Protocol) を使用していますが、
XDMCP chooser を使用することにより、同じネットワークアドレス内の gdm*7 へ接続
することができます。
XDMCP chooser を使用するには、接続するコンピュータに設定が必要です。設定ファ
イル /etc/X11/gdm/gdm.conf は [daemon] 等のセクションに分かれていますが、スー
パユーザになり [xdmcp] セクションにある
Enable=false
の行を、
Enable=true
に修正します。その後、telinit 3 を実行してコンソールに戻った後、telinit 5 を実
*8
行して gdm を再起動します。
*7
*8
正しくは、XDMCP を使用したディスプレイマネージャが起動しているコンピュータ
勿論 Linux を再起動しても構いません。
234
第 17 章 LAN 接続
他の gdm に接続するには、手元の gdm(図 10.7) から “システム” アイコンをクリック
して 図 10.10 のメニューを表示し、“XDMCP chooser を実行 (X)” をチェックしてから
“OK(O)” ボタンをクリックします。すると、図 17.16 の画面が表示されます。ここでは
c101 のコンピュータで XDMCP chooser を実行したので、c102∼c104 が表示されてい
ます。
図 17.16
XDMCP chooser
接続したいコンピュータをクリックして選択後、“接続 (O)” ボタンをクリックすると、
選択したコンピュータにログインする画面になります。ログイン後は、手元のコンピュー
*9
タと同様に接続先のコンピュータを操作することができます。
17.3.2
ファイル転送 ➀ scp
ネットワーク上のコンピュータ間で、ファイルを送受信することができます。これを
ファイル転送等と言います。ファイル転送にも色々なものがありますが、本書では二つの
ソフトウェアを取り上げます。まず最初に、scp コマンドについて説明します。
scp コマンドは OpenSSH の一部で、cp コマンドのネットワーク対応版です。主な使
用方法は、以下の通りです。良く使用するオプションには、cp コマンドと同等の -r と
-p があります。
usage1:
usage2:
scp [オプション] ファイル名1 [[ユーザ名@]ホスト名:]ファイル名2
scp [オプション] [[ユーザ名@]ホスト名:]ファイル名1 ファイル名2
usage1 は、他のコンピュータにファイル 1 をファイル 2 として送信します。usage2
*9
特に指定しなければ、GNOME が起動します。
17.3 LAN アプリケーション
235
は、他のコンピュータからファイル 1 をファイル 2 として受信します。異なるユーザとし
てファイル転送する場合は、ホスト名の前に “ユーザ名@” を付けます。
各々の実行例を、図 17.17 に示します。この例では c101 において、c102 との間でファ
イル転送を行っています。パスワードを入力していますが、先に説明した設定ファイル~/
.ssh/authorized keys を作成してあれば省略することができます。
✞
・ファイル送信
[hane@c101 hane]$ scp sample1 c102:~/
hane@c102’s password:
sample1
[hane@c101 hane]$
100%
12KB
12.1KB/s
00:00
100%
12KB
12.1KB/s
00:00
・ファイル受信
✝
[hane@c101 hane]$ scp c102:~/sample4 .
hane@c102’s password:
sample4
[hane@c101 hane]$
図 17.17
17.3.3
✆
scp コマンドによるファイル転送
ファイル転送 ➁ ftp
次に、FTP(File Transfer Protocol) によるファイル転送について説明します。FTP
によるファイル転送は、FTP サーバと FTP クライアントを使用します。具体的には、
FTP クライアントから FTP サーバにユーザ名とパスワードを使用して接続し、対話形
式でファイルの送受信を行います。ここでは c101 を FTP クライアント、c102 を FTP
サーバとします。それでは、FTP サーバと FTP クライアントに付いて各々説明します。
■ FTP サーバ
Vine Linux では、FTP サーバとして ProFTPD が用意されています。ProFTPD は
デフォルトでは起動されないので、予め起動しておく必要があります。ProFTPD や先に
使用した OpenSSH のサーバは、起動するとクライアントからの接続を静かに待ちます。
このようなソフトウェアを、デーモン (daemon) と言います。デーモンはランレベルによ
り Linux と同時に起動するものが決まっていますが、これらの設定や確認は chkconfig
*10 --list サービス名 オプションを付けて実行すると、デーモン
コマンドで行います。
*10
このコマンドは、デーモン以外にも Linux 起動時に実行する設定等も管理できます。
236
第 17 章 LAN 接続
(サービス) の起動状況を表示します。図 17.18 は、ProFTPD の起動状況を表示したと
ころです。0∼6 の数字がランレベルで、隣が on だと起動、off だと起動しません。
✞
✝
[root@c102 root]# chkconfig --list proftpd
proftpd
0:off
1:off
2:off
3:off
[root@c102 root]#
図 17.18
4:off
5:off
6:off
✆
chkconfig コマンドによる起動デーモンの表示
ProFTPD を Linux と同時に起動するには、図 17.19 のように実行します。これは、
OS 起動時に proftpd を起動するように設定しています。*11 最後に service proftpd
start を実行して、デーモンを起動しています (Linux 起動時には、これを実行する必要
はありません)。
ただし service コマンドは起動を指示しているだけなので、本当にデーモンが起動し
ているかは、図 17.19 のように ps コマンド等で確認する必要があります。
✞
✝
[root@c102 root]# chkconfig --add proftpd
[root@c102 root]# chkconfig --list proftpd
proftpd
0:off
1:off
2:off
3:on
4:on
5:on
[root@c102 root]# service proftpd start
ProFTPd を起動中: [ OK ]
[root@c102 root]# ps ax | grep proftpd
1847 ?
S
0:00 proftpd: (accepting connections)
[root@c102 root]#
図 17.19
6:off
✆
chkconfig コマンドによる起動デーモンの設定
■ FTP クライアント
FTP クライアントには色々な種類がありますが、ここでは lftp コマンドを使用しま
す。これは、FTP サーバ以外に Web サーバに接続できたり、sftp のプロトコルを使用
できる等、多機能なものです。他にも、最も基本的な FTP クライアントである、ftp コ
マンドや X Window System 上の gFTP 等があります。
使用方法は、以下の通りです。オプションには、接続するユーザ名を指定する-u オプ
ションが良く使用されます。実行後、ユーザ名に対するパスワードを入力すると、サーバ
*11
この設定は、/etc/rc.d/init.d/以下の起動ファイルから、/etc/rc.d/rc3.d 以下等にシンボリック
リンクが張られるだけです。
17.3 LAN アプリケーション
237
への接続が確立します。ユーザ名を省略すると匿名 (anonymous) で接続しますが、これ
はインターネット上でファイルを配布する ftp サイト等に接続する時に使用します。ホス
*12
ト名は、c102 や ftp://c102/ 等 URL 形式も使用できます。
usage: lftp [オプション] ホスト名
図 17.20 は、c101 から c102 へ接続したところです。パスワードは入力しても表示さ
れません。接続後、lftp のプロンプト (lftp ユーザ名@ホスト名:~>) が表示されます
が、ここから内部コマンドを実行してファイル転送を行います。その際、内部コマンドや
✄
ファイル名入力時には、 ✂Tab ✁キーによる補完機能が使用可能です。
✞
✝
[hane@c101 hane]$ lftp -u hane c102
パスワード:
lftp hane@c102:~> dir
drwxr-xr-x
2 hane
hane
4096 Aug 22 04:18 Desktop
drwxr-xr-x
3 hane
hane
4096 Aug 15 02:55 lib
drwxr-xr-x
7 hane
hane
4096 Aug 15 02:55 rpm
drwxr-xr-x
2 hane
hane
4096 Sep 14 23:11 src
drwxr-xr-x
2 hane
hane
4096 Sep 16 04:07 text
lftp hane@c102:~> mirror src
合計: 1 個のディレクトリ、13 個のファイル、0 個のシンボリックリンク
新規: 13 個のファイル、0 個のシンボリックリンク
lftp hane@c102:~>
図 17.20
✆
lftp コマンドによる FTP サーバへの接続
内部コマンドには、表 17.4 のものがあります。図 17.20 では、mirror コマンドでディ
レクトリ src をクライアントに転送しています。転送が完了したら、exit コマンドを実
行すれば lftp を終了してシェルのプロンプトに戻ります。
*12
FTP 以外のプロトコル使用時は、後者である必要があります。
238
第 17 章 LAN 接続
内部コマンド
説明
dir
ファイルの一覧を表示します。
cd
get
ディレクトリを移動します。
mget
指定した複数のファイルをサーバからクライアントに転送し
指定したファイルをサーバからクライアントに転送します。
ます。
指定したファイルをクライアントからサーバに転送します。
put
mput
指定した複数のファイルをクライアントからサーバに転送し
ます。
mirror
指定したディレクトリを階層構造を保ったままサーバからク
ライアントに転送します。
help
簡易ヘルプメッセージを表示します。
exit
lftp を終了します。
表 17.4
17.3.4
lftp の内部コマンド
リモートプリンタ
図 17.1 の c104 にはプリンタが接続されていますが、これを LAN 内の他のコンピュー
タから使用することができます。このような LAN 上の共有することができるプリンタ
を、リモートプリンタ等と言います。ここでは c101∼c103 から、c104 に接続したリ
モートプリンタを使用する方法を説明します。
ところで、15.2 章で説明した CUPS も、実はサーバ・クライアントシステムの形態を
取っています。サーバである cupsd がデーモンとして動いていて、クライアントの lpr
で印刷要求をサーバに発行していたのです。リモートプリンタは、クライアントがサーバ
と異なるコンピュータに存在するだけで、基本的な動作の仕組は変わりません。ただし、
サーバがネットワーク上のクライアントから印刷要求を受け付けるには若干の設定が必要
になるのと、クライアントについてもリモートプリンタの登録が必要になります。これか
ら、サーバとクライアントの設定について、順に説明します。
■ サーバの設定
サーバである c104 には、Canon LBP-350 が接続されているものとします。まず
15.2 章の通りに、LBP350 のプリンタ名で設定を行います。*13 次にスーパユーザにな
り、設定ファイル/etc/cups/cupsd.conf を修正します。この設定ファイルの終の方に
リスト 17.2 の部分があるので、これをリスト 17.3 のように修正します。この修正は、
192.168.0.0 のネットワークアドレスからの印刷要求を受け付けるようにしています。
*13
ローカルで印刷しないなら、raw ドライバを使用しても構いません。
17.3 LAN アプリケーション
239
リスト 17.2: /etc/cups/cupsd.conf の設定 (修正前)
<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
</Location>
リスト 17.3: /etc/cups/cupsd.conf の設定 (修正後)
<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.0.0/255.255.255.0
</Location>
その後、修正を反映させるために、図 17.21 のように CUPS サーバを再起動します。
以上でサーバの設定は完了です。
✞
✝
[root@c104 root]# service cups restart
cups を停止中: [ OK ]
cups を起動中: [ OK ]
[root@c104 root]#
図 17.21
✆
chkconfig コマンドによる起動デーモンの設定
■ クライアントの設定
クライアントの設定は容易です。lpadmin 等の接続先に、
http://サーバ名:631/printers/プリンタ名
を指定します。具体的には、図 17.22 のようにプリンタを設定します。この例では、
LBP350c104 という名前で登録しています。
✞
✝
[root@localhost root]# lpadmin -p LBP350c104 -E -v http://c104:631/printe
rs/LBP350 -m foomatic/Canon-LBP-350-lbp320.ppd
図 17.22 lpadmin コマンドによるリモートプリンタの登録
✆
240
第 17 章 LAN 接続
Web ブラウザから設定する場合は、接続ポートを指定する “デバイス” の画面におい
て、上記の説明通りのものを入力します。
設定後テストプリントを行い、問題が無ければ作業は完了です。
241
第 18 章
インターネット接続
インターネットは TCP/IP により通信される世界規模のネットワークで、いまや無く
てはならないものと言えるかも知れません。電子メールや WWW(Web) 等、多くのユー
ザが利用しているからです。ディストリビューションのソフトウェア修正物件は、イン
ターネット上の FTP サーバや Web サーバ上で配布されるので、Linux においてもイン
ターネットへの接続は不可欠と言えます。
Linux からインターネットに接続する場合、回線の種類や接続方法にはいくつかの種類
がありますが、この章では Vine Linux をインターネットに接続する方法と、そのアプリ
ケーションについて説明します。
18.1
回線の種類と接続方法
ここでは、インターネットに接続する回線の種類と接続方法について説明します。これ
らは使用する地域や環境によって選択肢が限定されることがあるので、ユーザに一番適合
するものを選択すると良いでしょう。
18.1.1
回線の種類
インターネットに接続するには、何らかの回線が必要になります。現在は、アナログ
(一般電話) 回線、ISDN、ADSL、光ファイバー等の選択肢がありますが、最近の主流は
ADSL と言えるでしょう。ISDN、ADSL、光ファイバー等は接続費用を定額にできるの
で、時間を気にせずインターネットに接続することができます。このため電子メール等
は、素早い反応ができる等非常に便利に使うことができます。
*1 可能なら、光ファイバー
これら回線毎の最大通信速度と費用を、表 18.1 に示します。
が速度面でも品質面でも良いでしょう。本書では取り上げませんが、インターネットか
らアクセス可能なサーバを構築する場合、料金面でやや高価な場合があるのが難点です。
ADSL は電話線を利用するので手軽ですが、NTT の収容局から距離が離れると速度面の
*1
この表は執筆時点のもので、特に ADSL 等は変動する可能性があります。
242
第 18 章
インターネット接続
劣化が避けられません。*2 結局のところ、環境や費用面から使用する回線を決定するよう
になります。
回線名
最大通信速度
費用
アナログ回線
56Kbps
128Kbps
従量制 (時間限定の固定もあり)
ISDN
ADSL
47Mbps(下り)/5Mbps(上り)
固定制 (一部従量制もあり)
光ファイバー
100Mbps
定額制
表 18.1
18.1.2
従量制/定額制
インターネット接続回線の特徴
接続方法
回線とコンピュータを接続するには、最低でも回線をコンピュータが扱える信号に変換
する装置とコンピュータ側に接続端子が必要です。装置は回線毎に種類が異なりますが、
表 18.2 に、回線毎の装置と接続端子を示します。
回線名
接続装置
接続端子
アナログ回線
モデム
シリアル or USB
ISDN
ターミナルアダプタ (TA)
シリアル or USB
ADSL
ADSL モデム, スプリッタ
イーサネット (10/100BASE-T)
光ファイバー
回線終端装置
イーサネット (10/100BASE-T)
表 18.2
回線と接続装置
これらは回線とコンピュータを 1:1 で接続しますが、共通の問題点として以下のものが
あります。
• このままでは、他のコンピュータからインターネットに接続できない。
• ADSL や光ファイバーで接続する場合は、LAN に接続することができない。
最近では、家族が一人一台パソコンを所有していたり、個人でパソコンを複数台所有す
ることは珍しくありません。このような場合に、一台しかインターネットに接続できない
のは都合が悪いわけです。また、ADSL や光ファイバーの回線は高速なので、複数台でも
十分使用する能力があります。
このような時に、ルータという装置を使用することで、前述の問題を解決することがで
きます。ルータは、異なるネットワーク同士を接続する装置です。最近では、ADSL や
光ファイバー等と LAN との接続が主のブロードバンドルータという製品があり、これを
*2
筆者宅では、NTT の収容局から 3.5km 程あるため、12Mbps の商品で下りで 3Mbps 程度しか速度が
出ません。
18.1 回線の種類と接続方法
243
*3 ま
使用することで複数のコンピュータからインターネットに接続することができます。
た、アナログ回線や ISDN 向けに、必要に応じてダイヤルアップ接続を行うダイヤルアッ
プルータも存在します。
18.1.3
ルータの役割
以降は、現在の主流である ADSL 回線と、ブロードバンドルータを使用したインター
ネットへの接続について説明します。ルータを使用するのは、LAN 毎接続できる便利さ
の他に、初心者でも比較的容易に設定でき、デフォルトでもある程度のセキュリティを確
保できるためです。一般に、ルータに ADSL 接続に必要な情報 (ログイン名・パスワード
等) を設定すると、ルータがインターネットに接続します。
ネットワークの構成は、図 17.1 を拡張した図 18.1 のものを使用します。この構成に
おけるルータを、デフォルトゲートウェイと言います。 ルータは LAN 側と WAN(Wide
Area Network) 側の二つのイーサネットの端子を持ち、LAN と WAN(インターネット)
を結びます。c101∼c104 がインターネット上の機器と通信をする時は、デフォルトゲー
トウェイであるルータを経由するように設定します。ただし、c101∼c104 はプライベー
*4 このためルー
ト IP アドレスですから、そのまま LAN から外に出ることはできません。
タが LAN 側の IP アドレスをルータの IP アドレスに変換して通信を行い、WAN 側か
らはルータと通信しているように見えます。*5
Spliter
ADSL
Modem
Router
Tel Line
HUB
LBP350
c101
c102
c103
c104
USB
図 18.1
*3
ネットワーク構成図 (インターネット)
ルータ機能を内蔵した ADSL/VDSL モデムも存在します。
LAN 内で、グローバル IP アドレスを使用できるプロバイダの契約もありますが、主にインターネット
に向け情報発信をするサーバ用です。
*5 このアドレス変換には、NAT や IP Masquerade 等の種類があります。
*4
244
第 18 章
インターネット接続
図 18.1 では 4 台のコンピュータを接続していますが、勿論一台でも接続することがで
きます。この場合ルータの価値が無いように思われるかも知れませんが、セキュリティに
ついては効果があります。
18.2
接続設定
これから c101∼c104 のコンピュータにおける設定について説明しますが、その前に
ブロードバンドルータの設定を行う必要があります。
18.2.1
ブロードバンドルータの設定確認
ブロードバンドルータの設定は、機種毎に異なるので詳細は製品のマニュアルを参照し
てください。ただし設定時は、以下の点を確認するようにして下さい。これらの一部を利
用して、Linux の設定を行います。
• ブロードバンドルータの IP アドレスを確認します。もし既設の LAN とネット
ワークアドレスが異なるなら、どちらかに統一しておく必要があります。 他の OS
から接続確認するのも良いでしょう。
• プライベート IP アドレスを持つ LAN を接続するように、ブロードバンドルータ
を設定します。多くは、この接続形態がデフォルトでしょう。
• ネームサーバ (DNS サーバ) の代理応答を行う機能があるかを確認します。この
機能が無い場合は、プロバイダが提供するネームサーバのアドレスを調べておき
ます。
• DHCP サーバ機能を使用する時は、IP アドレスの割り当てる範囲 (スコープ) が、
c101∼c104 の IP アドレスと重ならないように設定します。
18.2.2
インターネット接続の設定
17.2 章で LAN の設定を行ったときは、(デフォルト) ゲートウェイと (プライマリ)
ネームサーバの設定を行いませんでしたが、これらを設定することでルータを経由してイ
ンターネットに接続することができます。そして設定後は、コマンドで確認を行います。
■ デフォルトゲートウェイとネームサーバの設定
netconfig では、“Default gateway” と “Primary nameserver” を設定します。
network-admin では、“ゲートウェイ (G)” と DNS タブの “DNS サーバ” を設定します
(DNS サーバの設定は、テキストエリアに IP アドレスを入力後、“追加 (A)” ボタンをク
リックします。)。なおネームサーバの設定は、/etc/resolv.conf に記述されます。
Default gateway と ゲートウェイ (G) には、ルータの IP アドレスを設定します。
Primary nameserver と DNS サーバには、ルータにネームサーバの代理応答する機能
18.2 接続設定
245
があればルータの IP アドレスを、無ければプロバイダに指定された IP アドレスを設定
します。ネームサーバは複数設定できますが netconfig では Primary nameserver し
か設定できないので、プロバイダから複数のネームサーバが指定されたときは、どれか一
つを入力して残りは設定ファイル /etc/resolv.conf にエディタで記述します。
■ 設定の確認
設定が完了したら、service network restart を実行して設定を反映させ、設定を
確認します。まず図 18.2 のように、route コマンドでデフォルトゲートウェイが設定さ
れているか確認します。具体的には、default で始まる行の第二フィールドが、ルータの
IP アドレスをさしているかを確認して下さい。
✞
[root@c101 root]# route
カーネル IP 経路テーブル
受信先サイト
ゲートウェイ
ネットマスク
フラグ Metric Ref 使用数 インター
255.255.255.0
255.0.0.0
0.0.0.0
U
U
UG
フェース
✝
192.168.0.0 *
127.0.0.0
*
default
192.168.0.1
[root@c101 root]#
0
0
0
0
0
0
0
0
0
eth0
lo
eth0
✆
図 18.2
デフォルトゲートウェイの確認
次に設定ファイル /etc/resolv.conf を参照して、ネームサーバが登録されているか
確認します。図 18.3 の例は、ルータが代理応答する場合で、netconfig による設定な
ので一つしか指定されていません。他のネームサーバを追加する場合は、“nameserver
ネームサーバの IP アドレス” のフォーマットで、一行につき一サーバを記述します。そ
の後、host コマンドで、DNS がきちんと利用できるか (= FQDN から IP アドレスが
検索できるか) を確認しています。
✞
✝
[root@c101 root]# cat /etc/resolv.conf
nameserver 192.168.0.1
[root@c101 root]# host www.ascii.co.jp
www.ascii.co.jp is an alias for at3.ascii.co.jp.
at3.ascii.co.jp has address 61.114.182.85
[root@c101 root]#
図 18.3
ネームサーバの確認
✆
246
第 18 章
インターネット接続
以上で設定は完了です。これでインターネットを利用するアプリケーションが使用でき
る筈です。もし上手く通信できない時は、ルータの設定も含めて見直す必要があります。
■ インターネット接続時の注意
ルータを使用する場合、インターネット側から LAN 内のコンピュータに対するアクセ
スは通常の設定ではできない筈です。よって、外部からの侵入はされ難い*6 のですが、セ
キュリティーホールやある種のコンピュータウィルスに対してまで安全とは言い切れませ
ん。よって、20.2.2 章の通りに Vine Linux のアップデートをするようにして下さい。
18.3
インターネットアプリケーション
ここでは、主にインターネット上で使用するアプリケーションの中から、Web ブラウ
ザ、電子メール、インスタントメッセンジャーについて説明します。電子メールとインス
タントメッセンジャーについては、サービスの契約をしておく必要があります。
18.3.1
Web ブラウザ ➀ mozilla
WWW のドキュメント (Web ページ) を参照する Web ブラウザは、主に X Window
System 上とターミナル上で動作するものがあります。まず最初に、前者の mozilla を
説明します。
CUPS で既に使用しましたが、mozilla は一般的な Web ブラウザです。リンクをク
リックすればその Web ページにジャンプする他、メニューバーとツールバーを使用して
主な操作を行います。
mozilla の起動は、CUPS で使用した時のようにターミナルから起動しても構いませ
んし、GNOME のパネル上のアイコン (図 18.4) をクリックしても起動することができ
ます。
図 18.4 mozilla 起動アイコン
URL を与えずに mozilla を起動すると、図 18.5 の画面が表示されます。デフォル
トでは、HDD 内のドキュメントが表示されます。ツールバー内に URL を入力して
✄
✂Enter ✁キーを押せば指定した Web ページにジャンプすることができますし、リンクをク
リックして他の Web ページにジャンプしたり、ツールバーから Web ページを前後に移
動することができます。
*6
され無いと言い切れ無い点に注意して下さい。
18.3 インターネットアプリケーション
図 18.5
247
Web ブラウザ: mozilla
■ Macromedia Flash
最近は Macromedia Flash を使用した Web ページが増えて来ましたが、これを表示
するプラグインは含まれていませんので、ダウンロードしてインストールする必要があり
ます。まず、以下にしめす Macromedia 社の Web ページから Linux 用の Flash Player
をダウンロード (download)*7 します。
http://www.macromedia.com/jp/
ダウンロードが完了すると、install flash player 7 linux.tar.gz のファイルが
入手できます。一旦 mozilla を終了させたらスーパユーザになり、このファイルを展開
します (図 18.6)。これでディレクトリ install flash player 7 linux ができます。
✞
✝
[root@c101 root]# tar zxf install_flash_player_7_linux.tar.gz
[root@c101 root]# cd install_flash_player_7_linux
[root@c101 install_flash_player_7_linux]#
図 18.6
*7
ファイルの展開
ネットワーク上のファイル等を手元に転送すること。
✆
248
第 18 章
インターネット接続
デ ィ レ ク ト リ install flash player 7 linux に 移 動 し た ら 、イ ン ス ト ー ラ
(flashplayer-installer) を起動してインストールを行います (図 18.7)。インストー
✄
ラ起動後、確認事項を ✂Enter ✁キー (計 3 回) で進めると、インストールする場所をきかれ
ますので、/usr/lib/mozilla-1.7.3 を入力します。*8 その後、図 18.7 のように進め
ます。
✞
✝
[root@c101 install_flash_player_7_linux]# ./flashplayer-installer
:
Please enter the installation path of the Mozilla, Netscape,
or Opera browser (i.e., /usr/lib/mozilla): /usr/lib/mozilla-1.7.3
:
Proceed with the installation? (y/n/q): y
:
Perform another installation? (y/n): n
:
[root@c101 install_flash_player_7_linux]# cd
[root@c101 root]# rm -rf install_flash_player_7_linux
[root@c101 root]#
✆
図 18.7 Flash player のインストール
以上でインストールは完了です。mozilla を起動し、Flash を使用したページを表示
して動作を確認してください。Flash が上手く表示されない時は、mozilla を終了させ、
mozilla-bin のプロセスが残っていないか確認して下さい。もし残っていたら、全て
kill した後で mozilla を再度起動して下さい。
18.3.2
Web ブラウザ ➁ w3m
次に、コンソール上で動作する、w3m を説明します。w3m はテキストベースの Web ブ
ラウザですが、gnome-terminal、kterm、VESA フレームバッファを使用したコンソー
ル上では画像も表示することができます。
w3m は、プロンプトから以下のように起動します。
usage: w3m [オプション] [URL or ファイル]
URL を指定しないで起動すると、デフォルトで図 18.8 の画面が表示されます。図 18.5
の mozilla と同じ Web ページを表示しています。
*8
将来 mozilla をアップデートしたら、そのバージョンに合わせて入力します。
18.3 インターネットアプリケーション
図 18.8
249
Web ブラウザ: w3m
図 18.8 の画面から、キー操作でページ移動等を行いますが、gnome-terminal と kterm
では、一部マウスによる操作も可能です。これらを表 18.3 に示します。なお、kterm のみ
右ボタンクリックでメニューが開き、そこからページ移動や終了をすることができます。
操作
キーボード
ページ選択
✄
✂✄Enter ✁ ✄
Shift ✁+ ✂B ✁
✄✂
✂s ✁
カーソル移動
カーソルキー
リンクへ移動
直前ページに移動
URL 入力
終了
✄
✄
✂✄Shift ✁+ ✂u ✁
✂q ✁
表 18.3
18.3.3
マウス
左ボタンダブルクリック
中ボタンクリック
−
左ボタンクリック、ホイール
−
−
w3m の操作方法
電子メール ➀ sylpheed
X Window System 上で電子メール (以下メール) の送受信を行うメーラとして 、
sylpheed を説明します。以下に、設定を基本操作について説明します。
■ 設定と起動
sylpheed は、使用する前に設定が必要になります。sylpheed は、POP3(Post Office
Protocol 3) や IMAP4(Internet Message Access Protocol 4) によるメール受信と、
SMTP(Simple Mail Transfer Protocol) によるメール送信に対応しています。これらの
250
第 18 章
インターネット接続
送受信に使用するサーバ名や、メール用のユーザ名とパスワードを設定する必要がありま
す (これら名称はプロバイダ等によって異なる場合があります)。
sylpheed は、パネルにある図 18.9 のアイコンをクリックすると起動します。また、
ターミナルから sylpheed を実行しても構いません。
図 18.9 sylpheed 起動アイコン
sylpheed を起動したら、以下の手順で各種サーバ等を設定します。
1. “メールボックスの設定” ウィンドウが開きますが、ここでは OK ボタンをクリッ
クします。
2. “新規アカウントの作成” ウィンドウが開くので、通常使用にチェックを入れて、
個人情報の名前、メールアドレス (、組織)、サーバ情報のプロトコル、受信メール
サーバ、SMTP (送信) サーバ、ユーザ ID(ユーザ名)、パスワードを入力し、OK
ボタンをクリックします。
3. “アカウントの編集” ウィンドウが表示されていれば、閉じるボタンをクリックし
て閉じます。
すると sylpheed のメイン画面 (図 18.10) が表示されている筈です。この画面から
メールの送受信を行います。
図 18.10
sylpheed メイン画面
18.3 インターネットアプリケーション
251
なお、設定ファイル ~/.signature にリスト 18.1 のように署名を記述しておくと、自
動的にメール本文に挿入してくれるので便利です。
リスト 18.1: ~/.signature の例
===============================================
Hideya Hane
[email protected]
http://www.example.org/~hane/
===============================================
■ メール送信
メールを送信するには、ツールバーの “作成” ボタンをクリックします。すると、“メッ
セージの作成” ウィンドウ (図 18.11) が開くので、宛先、Cc、件名、本文を記入します。
特徴的なのはツールバーにある “成形” ボタンで、これをクリックすると一行当たり 72
文字に収まるように本文を成形してくれます。一行当たりの文字数は、メイン画面のメ
ニューバーから “設定 (C) →全般の設定 (C)” で開くウィンドウの “作成” タブで設定で
きます。
必要な項目を入力したら、“送信” ボタンをクリックすると送信されます (ネットワーク
に接続されていない場合は “後で送信” をクリックし、ネットワークに接続後にメイン画
面ツールバーの “送信” をクリックします)。
図 18.11
sylpheed メッセージの作成画面
252
第 18 章
インターネット接続
■ メール受信
メールを受信するには、メイン画面のツールバーにある “受信” ボタンをクリックしま
す。すると、ツールバー下にある三つ表示エリアのうち、右上に件名や送信者等メールの
一覧が表示されます。本文を参照するには、一覧のどれかをクリックすると、一覧の下の
表示エリアに表示されます。
一定時間毎にメールを受信 (= 新着メールチェック) したければ、メイン画面メニュー
バーの “設定 (C) →全般の設定 (C)” で開くウィンドウで、“新着メールを自動チェックす
る” をチェックして、時間を設定します。返信は、本文参照の状態で “返信” ボタンをク
リックします。
なおデフォルトでは、受信したメールはディレクトリ ~/Mail 以下に格納されます。こ
れは後述の mew も同じです。
■ メール削除
受信したメールを削除するには、一覧から削除したいメールをクリック後にツールバー
の “削除” ボタンをクリックします。この段階では、ごみ箱に移動するだけなので、本当に
削除したければメニューバーから “ファイル (F) →ごみ箱を空にする (T)” を選択します。
18.3.4
電子メール ➁ mew
mew は、コンソールやターミナル上で動作するメーラで、エディタである Emacs 上
で動作します。これは主に、前述の elisp で作成されたものです。Emacs 上で動作し
ますから、X Window System 上では一つのウィンドウとして動作します。X Window
System 上では、ツールバーを使用することも可能です。勿論 Emacs の強力な編集機能
も使用できます。以下に設定と基本操作について説明します。
■ 設定
mew は、POP3 や IMAP4 等に対応していますが、ここでは POP3 での使用について
説明します。mew の設定は、設定ファイル~/.mew.el で行います。このファイルに、メー
ルアドレス、ユーザ名、パスワード、送信メールサーバ、受信メールサーバ等を設定しま
すが、コメントと雛型があるので比較的容易に設定できます。
~/.mew.el の最初の方に、“POP サーバの設定” という部分があるので、そこをリス
ト 18.2 のように設定します。
:
;; POP サーバの設定
リスト 18.2: ~/.mew.el の設定例
(setq mew-name "名前") ;; (user-full-name)
18.3 インターネットアプリケーション
253
(setq mew-user "メールアドレスの@より前の部分") ;; (user-login-name)
(setq mew-mail-domain "メールアドレスの@より後ろの部分")
;; (user-login-name)
(setq mew-pop-user "POP3 ユーザ名")
;; if not localhost
(setq mew-pop-server "受信メールサーバ")
:
;; SMTP サーバの設定
(setq mew-smtp-server "送信メールサーバ") ;; if not localhost
:
■ 起動
mew の起動は、Emacs と同時に起動する方法と、起動済の Emacs から起動する方法
があります。Emacs と同時に起動する場合は、プロンプトから図 18.12 のように実行し
ます。
✞
✝
[hane@c101 hane]$ emacs -e mew
図 18.12
✆
mew の起動
*9 起動すると、図 18.13 のメ
起動中の Emacs から起動するには、M-x mew とします。
イン画面が表示されます。受信済メールが存在しないと何も表示されないので一見通常の
Emacs と同じですが、良く見るとツールバーが異なっています。
図 18.13
*9
mew メイン画面
✄
✄
✂Alt ✁キーを押しながら ✂x ✁キーを押した後、mew を入力。7.2 章を参照。
254
第 18 章
インターネット接続
■ メール送信
mew の操作はキーボードからコマンドを与えて行いますが、X Window System 上では
ツールバーを使用することもできます。メールを送信するには、メイン画面から w を押す
か、Write のアイコンをクリックします。すると図 18.14 のメール作成画面になりますの
で、To: に宛先、Subject: に件名、---- の次の行から本文を入力します。宛先入力時、
✄
過去に送信したことがあるメールアドレスに関しては、 ✂Tab ✁キーによる補完機能が働き
✄
ます。本文入力エリアにおいて文字カーソルの位置に署名を挿入するには、C-c ✂Tab ✁と
します。もしメール送信を取り消したい時は、C-c C-q に y を答えれば、メイン画面に
戻ります。
ファイルを添付したい場合は、C-c C-a で attachments エリアが表示されますので、
c で添付ファイル指定、d で添付ファイルを削除できます。
なお、To: や Subject: 等は保護されていませんので、削除できてしまいますから、
注意してください。もし誤って削除してしまった場合は、同様に入力すれば問題ありませ
ん。また、Undo 機能 (C-x u) も使用できますので、焦る必要はありません。
図 18.14
mew メール作成画面
■ メール受信
メールを受信するには、メイン画面から i を押すか、Check のアイコンをクリックしま
す。すると、最下部にパスワードをきいて来るので、POP3 のユーザ名に対するものを入
力します。すると、メール番号、日付、送信者、件名 (Subject) が一覧で表示されます (図
18.15)。本文を参照するには、文字カーソルを合わせてスペースキーか Show のアイコン
をクリックします。本文が表示しきれない場合は、スペースキーでスクロールします。
18.3 インターネットアプリケーション
255
mew は、複数のフォルダを使用することができます。一覧の中から、フォルダを移動
したいメールに文字カーソルを合わせ、o を押すとフォルダ名をきいて来ます。その後
フォルダ名を入力すると (新規のフォルダの場合は、作成するか確認して来ます) メール
番号の右に o が付き、移動対象のメールであることを示します。この時点ではまだ移動
せず、その後 x を押すと実際に移動されます。移動をキャンセルするには、u を使用しま
す。フォルダ間の移動は、g を使用します。なお、受信したメールは、inbox というフォ
ルダに格納されます。
返信は、本文参照の状態で、A か a です。両者の違いは、前者は返信するメールの本文
を引用しますが、後者はしない点です。
図 18.15
mew メール受信画面
■ メール削除
メールを削除するには、一覧の中から削除したいメールに文字カーソルを合わせ、d を
押します。するとメール番号の右に D が付き、削除対象のメールであることを示します。
削除をキャンセルしたければ、u を押します。その後 x を押すと一覧からメールが消えま
すが、実際には trash のフォルダに移動したに過ぎません。完全に削除するには、trash
にフォルダを移動した後で再度削除の操作を行います。
trash に移動せずに、すぐ削除したい場合は M-d を入力して、x を押します。
18.3.5
インスタントメッセンジャー
最近では、Yahoo 等のインスタントメッセージが良く使用されますが、X Window
System 上でこれらのクライアントとなる Gaim について説明します。Gaim は、Yahoo
以外に MSN や ICQ 等のアカウント (利用者登録) も使用することができます。以下に、
256
第 18 章
インターネット接続
Gaim の設定と使用方法を簡単に説明しますが、事前にアカウント (ID) とパスワードを
取得しておく必要があります。
18.3.6
起動と設定
まず、Gaim を起動して、アカウントやインスタントメッセージの種類等を設定します。
Gaim の起動は、GNOME のパネルから “アプリケーション→インターネット→ Gaim
インターネットメッセンジャー” とするか、ターミナルから gaim を実行します。起動す
ると “ログイン” と “アカウント” の二つのウィンドウが開くので、アカウントのウィンド
ウにおいて “追加 (A)” ボタンをクリックします。
“アカウントの追加” ウィンドウが開くので、ここでプロトコル、スクリーン名 (アカウ
ント) を設定します。プロトコルに Yahoo を選択した場合、下の方にある “追加オプショ
ンを表示する” をクリックして表示される追加オプションの “Yahoo Japan” をチェック
します (日本のみプロトコルが異なるためです)。パスワードを記憶させたい場合は、パ
スワード欄に入力し “パスワードを保存する” をチェックします。また、Gaim 起動時に
自動的に接続したければ、“自動ログイン” もチェックします。設定が完了したら、“保存
(S)” ボタンをクリックします。アカウントのウィンドウも “閉じる (C)” ボタンをクリッ
クして閉じて構いません。
18.3.7
基本操作
インスタントメッセージのサーバに接続するには、ログインのウィンドウにおいて、複
数登録してあればアカウントを選択し、必要に応じてパスワードを入力したら、“サイン・
オン (S)” ボタンをクリックします。すると、図 18.16 の “仲間リスト” のウィンドウが表
示されます。
図 18.16
Gaim 仲間リスト画面
18.4 その他接続
257
このままでは日本語の入力に問題があるので、仲間リストにおいて “ツール (T) →設
定 (E)” で設定ウィンドウを表示します。左側のメニューから “インタフェイース→会話
ウィンドウ→ショートカット” を選択し、“[ENTER] キーでメッセージを送信する (S)”
のチェックを外します。これは、日本語入力時に確定できなくなるのを避けるためです。
チェックを外したら、設定ウィンドウを閉じます。
後は仲間リストから会話したいユーザをダブルクリックすれば、会話ウィンドウが開く
ので会話を自由に楽しみます。
18.4
その他接続
光ファイバーとブロードバンドルータの組合せや、アナログ回線や ISDN とダイヤル
アップルータの組合せでも、18.2 章とほぼ同様に使用することができるでしょう。ここ
ではルータを使用しない接続形態として、ADSL モデムとコンピュータの NIC を繋い
で PPPoE で接続する形態と、アナログモデム/TA をコンピュータのシリアルインター
フェイス (RS232C) に繋いで PPP で接続する形態について簡単に説明します。PPP も
PPPoE も、ppp0 等のインターフェイスを使用して通信が行われますが、このインター
フェイスは動的に作成されます。
18.4.1
ADSL モデム
ADSL モデムをコンピュータの NIC に直接接続する場合、X Window System 上
で tkpppoe を使用するのが簡単です。これは、PPPoE を使用して ADSL 接続する
rp-pppoe の操作を、GUI を使用して行うものです。/etc/ppp/pppoe.conf を設定し
て、adsl-start コマンドで接続してもほぼ同様です。
tkpppoe は、スーパユーザになり GNOME のパネルから “アプリケーション→イン
ターネット→ TkPPPoE” とするか、ターミナルから tkpppoe を実行すると起動します。
何も接続設定が無い状態では、メインウィンドウである “RP-PPPoE” と設定ウィンドウの
“New Connection - RP-PPPoE” が表示されます (図 18.17)。
図 18.17
tkpppoe 起動画面
258
第 18 章
インターネット接続
New Connection - RP-PPPoE の基本設定タブの各項目を設定して “OK” ボタンをク
リックすると、メインウィンドウに接続名で入力した項目が追加されます (設定は、ファ
イル /etc/ppp/rp-pppoe-gui/conf. 接続名に保存されます)。ここで “スタート” ボタ
ンをクリックすると接続されます。接続を切断するには “ストップ” ボタンをクリックし
ます。
なお “オプション” タブの中に “ファイアウォール” の項目がありますが、これにより
tkpppoe は適切なファイヤウォールを設定します。この項目は、自分でファイヤウォー
ルを設定 (iptables*10 ) する場合を除いて、“None” にはしないで下さい。 また、今後一
般ユーザの接続を許可する場合は、“root 以外のユーザの使用を許可” をチェックします。
18.4.2
アナログモデム/TA
Vine Linux でアナログモデムや TA を使用して PPP 接続するには、ppxp と ppp の
二種類の方法 (ソフトウェア) があります。ここでは、前者の ppxp を使用した接続につ
いて説明します。
ppxp を一般ユーザで使用するには、スーパユーザになり、事前に ppxpadduser コマ
*11 登録後は、ログイン
ンドを使用してユーザを登録しておく必要があります (図 18.18)。
し直して登録を有効にして下さい。
✞
✝
[root@c101 root]# ppxpadduser hane
/usr/sbin/usermod -G tty,uucp,hane hane
[root@c101 root]#
図 18.18
✆
ppxpadduser による ppxp 使用ユーザの追加
設定については、起動後に内部のツールを使用するのが簡単です。プロンプトから
ppxp を起動すると ppxp> のプロンプトが表示されます (図 18.19)。
✞
✝
[hane@c101 hane]$ ppxp
PPxP version 2001080415
interface: tun2
ppxp> qdial
✆
図 18.19
*10
*11
ppxp の起動
本書では取り上げませんが、Linux で通信を制御する仕組です。
このコマンドは、usermod コマンドを適切に実行しているだけです。
18.4 その他接続
259
ppxp> のプロンプトから、qdial コマンドを入力すると、設定画面 (図 18.20) が表示
されます。この画面において、上下のカーソルキーで設定項目を選択して入力します。[]
で囲まれた項目は、設定を入力します。{} で囲まれた項目は、左右のカーソルキーで内
✄
容を選択できます。<> で囲まれた項目は、 ✂Enter ✁キーを押すと何等かの実行をします。
各設定項目は、表 18.4 を参考に設定して下さい。“<More...>” から拡張メニューに移行
し詳細設定が行えますが、通常は必要無い筈です。
図 18.20
設定項目
Device Name
ppxp - qdial 画面
説明
モ デ ム/TA を 接 続 し た シ リ ア ル ポ ー ト のス ペ シ ャ
ルファイルを入力します。COM1 なら/dev/ttyS0、
COM2 なら ttyS1 となります。
Dial Type
ダイヤルする方式を指定します。
Phone Number
Login Name
PPP 接続に使用するユーザ名を入力します。
Login Password
Login Name に対応するパスワードを入力します。
Password(again)
確認のため Login Password と同じパスワードをもう
電話番号を入力します。
一度入力します。
表 18.4
qdial の項目説明
✄
設定が完了したら、“<Save...>” で ✂Enter ✁キーを押すと設定を保存するファイルの入
力を要求されるので、適切なものを入力して <OK> を選択して前の画面に戻ります。この
設定ファイルは、ディレクトリ~/.ppxp/conf 以下に格納されます。テキストファイルな
ので、後から編集することもできます。ここではファイル名 isp001 で保存したものとし
ます。その後 <Cancel> を選択して ppxp のプロンプトに戻ったら、quit コマンドで終
260
第 18 章
インターネット接続
了します。
設定後にダイヤルアップ接続をするには、まずプロンプトから図 18.21 のように設定
ファイルを引数にして ppxp を起動します。ppxp のプロンプトが表示されたら connect
コマンドを実行すると接続され、通信が確立すると ppxp のプロンプトが PPXP> に変化
します。使用後切断するには disconnect コマンドを実行します。なお、ppxp のプロン
プトから help コマンドを実行すると、コマンドの一覧が表示されます。
✞
✝
[hane@c101 hane]$ ppxp isp001
PPxP version 2001080415
interface: tun2
ppxp> connect
PPXP>
図 18.21
✆
ppxp による接続
■ PPxP 使用時の注意
tkpppoe 使用時と異なり、ファイヤウォールは何も設定されません。よって、20.2.2 章
のアップデートについては絶えず注意するようにし、不必要なデーモン類は停止しておく
と良いでしょう。
第 VII 部
システム管理
263
第 19 章
一般の管理
Linux は他の OS と比較すると、システム管理という作業がはっきりしています。シス
テム管理には色々な作業が存在しますが、この章ではユーザ管理等の一般的な管理につい
て説明します。
19.1
ユーザ・グループ管理
インストール時にも一般ユーザを作成しましたが、勿論インストール後にユーザやグ
ループの登録、削除、変更等を行うことができます。これらは、スーパユーザの権限で行
います。また既に説明したように、ファイルやプロセスについてもユーザとグループは重
要です。
これらユーザとグループは、コマンドと X Window System 上のツールを使用する方
法がありますが、主にコマンドについて説明します。
19.1.1
ユーザの作成と削除
ユーザの作成には useradd コマンドを、ユーザの削除には userdel コマンドを使用
します。useradd コマンドは、設定ファイルの /etc/passwd と /etc/shadow にユーザ
情報 (エントリ) を登録し、ディレクトリ /etc/skel から作成したユーザのホームディ
レクトリに各種設定ファイルをコピーします。/etc/passwd には、ユーザ名, ユーザ ID,
グループ ID, ホームディレクトリ, ログインシェル等が、/etc/shadow には暗号化され
たパスワード等が記述され、どちらもテキストファイルです。よって、ユーザの一覧等は
less コマンド等で参照することができます。
ちなみに /etc/passwd と /etc/shadow は、vipw*1 で編集することもできます。この
場合ホームディレクトリの作成と各種設定ファイルのコピーは手動で行います。ただし、
各ファイルのフォーマット (書式)*2 等を理解している必要があり、Linux に慣れるまでは
*1
*2
/etc/passwd と/etc/shadow を編集する vi。
一行一ユーザで、“ユーザ名:パスワード:ユーザ ID:グループ ID:コメント:ホームディレクトリ:ログイン
264
第 19 章 一般の管理
お勧めしません。よって、詳細は割愛します。
useradd と userdel は、各々以下のように使用します。
■ useradd - Create a new user or update default new user information
usage: useradd [オプション] ユーザ名
useradd コマンドは、指定されたユーザを作成します。一部のソフトウェアのことを
考えた場合、ユーザ名の長さは英数字 8 文字以内にするのが無難です。オプションを省略
した場合、デフォルト値を使用してユーザ ID 等が決定されます。ユーザ作成後は、後述
の passwd コマンドでパスワードを設定する必要があります。
オプション
説明
-u ユーザ ID
ユーザ ID を指定します。通常、一般ユーザは 500 以
-g グループ名
所属するグループを指定します。グループ ID を指定
上を使用すると良いでしょう。
しても構いません。省略すると、ユーザ名と同じグルー
プが作成され、それになります。
-d ホームディレクトリ
ホームディレクトリを指定します。省略した場合、/
home/ユーザ名 となります。
-s ログインシェル
ログイン時に使用されるシェルを指定します。デフォ
ルトは /bin/bash です。指定するシェルは、/etc/
shells に登録されている必要があります。
表 19.1
useradd コマンドの主なオプション
useradd コマンドの実行例を、図 19.1 に示します。この例では、ユーザ ID とグルー
プ名を指定して作成後、設定ファイル/etc/passwd に追加されたエントリを確認してい
ます。
✞
✝
[root@localhost root]# useradd -u 505 -g users hideya
[root@localhost root]# grep hideya /etc/passwd
hideya:x:505:100::/home/hideya:/bin/bash
[root@localhost root]#
図 19.1
useradd コマンド実行例
シェル” のようにコロンで区切り記述します。
✆
19.1 ユーザ・グループ管理
265
■ passwd - update a user’s authentication tokens(s)
usage: passwd [ユーザ名]
passwd コマンドは、ログインに使用するパスワードを設定します。ユーザ名を指定で
きるのは、スーパユーザだけです。また、一般ユーザが、自分のパスワードを忘れた場合
にも、このコマンドで再設定します。
図 19.2 は、先に作成したユーザ hideya のパスワードを設定した実行例です。設定す
るパスワードは、二回入力します。あまり単純なパスワードを設定すると、警告が表示さ
れます。
✞
✝
[root@localhost root]# passwd hideya
Changing password for user hideya.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost root]#
図 19.2
✆
passwd コマンド実行例
このコマンドは、一般ユーザが自分のパスワードを変更する時にも使用します。 この
場合、コマンド名のみで実行し、旧パスワード, 新パスワード, 新パスワードの順で入力し
て変更します。
■ userdel - Delete a user account and related files
usage: userdel [オプション] ユーザ名
userdel コマンドは、指定したユーザを削除します。オプションは-r のみ存在し、こ
れを使用するとホームディレクトリも削除します。
19.1.2
グループの作成と削除
グループの作成には groupadd コマンドを、グループの削除には groupdel コマンド
を使用します。groupadd コマンドは、設定ファイル /etc/group にグループ情報 (エン
トリ) を登録します。/etc/group には、グループ名, グループ ID, 所属ユーザ名等が記
述され、これもテキストファイルです。よって、グループの一覧等は less コマンド等で
参照することができます。
266
第 19 章 一般の管理
ちなみに /etc/group は、vigr*3 で編集することもできます。これも vipw 同様、
Linux に慣れるまではお勧めしません。よって、詳細は割愛します。
groupadd と groupdel は、各々以下のように使用します。
■ groupadd - Create a new group
usage: groupadd [オプション] グループ名
groupadd コマンドは、指定されたグループを作成します。-o グループ ID のオプショ
ンを与えると、グループ ID を指定できます。
groupadd コマンドの実行例を、図 19.3 に示します。この例ではグループ develop を
作成後、設定ファイル/etc/group に追加されたエントリを確認しています。
✞
✝
[root@localhost root]# groupadd -g 500 develop
groupadd: gid 500 is not unique
[root@localhost root]# groupadd -g 1000 develop
[root@localhost root]# grep develop /etc/group
develop:x:1000:
[root@localhost root]#
図 19.3
✆
groupadd コマンド実行例
■ groupdel - Delete a group
usage: groupdel グループ名
groupdel コマンドは、指定されたグループを削除します。
19.1.3
ユーザ情報の変更
作成したユーザの各種情報、例えばログインシェルやホームディレクトリを変更するに
は、usermod コマンドを使用します。
■ usermod - Modify a user account
usage: usermod [オプション] ユーザ名
usermod コマンドは、指定されたユーザ情報を変更します。オプションには、表 19.1
と同じものが指定できます。
*3
/etc/group を編集する vi。
19.1 ユーザ・グループ管理
267
usermod コマンドの実行例を、図 19.4 に示します。この例では、ユーザ hane のホー
ムディレクトリとログインシェルの変更前後を確認しています。
✞
✝
[root@localhost root]# grep hane /etc/passwd
hane:x:500:501:Hideya Hane:/home/hane:/bin/bash
[root@localhost root]# usermod -s /bin/tcsh -d /home/hane2 hane
[root@localhost root]# grep hane /etc/passwd
hane:x:500:501:Hideya Hane:/home/hane2:/bin/tcsh
[root@localhost root]#
図 19.4
✆
usermod コマンド実行例
■ users-admin の使用
参考に、X Window System 上からユーザやグループの作成と削除等を行う方法を紹
介しておきます。これには users-admin(ユーザとグループの設定) を使用します。起動
は GNOME のパネルから、“アプリケーション→システム・ツール→ユーザとグループ”
か、ターミナルから図 19.5 のように実行します。
✞
✝
[root@localhost root]# users-admin
✆
図 19.5 users-admin の起動
起動すると、図 19.6 のウィンドウが表示されます。ここではユーザやグループの一覧
が表示されています。ユーザやグループを追加、削除、変更するには、タブでユーザかグ
ループを選択した後で、追加、削除、プロパティのボタンをクリックします。
図 19.6
users-admin 画面
268
第 19 章 一般の管理
19.2
デーモン等の起動と停止
17.3.3 章でふれましたが、デーモンは裏方として様々なものが動いています。FTP 等
のサーバは、殆どがデーモンとして動作しています。ですから、サーバとデーモンは関係
が深いわけです。ここでは、デーモン関連について説明します。なお、デーモン関連の操
作については、スーパユーザで行います。
19.2.1
デーモンの種類
デーモンには、単体でデーモン化するものと、inetd から呼び出されるものがありま
す。前者はスタンドアローンタイプと呼ばれ、起動すると標準入出力を閉じてデーモンと
なりますので、そのソフトウェアのみ設定すれば良いわけです。しかし、後者を使用する
には、inetd の設定が必要になります。
inetd はスーパサーバといい、inetd が面倒を見るソフトウェア (デーモン) のクラ
イアントからの要求があれば、それを起動します。このタイプのデーモンの場合、まず
inetd が起動している必要があり、さらに設定ファイル /etc/inetd.conf で起動する
ソフトウェア等を設定します。/etc/inetd.conf を編集した場合は、inetd を再起動す
るか、ハングアップシグナルを kill コマンドで送る必要があります。
Vine Linux のデフォルトでは、inetd を使用するデーモンは無いので説明は割愛しま
すが、良く使用される設定は既に /etc/inetd.conf に記述されているので、コメントで
ある行頭の # を削除して inetd を再起動するか、ハングアップシグナルを送れば使用す
ることができます。またソフトウェアによっっては、/etc/inetd.conf に自動的に設定
を追加してくれるものもあります。最近では機能を拡張した xinetd を採用しているディ
ストリビューションも多いので、Vine Linux もゆくゆくは移行するものと思われます。
19.2.2
手動による起動と停止
スタンドアローンタイプのデーモンの起動と停止は、service コマンドを使用します。
このコマンドは、デーモンの起動と停止だけを行うのでなく、システムパラメータの設定
等も行います。よって、これらをまとめてサービスとして扱っているようです。
既に説明したように、service コマンドは/etc/rc.d/init.d(/etc/init.d) 以下の
実行ファイルを起動していますので、/etc/rc.d/init.d/network restart としても
ほぼ同等です。
使用方法は以下の通りです。オプションを省略すると、通常はオプションの一覧が表
示されます。良く使用する start(起動) と stop (停止) 以外に、restart(再起動) や
status(状態表示) 等があります。
usage: service サービス名 [オプション]
19.2 デーモン等の起動と停止
19.2.3
269
自動起動の設定
デーモンの起動やシステムパラメータの設定を、OS 起動時に行いたいことがあります。
Linux では、このような仕組が用意されています。
■ 自動起動の仕組
ディレクトリ/etc/rc.d/rc?.d/ は、ランラベルに応じて実行されるファイルが格納
されています。? には 0∼6 の数字が入り、これがランレベルに対応しています。つまり
ランレベルが 3 の場合は /etc/rc.d/rc3.d/ 以下のファイルが OS 起動時に実行され
ます。
ランレベルには、表 19.2 の種類があります。これらは、ディストリビューションによ
り異なることがあります。ランレベルは、10.1.3 章で説明したように /etc/inittab で
指定しますが、telinit コマンドで起動後に移行することもできます。
ランレベル
説明
0
OS の停止
1
2
シングルユーザモード
3
マルチユーザモード
マルチユーザモード (NFS
*4 は未使用)
4
未使用
5
6
X Window System 上からのログインモード
再起動
表 19.2 ランレベルの種類
ls -l 等で /etc/rc.d/rc?.d/ を参照すると判りますが、格納されているのは /etc
/rc.d/init.d/ 以下のファイルを実体とするシンボリックリンクです。デーモン等の種
類によって、どのランレベルで使用するか決まっているので、いちいち実体を持たせずに
必要に応じてシンボリックリンクを張っているのです。
/etc/rc.d/rc3.d/ 以下には、例えば S05kudzu 等のシンボリックリンクがあります
が、OS 起動時には S に続く数字が若いものから順に実行されます (数字が同じ場合は、
abc 順)。
■ 自動起動の設定
自動起動を実現するには、/etc/rc.d/init.d/ から/etc/rc.d/rc?.d/ へ適切にシ
ンボリックリンクを張れば良いわけです。しかし、これを手作業でやるのは間違えやす
*4
Network File System の略で、UNIX における標準的なファイル共有機能。
270
第 19 章 一般の管理
かったり面倒です。そこで、17.3.3 章で使用した chkconfig コマンドを使用します。こ
のコマンドは、主に以下のように使用します。
usage: chkconfig [オプション] サービス名
主なオプションを、表 19.3 に示します。--add オプションは、指定したサービスを起
動するよう設定しますが、これは/etc/rc.d/init.d/ 以下のファイルに記述されたルー
ルに従います。例えば、/etc/rc.d/init.d/proftpd には、
# chkconfig: 345 85 15
の一行があります。一見コメントのように見えますが、この行は chkconfig コマンド
のルールです。345 は自動起動するランレベルを表しています。85 は、起動順序を表し
ます。この場合、S85proftpd という名前でシンボリックリンクを作成します。最後の
15 は、ランラベル 0 における、終了処理を行う順序を表します。この場合 /etc/rc.d/
rc0.d/K15proftpd というシンボリックリンクが作成されます。少し補足しておくと、/
etc/rc.d/init.d 以下の実行ファイルは、引数によって動作が異なります。起動時には
start と、終了時には stop が与えられるわけです。
オプション
説明
--list [サービス名]
設定状況を表示します。サービス名を省略すると、
一覧を表示します。
--add サービス名
指定したサービスを起動するよう設定します。
--del サービス名
指定したサービスを起動しないように設定します。
表 19.3 chkconfig コマンドの主なオプション
■ services-admin の使用
参考に、X Window System 上からデーモンの起動やシステムパラメータの設定を行
う方法を紹介しておきます。これには services-admin(サービスの設定) を使用します。
起動は GNOME のパネルから、“アプリケーション→システム・ツール→サービスの管
理” か、ターミナルから図 19.7 のように実行します。
✞
✝
[root@localhost root]# services-admin
図 19.7
✆
services-admin の起動
起動すると、図 19.8 のウィンドウが表示されます。ここでまず、ランラベル 3 の Text
mode かランレベル 5 の Graphical mode を選択します。するとサービスの一覧もラン
レベルに応じて変化するので、起動するサービスにチェックをいれます。
19.3 ディレクトリ構造
271
図 19.8
19.3
services-admin 画面
ディレクトリ構造
Linux のディレクトリ構成は、予め用途により決められています。ここでは、それらに
ついて説明します。
19.3.1
各ディレクトリの必要性
ハードディスクには、Linux を構成する実行ファイルや設定ファイル以外にも、個人が
所有するファイル等が格納されています。Linux で使用するファイルには、主に以下の種
類があります。
• 実行ファイル
いわゆるプログラムです。実行ファイルには、ユーザ全般で使用するものと、
スーパユーザが使用するものがあります。また、基本的なものと、それ以外にも別
けることができます。
• 共有ライブラリ
実行ファイルが動作するのに必要なファイルで、共通するソフトウェア (サブ
ルーチン) を束ねたものです。これにより、重複する無駄な部分を節約することが
できます。
• 設定ファイル
272
第 19 章 一般の管理
ソフトウェアが動作するための、設定が記述されたファイルです。
• 一時ファイル
ソフトウェアの実行時等、一時的に使用されるファイルです。
これらをルール無しに記録していったら、訳が判らない状態になってしまいます。その
ため、ファイルの種類やオーナ等で整理して、然るべきディレクトリに格納するように
なっています。
19.3.2
Linux のディレクトリ構造
Linux の場合、前述のファイルを整理して配置するために、図 19.9 の構造となっていま
す。この図は、主要ディレクトリをツリー構造のトップ (/) から表示したものです。これ
ら構造は、基本的に LSB(Linux Standard Base) が策定した FHS(Filesystem Hierarchy
Standard) に準拠していて、多くの UNIX 系の OS ではこのような構造となります。*5 し
かし、/etc 以下等は OS やディストリビューション等により差が出ることもあります。
それでは、/bin から順に簡単に説明します。なお、説明中の略称については、幾つか
の説があり、その中の一つです。
/
bin
sbin
lib
usr
bin
sbin
lib
boot
etc
tmp
X11R6 local
図 19.9
var
log
proc
spool
mnt
home
user1 user2
Vine Linux のディレクトリ構造図
• /bin
/bin 以下には、基本的な実行ファイルが格納されます。bin は binary を省略
したものです。
• /sbin
/sbin 以下には、スーパユーザが使用する基本的な実行ファイルが格納されま
す。よって、一般ユーザは /sbin に実行パスを通さないのが普通です。sbin は、
superuser-binary 等を省略したものです。
• /lib
/lib 以下には、基本的な共有ライブラリが格納されます。lib は、library を省
略したものです。
*5
詳細は http://www.pathname.com/fhs/ 参照。
19.3 ディレクトリ構造
273
• /usr
/usr 以下には、bin, sbin, lib, X11R6, local 等のディレクトリが格納されま
す。bin, sbin, lib の意味は、/ 以下のものと同じですが、一般的なソフトウェ
ア用のファイルが格納されます。X11R6 以下には X Window System 関連のもの
が格納されます。local 以下は、そのマシン (PC) 固有のファイルが格納されます
(Vine Linux においては、後述の rpm パッケージを使用しないソフトウェア等を
格納します)。/usr は User Service and Routines の省略で、一般ユーザが使用す
*6
るファイルが格納されるものです。一説には user の省略という説もあります。
• /boot
/boot 以下には、OS の起動に必要なカーネル等が格納されます。下手にカーネ
ルを記録したファイル等をいじると OS が起動しなくなるため、扱いには注意が必
要です。boot は、boot(起動) が由来となっています。
• /etc
/etc 以下には、システム関連ソフトウェアの設定ファイルや、起動時に実行さ
れるファイル等が格納されます。ちなみに/etc/rc.d の rc とは、Run Command
の略とされています。etc は、辞書の通り et cetera の省略です。
• /tmp
/tmp 以下には、各ソフトウェアが作成する一時ファイルが格納されます。/tmp
の属性を見ると判るように、誰でもファイルを置くことができます (ただし、削除
はオーナ以外できません)。tmp は、temporary の省略です。
• /var
/var 以下には、デーモン等の動作が記録されるログファイルや印刷待ちのキュー
等、比較的可変するファイルが格納されます。実際には /var 以下に log や spool
等のディレクトリがあり、その下に様々なファイルが置かれます。一時的なファイ
ルを置くと言うことでは /tmp と似ていますが、誰もが利用できるわけではありま
せん。var は variable の省略です。
• /proc
/proc 以下には、システム情報が格納されます。/etc/fstab を見ると判りま
すが、ここにはファイルが記録されているのではなく、proc ファイルシステム
(process information pseudo-filesystem) がマウントされていて、カーネルが提供
するシステム情報が参照できる仕組になっています。proc は process の省略です。
• /mnt
*6
筆者は、こちらのほうが正しい気がします。何故なら、これだけ英熟語の省略なのは不自然だからです
(sbin は後から生まれたので、理解できますが)。
274
第 19 章 一般の管理
/mnt 以下には、CD-ROM ドライブ等のマウントポイントが格納されます。mnt
は mount の省略です。
• /home
/home 以下には、一般ユーザのホームディレクトリが格納されます。useradd
コマンドのデフォルトでは、/home 以下にユーザ名のディレクトリを作成します。
/home は home(ホーム) が由来です。
275
第 20 章
パッケージ管理
ディストリビューションがソフトウェアの集合体であると述べましたが、各々のソフト
ウェアを漠然と集めたのでは、どのファイルがどのソフトウェアのものか判りませんし、
バージョンアップの場合等にも困ってしまいます。そこで、パッケージと言う単位でソフ
トウェアを管理するようになっています。この章では、このパッケージ管理について説明
します。
20.1
rpm
ここでは、Vine Linux で採用されている rpm(RPM Package Manager)*1 というパッ
ケージ管理ツール (システム) について説明します。
20.1.1
rpm によるパッケージ管理
ディストリビューションに収録されたソフトウェアは、パッケージという単位で管理さ
れます。このパッケージ一つ一つを、rpm パッケージと言いますが、これ以降 rpm パッ
ケージを単にパッケージと呼称します。rpm の場合、ソフトウェアは一つ以上のパッケー
ジに分割されています。rpm は、パッケージ名、バージョン、収録ファイル、作成者等の
各種情報の管理をしていて、これらの管理情報によりパッケージを HDD に対し、インス
トール、アンインストール、アップデート (更新) を行うことが可能となります。
パッケージはファイルとして存在し、以下のように拡張子が .rpm となります。これを
パッケージファイル等と呼びます。
glibc-2.3.3-3vl1.i386.rpm
glibc-2.3.3-3vl1.i686.rpm
gnome-icon-theme-1.0.9-0vl1.noarch.rpm
*1
http://www.rpm.org/ 参照。かつては RedHat Package Manager の略とされていました。
276
第 20 章 パッケージ管理
パッケージのファイル名には規則性があり、
パッケージ名-バージョン-リリース番号. アーキテクチャ.rpm
のルールで記述されます。拡張子が .i386.rpm, .i686.rpm, .noarch.rpm のものは、イ
ンストールして使用できるものです。i386 の部分は、先に述べたコンピュータのアーキ
テクチャを表しています。IA32 では通常 i386 とアーキテクチャを問わない noarch を
使用しますが、Vine Linux においては一部のパッケージに Pentium(i586) や Pentium
Pro(i686) 以降に最適化されたものも使用されます。
他にも .src.rpm というものもありますが、これはソースパッケージといって、これを
コンパイル*2 等の処理することにより、インストール可能なパッケージを作成します。
パッケージは、ファイルの状態でも、インストール済のものでも、各種情報を参照する
ことができます。
20.1.2
使用可能な rpm パッケージ
Vine Linux と rpm を採用する他のディストリビューションとは、パッケージの互換
性が無いことが殆どです。これは、パッケージが動作するために必要な他のパッケージ情
報も管理されていて、その依存関係を満たさないとインストールできないためです。また
Vine Linux 間でも、バージョンによっては互換性がありません。
インストールに使用した CD-ROM に収録されたパッケージ以外に、VinePlus と呼
*3
ばれるフリーソフトウェアのパッケージ集があり、ftp サイト等で配布されています。
この VinePlus においても、バージョン 3.2 のものを使用する必要があります。
20.1.3
rpm の使用方法
パッケージを操作するには、rpm コマンドを使用します。使用方法は以下の通りです。
usage: rpm [オプション] パッケージ [パッケージ…]
主なオプションには、表 20.1 のものがあります。これらオプションを組み合わせて、
以下に述べる操作を行います。パッケージ情報の参照以外は、スーパユーザで実行する必
要があります。
*2
ソースコードと言う人間が理解できるソフトウェアの設計図から、実行ファイルを生成すること。ソース
コードは、コンピュータ言語により種類が異なります。
*3 利用可能な ftp サイトについては、Vine Linux の Web ページに最新情報が記載されています。
20.1 rpm
277
オプション
説明
-i
パッケージをインストールします。
-U
-v
パッケージをアップデート (更新) します。
-h
インストール状況をグラフで表示します (-i や-U オプション
-e
パッケージをアンインストールします。
-q
パッケージについて問い合わせます (query)。
-i
パッケージ情報を表示します (-q と併用します)。
-l
-R
パッケージ収録ファイルを表示します (-q と併用します)。
-f
指定されたファイルを提供するパッケージを表示します (-q
詳細な動作情報を表示します。
で有効)。
パッケージの依存情報を表示します (-q と併用します)。
と併用します)。
-a
パッケージ全てを選択します (-q 等と併用します)。
-p
パッケージファイルを指定します (-q 等と併用します)。
表 20.1
rpm コマンドの主なオプション
■ インストール
パッケージのインストールは、補助記憶装置上のパッケージファイルを使用します。イ
ンストールには、表 20.1 の通り -i オプションを使用しますが、-ivh とセットで使用す
ることが多いでしょう。使用方法は、以下のようになります。
rpm -ivh パッケージファイル [パッケージファイル…]
この時注意するのは、依存関係も解決するようにパッケージファイルを指定する点で
す。例えば packageA を動作させるために packageB が必要なら、それらを同時に指定
しないとインストールできません。
図 20.1 はインストールの例ですが、-h コマンドによりグラフが表示されているのが判
ります。
✞
✝
[root@localhost plus]# rpm -ivh nmap-3.75-0vl1.i386.rpm
準備中...
########################################### [100%]
1:nmap
########################################### [100%]
[root@localhost plus]#
図 20.1
rpm コマンド実行例 (1) インストール
✆
278
第 20 章 パッケージ管理
既にインストール済のパッケージは、インストールすることはできません。万一誤って
パッケージを構成するファイルを削除してしまい、インストールし直したい場合は、一旦
アンインストールするか、-ivh --force のように --force オプションを付加します。
ただし、--force オプションは動作を良く理解した上で使用してください。
■ アップデート
インストール済のパッケージのアップデート (アップグレード) も、補助記憶装置上の
パッケージファイルを使用します。アップデートには -U オプションを使用しますが、イ
ンストールと同様 -Uvh とセットで使用することが多いでしょう。この場合は以下のよう
に使用しますが、注意点はインストールの場合と同様です。
rpm -Uvh パッケージファイル [パッケージファイル…]
もし何等かの理由で以前のバージョンに戻したい場合は、-Uvh --oldpackage のよう
に --oldpackage オプションを付加します。
図 20.2 はインストールの例です。基本的にインストール時と同じです。
✞
✝
[root@localhost plus]# rpm -Uvh gaim-0.80-0vl4.i386.rpm
準備中...
########################################### [100%]
1:gaim
########################################### [100%]
[root@localhost plus]#
図 20.2
✆
rpm コマンド実行例 (2) アップデート
■ パッケージ情報の参照
パッケージファイル、もしくはインストール済のパッケージの情報を参照することがで
きます。参照するには、-q オプションに加え-a, -i, -l オプションを組み合わせて使用
します。
この時、インストール済パッケージに関しては、パッケージ名のみを指定します。例え
ば gaim-0.80-0vl4.i386.rpm なら、gaim を指定します。また、パッケージファイルの
パッケージ情報を参照する場合は、-p オプションで指定します。
以下に、パターン化した使用方法を示します。
• インストールチェック
rpm -q パッケージ名 [パッケージ名…]
• インストール済パッケージリストの参照
rpm -qa
20.1 rpm
279
• インストール済パッケージ情報の参照
rpm -qi パッケージ名 [パッケージ名…]
• パッケージファイル情報の参照
rpm -qip パッケージファイル [パッケージファイル…]
• インストール済パッケージ収録ファイル表示
rpm -qvl パッケージ名 [パッケージ名…]
図 20.3 は、インストール済パッケージである gaim の情報を参照した例です。
✞
✝
[root@localhost plus]# rpm -qi gaim
Name
: gaim
Relocations: (not relocateable)
Version
: 0.80
Vendor: Project Vine
Release
: 0vl4
Build Date: 2004 年 08 月 29
日 20 時 32 分 31 秒
Install date: 2004 年 11 月 03 日 17 時 33 分 37 秒
Build Host: pumpkin
Group
: Applications/Internet
Source RPM: gaim-0.80-0vl4.src.rpm
Size
: 36458441
License: GPL
Packager
: IKEDA Katsumi <[email protected]>
URL
: http://gaim.sourceforge.net/
Summary
: マルチプロトコル対応のインスタントメッセンジャー
Description :
gaim は複数のプロトコルに対応したインスタントメッセンジャーです。
AIM (Oscar, TOC プロトコル)、ICQ、MSN Messenger、Yahoo Messenger、
IRC、Jabber、Gadu-Gadu、Zephyr に対応しています。
[root@localhost plus]#
図 20.3
✆
rpm コマンド実行例 (3) パッケージ情報の参照
■ アンインストール
インストールしたパッケージをアンインストールするには、-e オプションを使用しま
す。通常は以下のようにパッケージ名のみ指定しますが、重複するパッケージの場合は
バージョンとリリース番号まで指定します。また、パッケージ間の依存関係が崩れる場合
はアンインストールできません。
rpm -e パッケージ名 [パッケージ名…]
図 20.4 は、nmap を削除した例です。
280
第 20 章 パッケージ管理
✞
✝
[root@localhost root]# rpm -e nmap
図 20.4
20.1.4
✆
rpm コマンド実行例 (4) アンインストール
パッケージの再構築 (rebuild)
先に述べたように、他のディストリビューションのパッケージが、そのまま Vine Linux
で使用できることは稀です。しかし、ソースパッケージからパッケージを作成 (= 再構築)
すれば、使用できることもあります (この場合、後述の開発用パッケージをインストール
しておかねばならないことがあります)。
ソースパッケージを入手したら、以下のように再構築します。
rpm --rebuild ソースパッケージファイル
再構築は、その作りにより一般ユーザで行えるものもあります。再構築されたパッケー
ジファイルは、/usr/src/vine/RPMS/i386 や~/rpm/RPMS/i386 以下に置かれます。
20.2
apt
ここでは、rpm を容易に使用することができる、apt(Advanced Package Tool) につ
いて説明します。
20.2.1
rpm と apt
rpm を使用すれば、パッケージ管理は行えます。しかし、必要なパッケージファイルを
予めダウンロードしておいたり、依存関係を解決する必要があり、やや面倒な部分があり
ます。こういった手間を低減する等の目的で、apt というツールが存在します。
apt を使用すると、例えばパッケージファイルのダウンロードからインストールまで
*4 また、依存関係を解決するために必要なパッケージファ
を、自動的に行ってくれます。
イルも探し出してダウンロードし、同時にインストールしてくれます。つまり、apt は
rpm の上位に位置するもので、より優れたユーザインターフェイスを提供するものです。
rpm を置換するものではありません。ですから、普段は apt のみを使用すれば、殆どの
場合は間に合います。ただし、インターネットに接続し、外部の ftp や web サイトと通
信できる必要はあります。
*4
CD-ROM のパッケージ情報を登録して、その CD-ROM からインストールする方法もありますが、あ
まり便利ではないので説明は割愛します。
20.2 apt
20.2.2
281
apt の使用方法
apt は、予め設定ファイル /etc/apt/sources.list に登録された ftp や Web サイ
トが持つパッケージの情報 (パッケージリスト) を取得し、それを基にインストール等の
動作をします。最初から/etc/apt/sources.list は設定されているので、特に編集す
る必要はありません。
■ 基本操作
apt にはいくつかのコマンドがありますが、主にパッケージのインストールお行う
apt-get とパッケージの情報を表示する apt-cache を使用します。使用方法は、各々以
下の通りです。
usage: apt-get [オプション] コマンド [パッケージ…]
usage: apt-cache [オプション] コマンド [パッケージ…]
どちらのコマンドも、内部コマンドを指定する必要がありますが、オプションについて
はあまり使用しないでしょう。オプションについては、apt-get -h を実行すれば日本語
でヘルプメッセージが表示されます。
それでは具体的な使用方法について説明していきます。
■ パッケージリストの更新
インストールや updates を適用する前に、パッケージリストを更新する必要がありま
す。パッケージリストは、どの ftp/web サイトにどのようなパッケージが存在するかが
記録されていて、通常は最も新しいパッケージを使用します。ですから、パッケージリス
トを更新しないと実際に存在するパッケージと不整合を起こし、取得しようとしたパッ
ケージが存在しないと行ったこともありえるわけです。
パッケージリストの更新は、以下のように行います。
apt-get update
図 20.5 は、http://updates.vinelinux.org/ からパッケージリストを取得した例
です。
282
第 20 章 パッケージ管理
✞
✝
[root@localhost root]# apt-get update
取得:1 http://updates.vinelinux.org 3.2/i386 release [2529B]
2529B を 0s 秒で取得しました (5043B/s)
ヒット http://updates.vinelinux.org 3.2/i386/main pkglist
ヒット http://updates.vinelinux.org 3.2/i386/main release
:
取得:5 http://updates.vinelinux.org 3.2/i386/updates srclist [9236B]
694kB を 2s 秒で取得しました (265kB/s)
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
[root@localhost root]#
図 20.5
✆
apt-get コマンド実行例 (1) パッケージリスト更新
■ updates の適用
Vine Linux では、セキュリティホール (安全上の問題点) や致命的な不具合が発見さ
れた場合、それらを修正した updates というパッケージを発行します。これらは、Vine
Linx の Web ページに告知され、ftp/web サイトに置かれますので、ダウンロードして
rpm コマンドでインストールすれば良い訳です。しかし、適用するパッケージをいちい
ち調べたりと面倒です。この様な場合、一律に以下の upgrade コマンドを実行するだけ
で、インストール済のパッケージ用の updates が発行されていれば自動的に更新してく
れます。
apt-get upgrade
少しややこしいのですが、updates が更新されたパッケージの名称で、先に説明した
apt-get の update コマンドとは別のものです。この updates を適用するのに apt-get
の upgrade コマンドを使用します。
apt-get upgrade を実行し、適用するパッケージがあれば、図 20.6 の例のように確
✄
認してきますので、Y であれば ✂Enter ✁を入力して更新作業を続行します。
20.2 apt
283
✞
[root@localhost root]# apt-get upgrade
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下のパッケージがアップグレードされます:
indexhtml sharutils
以下のパッケージは保留されます:
kernel-doc kernel-headers
アップグレード: 2 個, 新規インストール: 0 個, 削除: 0 個, 保留: 2 個
6843kB のアーカイブを取得する必要があります。
展開後に 3981kB が解放されます。
続行しますか? [Y/n]
取得:1 http://updates.vinelinux.org 3.2/i386/updates sharutils4.2.1_jp-1.6.
1vl4 [99.8kB]
取得:2 http://updates.vinelinux.org 3.2/i386/updates indexhtml 3.0-0vl1 [6
743kB]
6843kB を 22s 秒で取得しました (300kB/s)
変更を適用しています...
Preparing...
########################################### [100%]
1:sharutils
########################################### [ 50%]
2:indexhtml
########################################### [100%]
完了
✝
[root@localhost root]#
図 20.6
✆
apt-get コマンド実行例 (2) updates の適用 (upgrade)
悩むのは、いつ updates を適用するかですが、決められた方法は存在しないでしょ
う。例えば、Vine Linux の Web ページにある “更新/障害/セキュリティ (http://
vinelinux.org/errata/3x/i386.html)” をチェックして該当するパッケージが存在し
たら適用したり、週一回等定期的に apt-get upgrade を実行する等の方法が考えられま
す。後者の場合、
apt-get update && apt-get upgrade
のようにセットで実行しても良いでしょう。&& は、それよりも前のコマンド (apt-get
update) が正常に実行されたら、それより後のコマンド (apt-get upgrade) を実行し
ます。
■ パッケージの検索
apt を使用してパッケージをインストールしようにも、どのようなパッケージが利
用できるのかが判らなくては、インストールすることができません。このような場合、
284
第 20 章 パッケージ管理
apt-cache コマンドでパッケージを検索したり、情報を表示することができます。
パッケージを検索するには、以下のようにコマンドを実行します。キーワードにはパッ
ケージ名やパッケージ説明の一部を指定します。
apt-cache search キーワード
図 20.7 の実行例のように、キーワードには日本語を使用することもできます。検索が
ヒットすると、“パッケージ名 - 説明” のように表示されます。
✞
✝
[root@localhost root]# apt-cache search オフィス
openoffice.org - OpenOffice.org オフィススイート
openoffice.org-i18n - OpenOffice.org 国際化対応パッケージ
openoffice.org-libs - OpenOffice.org 共有ライブラリ
[root@localhost root]#
図 20.7
✆
apt-cache コマンド実行例 (1) パッケージ検索
さらに検索にヒットしたパッケージの詳細が見たければ、
apt-cache show パッケージ名
のように show コマンドを使用します。
■ インストール
インストールしたいパッケージが見付かったら、以下のようにインストールを行います。
apt-get install パッケージ名 [パッケージ名 …]
これでダウンロードからインストールまでを、自動的に行ってくれます。もし、指定し
たパッケージが動作するために他のパッケージが必要なら、それらも併せてダウンロード
してインストールしてくれます。
図 20.8 の実行例は、パッケージ WindowMaker をインストールしたところですが、
WindowMaker-Icons と WindowMaker-libs のパッケージも自動的にインストールされ
ているのが判ります。
■ バーチャルパッケージ
先頭に task- が付くパッケージがあります。これはバーチャルパッケージ (Virtual
Package) と言って、複数のパッケージを必要とするソフトウェアをインストールするた
めのものです。例えばパッケージ task-xfce は、XFce というデスクトップ環境をイン
ストールするための、バーチャルパッケージです。
もし検索してもバーチャルパッケージが見付からないときは、設定ファイル/etc/apt/
sources.list の 10 行目の終わりに、空白文字で区切って task を追加して下さい。
20.2 apt
285
✞
[root@localhost root]# apt-get install WindowMaker
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下の追加パッケージがインストールされます:
WindowMaker-Icons WindowMaker-libs
以下のパッケージが新たにインストールされます:
WindowMaker WindowMaker-Icons WindowMaker-libs
アップグレード: 0 個, 新規インストール: 3 個, 削除: 0 個, 保留: 10 個
2601kB のアーカイブを取得する必要があります。
展開後に 5783kB のディスク容量が追加消費されます。
続行しますか? [Y/n]
取得:1 http://updates.vinelinux.org 3.2/i386/plus WindowMaker-libs 0.80.2-0
vl3 [95.8kB]
取得:2 http://updates.vinelinux.org 3.2/i386/plus WindowMaker-Icons 2.0-0vl
4 [707kB]
取得:3 http://updates.vinelinux.org 3.2/i386/plus WindowMaker 0.80.2-0vl3 [
1798kB]
2601kB を 8s 秒で取得しました (316kB/s)
変更を適用しています...
Preparing...
########################################### [100%]
1:WindowMaker-libs
########################################### [ 33%]
2:WindowMaker-Icons
########################################### [ 66%]
3:WindowMaker
########################################### [100%]
完了
✝
[root@localhost root]#
図 20.8
✆
apt-get コマンド実行例 (3) パッケージのインストール
■ アンインストール
apt-get コマンドを使用して、アンインストールすることもできます。以下のように
remove コマンドを使用します。基本的に rpm -e と似ていますが、emacs のように削除
すると替わりとなるパッケージをインストールすることもあります。
apt-get remove パッケージ名
■ ダウンロードパッケージの削除
apt-get コマンドを実行すると、/var/cache/apt/archives 以下にダウンロードし
たパッケージが格納されます。よって、繰り返し実行すると HDD の容量を消費し続けま
286
第 20 章 パッケージ管理
す。このため、適当な間隔でキャッシュを削除する必要があります。このためには、以下
のコマンドを実行します。
apt-get clean
■ 開発用パッケージのインストール
パッケージを再構築したりソフトウェアを開発するには、パッケージ名に-devel がつ
く開発パッケージ等をインストールしなければならないことがあります。しかし、Vine
Linux では CD-ROM の容量の関係から最低限の開発パッケージしか収録されていな
いため、多くは OS インストール後にネットワーク等からインストールする必要があり
ます。
特定のパッケージを再構築する場合は、以下のように実行すれば自動的に必要なものを
インストールしてくれます。
apt-get build-dep パッケージ名
また、現在のインストール済パッケージ用の開発パッケージをまとめてインストールす
るには、以下のように実行します。なおインストールには、HDD に 400MB 程度の空き
領域が必要です。
apt-get script install-devel.lua
■ synaptic の使用
参考に X Window System 上から apt を使用する方法を紹介しておきます。これには
synaptic を使用します。起動は、GNOME のパネルから、“アプリケーション→システ
ム・ツール→ Synaptic パッケージマネージャ” か、ターミナルから 図 20.9 のように実
行します。
✞
✝
[root@localhost root]# synaptic
図 20.9
✆
synaptic の起動
起動すると図 20.10 のウィンドウが表示されます。使用方法の詳細は割愛しますが、コ
マンドラインから apt 関連のコマンドが使用できれば理解できるでしょう。
20.2 apt
287
図 20.10
20.2.3
synaptic 画面
カーネルの更新
一般的なパッケージは apt-get upgrade で更新してくれますが、カーネルのパッケー
ジはインストールされるものの、再起動するだけでは使用できません。ブートローダの設
定作業を apt-get upgrade 実行後に行う必要があります。なお、カーネルパッケージ
は i386, Pentium, Pentium Pro/II/III/4 の各アーキテクチャ用があります。これらは
apt-get upgrade 実行時に、使用する PC に応じて自動的に選択されるので、どれを使
用するかをユーザが意識する必要はありません。
具体的なカーネルの更新は、以下の手順で行います。
1. 更新されたカーネルのインストール
apt-get upgrade を実行すると、更新されたカーネルがインストールされます。
このとき、新しいカーネルのバージョンを覚えておくか、インストール後に rpm
-q kernel を実行して新しいバージョンを確認して下さい。
カーネルのパッケージは、以下のように命名されています。
• シングルプロセッサ
kernel-バージョン-リリース番号
• マルチプロセッサ
kernel-smp-バージョン-リリース番号
2. RAM ディスクの作成
288
第 20 章 パッケージ管理
mkinitrd コマンドで Initial Ramdisk を作成します。Initial Ramdisk には
カーネルモジュール等が収められていて、カーネルが OS 起動時に使用します。こ
れは SCSI 接続の HDD から起動する場合には、必ず必要になります。
作成するには以下のコマンドを実行しますが、シングルプロセッサとマルチプロ
セッサや HT 機能搭載 CPU とでは若干異なります。
• シングルプロセッサ
mkinitrd /boot/initrd-バージョン-リリース番号.img バージョン-リ
リース番号
• マルチプロセッサ
mkinitrd /boot/initrd-バージョン-リリース番号 smp.img バージョ
ン-リリース番号 smp
3. /etc/lilo.conf の修正
ブートローダの設定ファイル /etc/lilo.conf を修正します。この例は、カー
ネル 2.4.31-0vl1.8 からバージョンアップした場合です。
シングルプロセッサの場合は、リスト 20.1 の部分を リスト 20.2 のように修正
します。HDD のスペシャルファイルに関しては、インストールした PC により異
なります。ここでは、旧カーネルでも起動するように設定しています。
リスト 20.1: 修正前 (シングルプロセッサ)
image=/boot/vmlinuz-2.4.31-0vl1.8
label=linux
initrd=/boot/initrd-2.4.31-0vl1.8.img
read-only
root=/dev/hda2
append=" resume2=swap:/dev/hda3"
リスト 20.2: 修正後 (シングルプロセッサ)
image=/boot/vmlinuz-バージョン-リリース番号
label=linux
initrd=/boot/initrd-バージョン-リリース番号.img
read-only
root=/dev/hda2
append=" resume2=swap:/dev/hda3"
image=/boot/vmlinuz-2.4.31-0vl1.8
label=old
initrd=/boot/initrd-2.4.31-0vl1.8.img
read-only
root=/dev/hda2
append=" resume2=swap:/dev/hda3"
20.2 apt
289
マルチプロセッサや HT 機能搭載 CPU の場合は、リスト 20.3 の部分をリスト
20.4 のように修正します。
リスト 20.3: 修正前 (マルチプロセッサ・HT 機能搭載 CPU)
image=/boot/vmlinuz-2.4.31-0vl1.8smp
label=linux
initrd=/boot/initrd-2.4.31-0vl1.8smp.img
read-only
root=/dev/hda2
append=" resume2=swap:/dev/hda9"
image=/boot/vmlinuz-2.4.31-0vl1.8
label=linux-up
initrd=/boot/initrd-2.4.31-0vl1.8.img
read-only
root=/dev/hda2
append=" resume2=swap:/dev/hda9"
リスト 20.4: 修正後 (マルチプロセッサ・HT 機能搭載 CPU)
image=/boot/vmlinuz-バージョン-リリース番号 smp
label=linux
initrd=/boot/initrd-バージョン-リリース番号 smp.img
read-only
root=/dev/hda2
append=" resume2=swap:/dev/hda9"
image=/boot/vmlinuz-バージョン-リリース番号
label=linux-up
initrd=/boot/initrd-バージョン-リリース番号.img
read-only
root=/dev/hda2
append=" resume2=swap:/dev/hda9"
image=/boot/vmlinuz-2.4.31-0vl1.8smp
label=old
initrd=/boot/initrd-2.4.31-0vl1.8smp.img
read-only
root=/dev/hda2
append=" resume2=swap:/dev/hda9"
image=/boot/vmlinuz-2.4.31-0vl1.8
label=old-up
initrd=/boot/initrd-2.4.31-0vl1.8.img
read-only
root=/dev/hda2
290
第 20 章 パッケージ管理
append=" resume2=swap:/dev/hda9"
4. lilo の実行
最後に lilo コマンドを実行して、/etc/lilo.conf の変更を反映させます。
後は再起動すれば、新しいカーネルで起動します。以下の実行例はシングルプロ
セッサの例で、マルチプロセッサや HT 搭載 CPU の場合は、Added linux-up
や Added old-up も表示されます。
old や old-up で古いカーネルを使用しないのであれば、再起動後に旧カーネル
を削除して構いません。
✞
✝
[root@localhost root]# lilo
Added linux *
Added old
Added windows
[root@localhost root]#
✆
第 VIII 部
付録
293
付録 A
色々な GUI 環境
10.1.1 章で述べたように、Vine Linux ではいくつかの GUI 環境を使用することがで
きます。その中から、Window Maker、KDE、XFce について説明します。
A.1
GUI の切替
gdm のセッションから切替ができる他、シェルのプロンプトから setwm コマンドでも
切替えることができます。引数に GUI 名を与えます。どのような GUI 名が使用できる
かは、setwm コマンドを引数無しで実行すると表示されます (図 A.1)。
✞
✝
[hane@localhost hane]$ setwm
Usage:
setwm <option>
option:
status
gnome
kde
xfce
WindowMaker
[hane@localhost hane]$ setwm WindowMaker
OK, restart X to move to WindowMaker
[hane@localhost hane]$
図 A.1 setwm コマンドによる GUI の切替
✆
294
A.2
付録 A
色々な GUI 環境
Window Maker
Window Maker は、NeXT 風のウィンドウマネージャです。ドック (dock) というシ
ステムにより、良く使用するアプリケーション等を登録することができます。
■ インストール
apt-get update && apt-get install WindowMaker を実行して下さい。
■ サンプル画面
起動すると、図 A.2 のような画面になります。右端に縦に並ぶのがドックアイコンで
す。これらをダブルクリックすると、ソフトウェアが起動します。また、ルートウィンド
✄
ウで右ボタンクリックをすると開くメニューを使用することもできます。また、 ✂Alt ✁+
✄
✄
✂F1 ✁ ∼ ✂F? ✁ で仮想画面を切替えることもできます。
図 A.2
Window Maker のサンプル画面
A.3 KDE
A.3
295
KDE
KDE は、Windows 風のデスクトップ環境です。Windows と同じ様に操作することが
できます。
■ インストール
設定ファイル /etc/apt/sources.list の 10、11 行目 (各々 rpm [vine] … と
rpm-src [vine] … から始まる行) の最後に、空白で区切って extras のキーワードを
追加してから、apt-get update && apt-get install task-kde を実行して下さい。
■ サンプル画面
起動すると、図 A.3 のような画面になります。最下部にあるのが Windows でいうと
ころのタスクメニューです。 Windows と同様、左下にある K のマークが入ったアイコ
ンをクリックすると、ソフトウェア等を起動するメニューが開きます。
図 A.3 KDE のサンプル画面
296
A.4
付録 A
色々な GUI 環境
XFce
XFce は、UNIX で使用される CDE に似たデスクトップ環境です。特徴は動作が軽い
点です。CPU パワーが余りない場合でも、比較的快適に使用することができます。
■ インストール
apt-get update && apt-get install task-xfce を実行して下さい。
■ サンプル画面
起動すると、図 A.4 のような画面になります。最下部にあるのがソフトウェアの起動
等を行うランチャーです。仮想画面を実現するレーダーのようなものもあります。
図 A.4 XFce のサンプル画面
297
付録 B
OpenOffice.org
Windows や Macintosh では、ワードプロセッサや表計算ソフトウェア等が収録され
た統合オフィススイートが良く使用されます。Vine Linux では、OpenOffice.org という
統合オフィススイートを使用することができます。ここでは、これらの概要について説明
します。
B.1
概要とインストール方法
まず最初に、概要とインストール方法について説明します。
■ OpenOffice.org とは
OpenOffice.org は、ワードプロセッサ、表計算ツール、図形描画ツール、プレゼンテー
ションツールの四つから構成されています。使用方法については、Windows 等で使用さ
れるものと殆ど変わりません。また、完全ではないものの、マイクロソフトの Word や
Excel のファイルを読み込むことができます。ただし、フォントの違いから、日本語が表
✄
✄
示されないことがあります。このような場合、 ✂Ctrl ✁+ ✂A ✁ で全て選んだ後で、Sazanami
Mincho 等のフォントに置換して下さい。
■ インストール
apt-get update && apt-get install openoffice.org を実行して下さい。
298
B.2
付録 B OpenOffice.org
ワードプロセッサ
ワードプロセッサです。GNOME のパネルから “アプリケーション→オフィス→ワー
ドプロセッサ” で起動します。
一般的なワードプロセッサですが、起動直後のフォントが欧文フォントとなっていた
り、サイズが 12 ポイントとなっている場合があるので、これらを変更してから使用した
方が良いかも知れません。また、Word のファイルを読み込んだ場合は、名前をつけて保
存 (A) で OpenOffice.org の形式で保存した方が良いでしょう。これは、他でも同じです。
図 B.1 ワードプロセッサのサンプル画面
B.3 表計算ツール
B.3
299
表計算ツール
表計算ソフトウェアです。GNOME のパネルから “アプリケーション→オフィス→表
計算ツール” で起動します。
一般的な表計算ソフトウェアですが、ワードプロセッサ同様、フォントの問題が発生す
ることがあります。Excel のファイルを読み込んだ場合は、グラフ等のデザインが異なる
ことがあります。
図 B.2 表計算ツールのサンプル画面
300
B.4
付録 B OpenOffice.org
図形描画ツール
Draw 系の図形描画ソフトウェアです。GNOME のパネルから “アプリケーション→
オフィス→図形描画ツール” で起動します。
チャートや流れ図を書くのに適しています。左端から選択した部品をドラッグして配置
し、それらを組み合わせて描画していきます。
図 B.3 図形描画ツールのサンプル画面
B.5 プレゼンテーションツール
B.5
301
プレゼンテーションツール
プレゼンテーションソフトウェアです。GNOME のパネルから “アプリケーション→
オフィス→プレゼンテーションツール” で起動します。
プロジェクタや OHP で、プレゼンテーションを行う際に使用する資料の作成に適して
います。描画方法は図形描画ツールと似ていますが、背景等に使用する画像等が用意され
ています。これ等を使用すると、比較的容易に見栄えのする資料を作成することが可能
です。
図 B.4 プレゼンテーションツールのサンプル画面
303
付録 C
Tips
Vine Linux 使用時のポイントを、Tips(ヒント) 集としてまとめました。
C.1
コンソールにおける日本語入力
通常、X Window System 上ので日本語入力はサポートされますが、コンソール上では
サポートされません。コンソール上で日本語を入力するするには、コンソール上で動作す
るクライアントが必要になります。このクライアントは日本語入力システムにより異なり
ますが、ここでは Canna を使用して日本語を入力する方法を説明します。日本語入力シ
ステムによっては、コンソール上で入力できないこともあります。
■ 設定
Canna を使用してコンソール上で日本語入力を行うには、canuum というクライアント
を使用します。canuum を起動後に日本語入力モードに移行すると日本語を入力すること
✄
✄
✄
✄
ができますが、日本語モードに移行するためのキー操作である ✂Ctrl ✁+ ✂o ✁ はデフォルト
*1
で使用できないようになっています。
このため、まず最初に設定ファイル ~/.canna を修正して、 ✂Ctrl ✁+ ✂o ✁ を利用できる
ようにします。具体的には~/.canna の最終行にある
(global-unbind-key-function ’japanese-mode)
の行を
;(global-unbind-key-function ’japanese-mode)
のように行頭に ;(セミコロン) を挿入してコメントアウトします。
また、予めコンソールで日本語を表示できるようにしておくのは、言うまでもありま
せん。
*1
恐らく gnome-terminal 等の日本語入力モードへの移行操作を、一本化しかたったのでしょう。
304
付録 C
Tips
■ 使用方法
設定が終わったら、canuum を起動します。起動時には -Uu オプションで、漢字コード
✄
✄
に EUC の使用を指定します (図 C.1)。起動後の日本語入力は、✂Ctrl ✁+ ✂o ✁ で日本語入力
モードに移行して行います。変換時のキー操作は、10.3.2 章の説明と同様です。
✞
[hane@localhost hane]$ canuum -Uu
canuum (かな漢字変換フロントエンドプロセッサ)
[hane@localhost hane]$
✝
かんな
✆
図 C.1 canuum の起動
✄
✄
起動後の日本語入力は、 ✂Ctrl ✁+ ✂o ✁ で日本語入力モードに移行して行います。変換時
のキー操作は、10.3.2 章の説明と同様です。
なお、canuum を起動すると、最下行は canuum の状態表示に使用されるようになりま
す。例えば日本語入力モードでは [ あ ]、変換時には変換候補が表示されます。
C.2
サウンドカードの使用
Vine Linux をインストールした PC にサウンドカードが備わっていて、自動認識され
たものに関しては、設定ファイル /etc/modules.conf に必要な設定が記述されます。し
かし、自動認識されないものや、自動認識されても上手く音が出ないものが存在します。
そのような場合、カーネル標準以外の ALSA(Advanced Linux Sound Architecture) と
いうドライバを使用すると使用できることがあります。
■ パッケージの構築とインストール
ALSA を使用するには、カーネルに合わせて ALSA を構成するパッケージ群を構築 (ビ
ルド) した後、インストールする必要があります。これらは、次の手順で行います (パッ
ケージの構築はユーザで行えますが、構築とインストールが交互に必要になるので、繁雑
さを避けるためスーパユーザで行っています)。
1. 必要なパッケージのインストール
ま ず 、ALSA を 構 築 す る た め に 必 要 な パ ッ ケ ー ジ (kernel-source、
ncurses-devel) と 、ALSA の ソ ー ス パ ッ ケ ー ジ (alsa-driver、alsa-lib、
alsa-utils) をインストールします。
C.2 サウンドカードの使用
✞
305
[root@localhost root]$ apt-get install kernel-source ncurses-devel
中略
✝
[root@localhost root]$ apt-get source alsa-driver alsa-lib alsa-utils
✆
2. パッケージの構築とインストール
次に、ALSA パッケージの構築とインストールを行います。依存関係の関係で、
alsa-driver と alsa-lib を構築してインストール後に、alsa-utils を構築し
てインストールします。
✞
[root@localhost root]$ rpm --rebuild alsa-driver-1.0.5a-0vl2.src.rpm
中略
[root@localhost root]$ rpm --rebuild alsa-lib-1.0.5-0vl1.src.rpm
中略
[root@localhost root]$ rpm -Uvh /root/rpm/RPMS/i386/alsa-driver-1.0.5a
-0vl2.i386.rpm /root/rpm/RPMS/i386/alsa-lib-1.0.5-0vl1.i386.rpm
中略
[root@localhost root]$ rpm --rebuild alsa-utils-1.0.5-0vl1.src.rpm
中略
✝
[root@localhost root]$ rpm -Uvh /root/rpm/RPMS/i386/alsa-utils-1.0.5-0
vl1.i386.rpm
✆
■ /etc/modules.conf の修正
もし設定ファイル /etc/modules.conf に、インストーラが設定したサウンドカード
の記述 (図 C.2 のような部分) がある場合は、それらの行頭に # を挿入してコメントアウ
トしておきます。
✞
✝
alias sound-slot-0 es1371
post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null
2>&1 || :
pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2
>&1 || :
✆
図 C.2 コメントアウト部分
修正後、必要であれば既存のサンドカード用ドライバを rmmod コマンドでアンロード
しておく必要があります。ただ、初心者の場合どれが該当するドライバか判断できないか
も知れません。この場合は、Linux を再起動するのもやむを得ないでしょう。
306
付録 C
Tips
■ ALSA の設定
最後に ALSA の設定を行います。設定には、ALSA で用意されている alsaconf とい
うツールを使用します。このツールは mouseconfig 等と同様にメニューからの対話形式
で設定を行います。
alsaconf はスーパユーザの権限で、図 C.3 のように起動します。起動するとメニュー
が開くで、後はカード名等を選択していきます (図 C.4)。
✞
✝
[root@localhost root]$ alsaconf
✆
図 C.3 alsaconf の起動
図 C.4 alsaconf 起動画面
以上で設定ファイル /etc/modules.conf に必要なモジュール関連の設定が記述され
ます。これで xmms 等を使用することが可能となります。
C.3
TEX の使用
Vine Linux における日本語の TEX 環境は、数あるディストリビューションの中でも
非常に優れたものとなっています。しかし、CD-ROM の容量の関係から、TEX 関連パッ
ケージのうち主なパッケージが収録されています。
C.4 ソースコードからのインストール
307
よって未収録のパッケージをインストールする場合や、TEX パッケージを後からイン
ストールする場合には、以下のコマンドを実行して下さい。
apt-get install task-tetex
ソースコードからのインストール
C.4
Vine Linux 等の rpm を採用したディストリビューションでは、rpm パッケージでソ
フトウェアをインストールするのが基本です。しかし、なんらかの理由により、ソース
コード*2 からコンパイル*3 してインストールする必要性も出てきます。
勿論 rpm パッケージを自前で作成しても良いのですし、そちらの方が推奨できるので
すが、作成するにしてもソースコードからインストールする方法を知らなくてはなりませ
ん。そこで、ソースコードからインストールする方法を、簡単に説明します。
■ インストールの手順
ソースコードからソフトウェアをインストールするには以下の手順で行いますが、事前
に開発用 (rpm) パッケージをインストールしておく必要があるかも知れません (20.2.2 章
参照)。
1. ソースコードのダウンロード
インストールしたいソフトウェアのソースコードを、ftp サイト等からダウン
ロードします。多くの場合ソースコードは、tar + gzip や、tar + bzip2 でアー
カイブが作成されているので、“ソフトウェア名-バージョン.tar.gz” 等のファイ
ル名で配付されています。
インストール以外は一般ユーザで行えるので、ダウンロードするファイルはホー
ムディレクトリ以下に置けば良いでしょう。この時、src 等のディレクトリを作成
し、そこに置くのも良いでしょう。
またソースコード以外に、パッチが必要になることがあります。パッチとは、
ソースコード間の差分を抽出したものです。例えばソース A とソース B の差分を
取り、パッチ C を作成したとします。この時、patch コマンドを使用してソース
A にパッチ C を適用すると、ソース B を得ることができます。このことを利用
すると、ソースコードのバージョンアップや追加機能等、色々なことに可能となり
ます。
2. ソースコードの展開
*2
*3
プログラミング言語の仕様に従い、動作 (命令) を記述したもの。
ソースコードをコンピュータが実行可能な形式に変換すること。
308
付録 C
Tips
tar コマンドを使用し、ダウンロードしたファイルを展開します。この時、“ソ
フトウェア名-バージョン” というディレクトリを作成して、その中に (収録した)
ファイルを置かれる場合と、カレントディレクトリにファイルが置かれる場合があ
ります。よって展開する前に、tar ztvf 等でアーカイブの中身を確認したほうが
安全です。
展開後、必要であればパッチを適用します。
3. コンパイルの設定
展開したファイルの中に、INSTALL や README といったドキュメントがあり
ますので、これを読んでコンパイルの設定を行います。コンパイルの設定は、
Makefile ファイル等を生成します。*4 最近の主流は、(ソースコードに同梱され
る) configure コマンドを使用して設定を行う方法ですが、xmkmf コマンドを使用
したり、全て手動で行うこともあります。configure コマンドを実行してエラー
が発生する場合、前述の開発用パッケージが足りないのかも知れません。
ここで特に重要なのは、インストールする場所です。rpm パッケージとの干渉
を避けるために、ホームディレクトリや /usr/local 以外へのインストールは避
けた方が無難です。
4. コンパイル
ドキュメントに従い、コンパイルします。make コマンドを実行するだけで済
む場合や、make depend 等引数を与える場合があります。コンパイル中は様々な
メッセージが表示されますが、エラーが発生するとコンパイルが中断されるのでエ
ラーメッセージを確認します。
5. インストール
インストールは、コンパイルしてできた実行ファイルや関連するファイルを設
定した場所にコピーします (必要であれば属性や所有者も変更します)。このとき、
ディレクトリ /usr/local 以下にインストールする場合は、スーパユーザになる
必要があります。
6. 動作設定
インストールしたソフトウェアは、すぐに実行できるものと、事前にホームディ
レクトリにドットファイル等を作成して設定を必要とするものがあります。Vine
Linux では、多くのドットファイルが用意されているので気にしないことが多いの
ですが、本来これらはユーザが用意するものです。設定ファイルは、何もない状態
からエディタ等で作成する場合と、雛型を利用できる場合とがあります。
また、環境変数 PATH に、実行ファイルをコピーしたディレクトリが存在する
かもチェックしておきます。存在しない場合は、予め追加しておきます (8.4.1 章
*4
Makefile は、コンパイルのルールや手順が記述されたファイルです。
C.4 ソースコードからのインストール
309
参照)
■ インストール例
それでは、xpenguins を例に実際のインストールを紹介します。これは X Window
System 上で動作する、画面上をペンギンが歩きまわるソフトウェアです。事前に開発用
(rpm) パッケージをインストールしておく必要があります。
なお、xpenguins は rpm パッケージも用意されているので、事前にアンインストール
しておかないと、以下と同様になりません (rpm パッケージのものが実行されるかもしれ
ません)。
1. ソ ー ス コ ー ド を ダ ウ ン ロ ー ド し ま す 。ソ ー ス コ ー ド の フ ァ イ ル 名 は 、
xpenguins-2.2.tar.gz 等 と な っ て い ま す 。ftp サ イ ト は 示 し ま せ ん が 、
Google 等で検索すれば見付かる筈です。ここでは、~/src ディレクトリ以下に
ソースコードがあるものとします。
2. ソースコードを展開し、作成されたディレクトリに移動します。
✞
[hane@localhost src]$ tar zxf xpenguins-2.2.tar.gz
✝
[hane@localhost src]$ cd xpenguins-2.2
[hane@localhost xpenguins-2.2]$
✆
3. コンパイルの設定をしますが、configure コマンドの--prefix オプションで、ディ
レクトリ /usr/local にインストールすることを指定します。
✞
[hane@localhost xpenguins-2.2]$ ./configure --prefix=/usr/local
✝
以下略
4. コンパイルします。これは単に make コマンドを実行します。
✞
✆
[hane@localhost xpenguins-2.2]$ make
✝
以下略
✆
5. ス ー パ ユ ー ザ に な り 、イ ン ス ト ー ル し ま す 。こ れ に は make コ マ ン ド に
install の引数を与えて実行します。もしインストール先に不安がある時は、
make -n install とすれば実際にインストールはされません。
310
付録 C
✞
Tips
[hane@localhost xpenguins-2.2]$ su
Password:
[root@localhost xpenguins-2.2]# make install
✝
以下略
✆
6. 一般ユーザに戻り、環境変数 PATH に /usr/local を追加します。これには、エ
ディタで ~/.bashrc の終わりに export PATH=$PATH:/usr/local/bin の一行
を追加し、以下のように再度読み込ませます。
✞
✝
[hane@localhost hane]$ . ~/.bashrc
✆
7. 最後に xpenguins を実行して、ペンギン (図 C.5) が画面中を歩き (?) 回ればイン
ストールは成功です。
✞
✝
[hane@localhost hane]$ xpenguins
図 C.5
xpenguins のペンギン君
✆
311
付録 D
わからなくなったら
本書は、初めての方にもなるべくわかりやすいように書いています。しかし、全てにつ
いて解説しているわけではないので、Linux を使っていくと何等かの疑問点に出会した
り、上手く行かない操作等が出てくるでしょう。このような場合に、どのように対処すれ
ば良いのかを、一つの目安としてまとめてみました。
D.1
質問する前に
疑問点が出てきたりつまずいたりすると、誰かに頼りたくなるものです。しかし、Linux
は自分で使いこなさなければ上達しない OS と言えます。ですから、誰かに質問をするま
えに、できるだけ自分自身で解決する努力を心がけて下さい。そこで “うまく行かなかっ
た” 場合に “どのように解決すればよいか” を示しておきます。
■ マニュアルやドキュメントで確認
設定がうまく行かなかった場合等には、マニュアルや HOWTO 等の各種ドキュメント
等で似たような事例が紹介されていないか、ポイントとなる事柄について述べられていな
いか確かめて見ましょう。以外と近くにヒントは潜んでいるものです。Vine Linux では、
収録されたドキュメントを検索するために、tknamazu というソフトウェアが収録されて
います。これは、X Window System 上のアプリケーションなので、gnome-terminal 等
のターミナルか、GNOME のメニューから “アプリケーション→ Vine Linux メニュー→
日本語全文検索 (tknamazu)” として起動します。
最近では Web の検索エンジンも利用できますから、これも非常に役に立ちます。一度
*1
の検索でヒットしない場合でも、検索のキーワードを変えながら検索してみて下さい。
ただし、これらを使用するにしても極端な深追いは禁物です。初めて設定する場合など
には、自分で調べられる範囲も限られてしまいます。これは、基礎知識の量によるもので
*1
キーワードは、単語レベルで 2,3 個を与えると比較的ヒットしやすいでしょう。
312
付録 D わからなくなったら
す。ですから、ある程度調べてヒントすら見つからないような状況であれば、第三者に質
問することになります。つまり、どの時点で見切りをつけるかも重要なのです。
■ 分からなくなったら最初から
途中で良く分からなくなってしまったら、あちこちに手を出すよりも最初からやり直し
た方がかえって早く進む場合もあります。この時、最初から簡単にやり直せるよう、7 章
で述べたように設定ファイル等はバックアップを作成しておくと良いでしょう。
■ Windows での動作確認
時々 “Windows では問題ありません。” というのを見掛けますが、これは殆どの場合
は関係ありません。Linux で Windows のドライバを利用している分けではないからで
す。唯一確認できるのは、ハードウェアの故障程度です。ですから、トラブルシューティ
ングを行う時は、あまり Windows のことは気にする必要はありません。
D.2
質問の仕方
自分で調べても判らなければ、第三者に質問することになります。しかし、質問をする
にしても、暗黙のルールのようなものが存在します。また、質問をする場所についても考
えなくてはなりません。
■ 問題点の明確化
メーリングリストや Web の掲示板等で質問をするときには、必要に応じて以下の点を
報告すると良いでしょう。
• 使用している機器の構成 (OS を含む)
• ネットワークの構成 (ネットワークアプリケーション等で重要)
• ソフトウェアの種類とバージョン
• どのような操作を行いどのように失敗したか
• 失敗した時に表示されたエラーメッセージ
つまり、自分が遭遇している状況を、ポイントを絞って第三者に伝えることが大事で
す。コマンド実行時のメッセージにしても、エラー (Error) やワーニング (Warning) の前
後に絞って引用すると良いでしょう (意味の無い長文引用は好まれません)。また、問題や
疑問点が、実は非常に簡単な間違いであったり、FAQ と呼ばれるドキュメント群にしっ
かり記載されているような類の事柄であれば質問そのものが嫌がられることもあります。
時々 “Linux がインストールできません。どうすれば良いでしょう、助けて下さい。”
と言う質問 (?) を見ます。これでは神様でも答えようがありません。質問に答えるのも人
間ですから、気持ちよくコミュニケーションできるよう心掛けて下さい。
D.2 質問の仕方
313
このような質問をする場所として、現在ではメーリングリストや Web 上の掲示板が良
く使用されます。これらの特徴と使用上の注意を説明します。
■ メーリングリスト
メールを利用したもので、特定のメールアドレスに送信すると登録されたメンバーにほ
ぼ同じ内容が送信されます。この仕組を利用して、情報 (意見) 交換を行います。メーカ
が運用するメーリングリストもありますが、多くはボランティアが運用しています。
登録されたメンバーには、(メールに問題が無ければ) 必ず届くと言う特徴があります
が、必ず内容が読まれるとは限りません。質問の回答は、回答しようと思った人が行いま
す。つまり、必ずしも回答が得られるわけではありません。回答が得られない場合、質問
の仕方が悪い、誰もそれについて知らない、誰も答えようとしなかった等の原因が考えら
*2
れます。
利用時の注意として、以下のような点があげられます。
• メールの Subject(件名) には、適切なものをつけます。“こんにちは” や “質問で
す”、“たすけて” 等はふさわしくありません。
• メールが配送されるには時間がかかることがありますし、すぐに回答が得られるわ
けでもありません。ですから、半日程度おいて同じ質問をするのは避けて下さい。
再度質問をするなら、大体一週間程度の間をおくと良いでしょう。
• あまりに長いメールは嫌われます。内容に過不足が無いか、送信する前に確認して
下さい。また無意味な全文引用も嫌われます。
✄
• 一行は、約 70 文字程度で ✂Enter ✁キーで改行をします。改行をしなかったりスペー
ス (空白文字) で改行したように見せかけると、返信 (Reply) し難いので回答を得
られないかもしれません。
• 色々なメーリングリストがありますが、その中から適切なものを使用します。特定
のソフトウェアやハードウェアに関する質問なら、そのメーリングリストの方が良
いかも知れません。
Vine Linux の公式 (?) メーリングリストについては、Vine Linux の Web ページ (付
録 E.2) に記載されています。ただし、これはユーザサポートでなく、ユーザ間の情報交
換の場である点に注意する必要があります。*3
■ Web 掲示板
Web ページ上では、多くの Linux に関連する掲示板が存在します。質問をし、それに
回答すると言う意味では、メーリングリストと変わりありません。前述の注意事項がその
まま適用されます。しかし、不特定の人が読み、回答する点が異なります。ですから、回
*2
*3
メーカが運営するものでも、サポートでなければ回答が得られないことがあります。
サポートは、商用版を購入することで利用することができます。
314
付録 D わからなくなったら
答を得ようと思ったら、活発な掲示板を探す必要があるかも知れません。掲示板の過去ロ
グを参照すると、その掲示板の特徴が判ると思います。
■ 番外編: 技術者教育
最近では、色々な企業が Linux 関連の教育を有償にて行っています。その教育内容は、
書籍や Web 等で入手できる知識が殆どのようです。しかし、講師に直接質問ができたり、
個人では用意し難い機材を使用できる等のメリットが存在するのも確かです。
このようにメリットとデメリットがあるので、良く考えて受講すると良いでしょう。筆
者としては、企業によって教育内容にばらつきがあったり、比較的早いペースで進行する
教育コースもあるので、特に初心者にはあまりお勧めしません。
315
付録 E
Linux の関連情報
この章では、書籍や Web ページ等 Linux の関連情報を紹介します。
参考文献
E.1
執筆に当たり参考にした書籍・雑誌と、Linux 関連で参考になる書籍・雑誌です。
■ 書籍
[1] はね ひでや、やまだ あきら、あべ ひろのぶ著 『RunRun Linux Second Edition』
(アスキー、1996 年) 本著の前身とも言えるものです。同じ内容の Third Edition
もありますが、この手の書籍ではサイズ的に A5 のほうが使い安いようです。
[2] やまだ あきら、はね ひでや著 『Networking Linux』 (アスキー、1997 年) Linux
のネットワークの基礎から応用までを解説した一冊。内容的には古くなってしまっ
たのですが、参考になる部分もまだまだあります。
[3] 坂本 文著 『たのしい UNIX −UNIX への招待 −』 (アスキー、1990 年) UNIX の
基本を解説した一冊です。UNIX のコマンドをきちんと学習するのに最適と言え
ます。
[4] 坂本 文著 『続・たのしい UNIX − シェルへの招待 −』 (アスキー、1993 年) bash
と共に良く使用される C シェル (csh) を中心に取り上げた一冊。本書では取り上
げませんでしたが、C シェルに興味がある方は是非どうぞ。bash と比較するのも
面白いでしょう。
[5] Cameron Newham & Bill Rosenblatt 著 『入門 bash 第 2 版』 (オライリー・ジャ
パン、1998 年) bash の入門書としてお勧めの内容です。
[6] 齊藤 靖、小山 裕司、前田 薫、布施 有人著 『新 Perl の国へようこそ』(サイエン
ス社、1996 年) Perl を学習する上で、お勧めの内容です。ただし、プログラミン
グ言語の経験がある程度必要です。
[7] 奥村 晴彦著 『[改訂第 3 版]LATEX2e 美文書作成入門』 (技術評論社、2004 年) 組
316
付録 E
Linux の関連情報
版ソフトウェア LATEX2e の入門書で、これで LATEX2e の多くを学習することがで
きます。
[8] 阿瀬 はる美著 『てくてく TEX< 上・下 >』 (アスキー、1994 年) LATEX2e の前
バージョンである LATEX の入門書ですが、LATEX2e 美文書作成入門に載っていな
いことも有り便利です。
■ 雑誌
[1]『Linux magazine』(アスキー)
http://linux.ascii24.com/linux/linuxmag/
※残念ながら休刊となりましたが、殆どの記事を収録した Linux magazine the DVD 2005
が発売されています。ただし、ムックなので、完売後は古本屋等を探して下さい。
[2]『日経 Linux』(日経 BP)
http://itpro.nikkeibp.co.jp/linux/
[3]『Linux WORLD』(IDG JAPAN)
http://www.idg.co.jp/lw/
[4]『UNIX MAGAZINE』(アスキー)
http://www.ascii.co.jp/books/magazines/unix.html
[5]『オープンソースマガジン (旧 UNIX USER)』(ソフトバンククリエイティブ)
http://www.unixuser.jp/
[6]『Software Desgin』(技術評論社)
http://www.gihyo.co.jp/
E.2
URL
ソフトウェアとハードウェア関連の URL です。主に Web ページですが、ftp サイト
等もあります。
■ ソフトウェア関連
まず、ソフトウェア関連です。ここに紹介した以外にも、rpm -qi パッケージ名 を参
照すると、そのソフトウェア (パッケージ) の URL が表示されることがあり、参考にな
るでしょう。
[1] http://vinelinux.org/
Project Vine 提供の、Vine Linux 公式 Web ページです。オンラインマニュア
ル、TIPS 集、Updates の情報があるので、定期的に参照するようにすると良いで
しょう。
[2] http://www.linux.or.jp/
E.2 URL
317
国内における Linux 関連の情報が紹介されています。セキュリティ関連の報告、
ブックレビュー、メーリングリストの検索等、色々な情報が有りますので是非参照
して下さい。
[3] http://jf.linux.or.jp/
Japanese FAQ Project の Web ページです。邦訳や書き下ろしたドキュメント等
を配付しています。特に技術的なもの等、参考になるものが多数あります。
[4] http://www.kernel.org/
Linux カーネルアーカイブの Web ページです。最新のカーネルソースコードを入
手することができます。
[5] http://www.gnu.org/
FSF(Free Software Foundation) の Web ページです。多くのディストリビュー
ションでは、FSF の開発したコマンドを使用しています。
[6] http://www.x.org/
The X.Org Foundation(財団) の Web ページです。従来まで良く使用された
XFree86 に代わり、多くのディストリビューションで XOrg が採用されています。
[7] http://www.gnome.org/
デスクトップ環境 GNOME の公式 web ページです。
[8] http://www.gnome.gr.jp/
日本 GNOME ユーザー会の公式 Web ページです。
[9] http://www.kde.org/
デスクトップ環境 KDE の公式 Web ページです。
[10] http://www.kde.gr.jp/
日本 KDE ユーザ会の公式 Web ページです。
[11] http://www.mozilla.org/(英)
http://www.mozilla-japan.org/(邦)
Web ブラウザ Mozilla の公式 Web ページです。最近人気のあるブラウザの、
Firefox も入手できます。
[12] http://www.mozilla.gr.jp/
日本の Mozilla コミュニティ、もじら組の公式 Web ページです。
[13] http://ja.openoffice.org/
OpenOffice.org の公式日本語 Web ページです。最新版の情報や、ノウハウの紹介
等があります。
■ ハードウェア関連
Vine Linux は、リリース時点では比較的新しい各種ドライバを収録していますが、それ
でも新しいハードウェアには対応していないことがあります。そのような場合、メーカの
Web ページから対応したドライバをダウンロードできることがあります。また、ASUS
318
付録 E
Linux の関連情報
等マザーボードのメーカでも、Linux のドライバをダウンロードできることがあるので、
参照してみると良いでしょう。
[1] http://www.nvidia.com/object/linux.html
NVIDIA 社製ビデオカードの Linux 用ドライバを提供しています。最新のビデオ
カード等は、ここからドライバをダウンロードすることができます。
[2] http://www.ati.com/support/driver.html
ATI 社製ビデオカードの Linux 用ドライバを提供しています。最新のビデオカー
ド等は、ここからドライバをダウンロードすることができます。
[3] http://www.epkowa.co.jp/linux/
EPSON 社製のプリンタやスキャナのドライバを提供しています。
[4] http://cweb.canon.jp/drv-upd/bj/other.html
Canon 社製のプリンタドライバを提供しています。
319
あとがき
どうしても Linux を動かしたくて、米国から IBM-PC 互換機を個人輸入したのが 1992
年の 9 月でした。その当時インストールしたディストリビューションが SLS-0.96 だった
と思います。それから今は無き Linux-ML(メーリングリスト) に加わり、要領を得ないよ
うな質問をしたり、間抜けな失敗をしたりしながら懲りずにやってきました。
その Linux も、登場したばかりのころから考えると、全く違う情勢となりました。ニッ
チな OS だったのが、現在では確固たる地位を築いたと言っても良いでしょう。しかし、
冒頭で述べたように、その用途がサーバに偏っているのは残念な点です。本来は UNIX
と同じで、何でもこなせる OS なのです。ただし、Linux がユーザを選ぶのも事実だと思
います。例えば Linux では、ある作業を行なうために単純にソフトウェアを使用するの
でなく、いくつかのソフトウェアを組み合わせて使用するケースがあります。このような
ケースでは、作業の可否はユーザの能力に依存します。ですから Linux は、受動的に使
用する OS でなく、能動的な使用もすべき OS と言えます。これは、Linux があなたの
頭脳を拡張してくれることであり、きっとコンピュータを使っていることを実感させてく
れるでしょう。
羽根 秀也
2005 年 1 月
筆者紹介
1967 年、横浜の生まれ。システムコンサルタント、テクニカルライター、日本大学/国
士館大学非常勤講師。生まれてから現在にいたるまで横浜に住んでいるが、横浜には疎
い。趣味は車 (をいじること)、カメラ、コンピュータ、猫 (?) 等多岐にわたる。Linux は
高校からの友人に紹介され使いだした。その後今は無き Linux-ML に入り、良く分らな
いことを言う、良く分らない作業をするのをモットーに活動している。
Linux パーソナルワークステーション
2005 年 3 月 8 日
Rel 1.0
発行
2005 年 4 月 15 日
2005 年 8 月 23 日
Rel 1.1a
Rel 1.2
発行
2005 年 9 月 21 日
Rel 1.5
発行
は ね
初版
発行
ひでや
著 者
羽根 秀也
発行所
WiNG LABORATORY
組版・デザイン 羽根 秀也
PDF 版協力 平山 昭和
本書は個人ならび学術利用のみ許可します。
また、配布数把握のため、二次配布は御遠慮下さい。
誤植等の報告は [email protected] までお願い致します。
c
2005
Hideya Hane