図6 ファイル・システムをチェックする
[画像のクリックで拡大表示]

図7 ハード・ディスクの空き容量やディレクトリのデータ容量を調べる
[画像のクリックで拡大表示]

図8 RPMコマンドの使い方
[画像のクリックで拡大表示]

図9 tar形式のパッケージをインストールする
[画像のクリックで拡大表示]
ディスク管理
利用状況を把握する

 システムを活用していくにつれて,ハード・ディスク内のデータ容量は増えていく。ディスクがいっぱいになる前に,不必要なデータを消すなどの対処を適宜施さなければならない。

 ディスク管理の初歩として,fsckコマンドの使い方を紹介する。fsckはハード・ディスク内のデータのチェックと修復を行うためのコマンドである。Linux起動時には毎回fsckコマンドが実行され,データ・チェックが行われる。稼働中のシステムの電源を遮断してしまったり,リセットしてしまった場合(別掲記事「画面が固まったときの対処方法」を参照)でも,fsckコマンドを使って修復作業を行うことにより,システムを正常に復旧できることが多い。

 Linuxなどの最近のOSは,遅延書き込みを採用している。これは,システムの処理速度を上げるために,ハード・ディスクへの書き込みをいったん主メモリーのバッファ領域に行い,そうした書き込みが一定以上たまったら,まとめてディスクに書き込む仕組みだ。稼働中に電源を遮断してしまった場合などは,バッファ領域に書き込んだ内容がファイル・システムに反映されない。こうなるとファイル・システムの整合性が失われ,そのままではリブートできなくなる。

 fsckコマンドを入力するときの実際のコマンド名は,e2fsckである。その使い方を図6[拡大表示]に示す。fsckコマンドの注意点は,パーティションをマウントした状態で実行してはいけないこと。マウントした状態でも実行できなくはないが,危険である。アンマウント,あるいはリード・オンリーの状態で実行しよう。

 システム内のデータがどの程度増えてきたかを知るには,ハード・ディスク・ドライブの使用容量を表示するdfコマンドや,ディレクトリのデータ容量を表示するduコマンドを用いる。ディスク管理としては普通,ファイルやテキストの検索コマンドと組み合わせて不要なファイルを見つけ出し,そのデータ容量を調べたり,テキスト・ファイルを行でソートして表示するsortコマンドとduコマンドを組み合わせて,一番大きなデータ容量のディレクトリを探すなどして,空き容量確保に努める(図7[拡大表示])。

空きはあるのに増設できない場合

 まれに,ハード・ディスクに空き容量があるにもかかわらず,新しいファイルを作成できなくなる場合がある。そうしたときは,ハード・ディスクの大きさに応じて割り当てられるiノードを使い果たしていると考えられる。iノードは,ファイルの所有者やアクセス権限といったファイルの属性情報を格納する領域であり,ファイルごとに1つのiノードが割り当てられる。そのため,容量が小さなファイルを大量に保存する場合に,iノードを使い果たすことがあり得る。iノードを使い果たした場合には,過去のファイルをバックアップするなどして,不必要になったファイルを削除したり,ハード・ディスクを大容量のものに換装するなどの対処が必要である。

パッケージ管理
インストール場所に気を配る

 新しいソフトウエア(パッケージ)をインストールときには,それをどこにインストールするべきなのかを十分に考えた上で,インストールしよう。通常,新たにインストールするソフトは,/usr以下あるいは/usr/local以下に配置する。

 Red Hat系のLinuxディストリビューションでは,RPM(Red Hat Package Manager)というシステムを使ってパッケージを管理している。RPM形式のバイナリ・パッケージを用いれば,rpmコマンドによって容易にインストールできるし,またどのパッケージのどのバージョンがインストールされているかを簡単に確認できる。パッケージのアンインストールも容易である。

 RPM形式のパッケージのインストール状況や,バイナリ・ファイル(拡張子名が「rpm」のファイル)をインストール,アップデート,アンインストールするには,root権限で図8[拡大表示]のように実行する。

 バイナリ・パッケージをインストールする場合は,そのインストール先がバイナリ・パッケージの作成者によって決められてしまう。まれに,/usrとは異なるディレクトリにインストールされてしまうことがある。ソフトウエアの管理上,統一したディレクトリにインストールしておきたい。/usr以外にインストールされてしまうバイナリ・パッケージの場合は,バイナリの利用をあきらめ,ソースをコンパイルしてインストールするのが望ましい。

 ソフトウエアやそのソース・パッケージは,複数のファイルをtarコマンドで1ファイルにまとめ,gzipコマンドで圧縮した形式で配布されていることが多い。こうしたファイルの拡張子は,「tar.gz」や「tgz」になっているのが普通だ。これらのパッケージをインストールするには,図9[拡大表示]のように入力する。


画面が固まったときの対処方法


図B-1 /etc/inittabでの設定
[画像のクリックで拡大表示]

表B-1 Magicキーの主な機能
SysRqキーは,ALTキーとPrintScreenキーを両方押すことにより指定する。Magicキーを使ってシステムを再起動する場合には,バッファ内のデータをハード・ディスクに書き込み,ファイル・システムをアンマウントしてから,リブートする。

[画像のクリックで拡大表示]

 X Window Systemを使用していて画面が固まった(反応しなくなった)ときには,CTRLキーとALTキーとBackspaceキーを同時に押すことにより,Xを強制終了できる*1。この場合,X上のソフトをすべて強制終了するので,注意して実行する。

 仮想コンソールを使って,Xや暴走したソフトを停止することもできる。多くのLinuxディストリビューションでは,仮想コンソールが使えるので,ALTキーとFunctionキー(Red Hat系Linuxでは,F1からF6までのいずれかのキー)を同時に押して,仮想コンソールに切り替え,そこから暴走したソフトを強制終了する。Xから仮想コンソールに切り替える場合は,X上のソフトではALTキー+Functionキーがショートカット・キーとして割り当てられていることがあるので,CTRLキーとALTキーとFunctionキーを同時に押して,仮想コンソールに切り替える。仮想コンソールからXの画面に戻るには,ALTキーとF7キーを同時に押せば良い。

 コンソールからシステムを強制的にリブートしたい場合は,CTRLキーとALTキーとDELETEキーを同時に押す。この設定が有効かどうかは,/etc/inittabファイルの設定による。inititabファイル内に図B-1[拡大表示]で示した記述があれば,有効になっている。ただし,管理者以外にもシステムのコンソールを操作できる環境では,だれもがリブートできてしまうので,この設定は無効にしておいた方が良い。

 以上の操作が効かず,それでもリブートしたいときは,最終手段として「Magic SysRqキー」(通称Magicキーあるいは,SysRqキーと呼ぶ)を使う手もある。Magicキーは,Linuxカーネルのデバッグのために設けられたショートカット・キーである。Linuxカーネル2.1.x以降で使える*2表B-1[拡大表示])。Magicキーを使ったリブートでは,Linux上で動作しているアプリケーションの終了処理が行われないことに注意されたい。