PR

太田 俊哉

 Linuxは,OSをはじめとして,数多くのソフトウエアの集合体です。ソフトウエアは,とくに問題がなければアップグレードする必要はありません。コンピュータは“使えてなんぼ”であり,せっかく動いているのにソフトウエアをアップグレードして,トラブルを引き起こすことはありません。

 もちろん,バグ・フィックスがなされ,今まで支障があったことが解決した場合などには,ソフトウエアのアップグレードは必要です。また,セキュリティ・ホールが見つかった場合などは,大至急アップグレードする必要があります。

 ソフトウエアのアップグレード方法は,各ディストリビューションごとに異なります。Linuxでは,個別パッケージごとにアップグレードが可能ですが,他のOSでは,パッチが提供されたり(Solarisなどの商用UNIXなど),ソース・ファイルの差分で提供されるものもあります。

 Linuxの場合,商用のディストリビューションでは,rpm形式のパッケージを採用したものが多く存在します。rpm形式でのソフトウエアのアップグレードは,まずrpmのパッケージを用意し,所定のコマンド(rpmコマンド)を使ってアップグレードします。例えば,RedHat 7.1J でセキュリティ対策のために,ソフトウエアのアップグレードを行うときには,以下のように行ないます。

(1)セキュリティパッチ情報を確認

 redhatのWebサイト(http://www.redhat.co.jp/)から 「サポート&ドキュメント」の部分をクリックし,「セキュリティアドバイス」のページに移る

(2)必要なパッチを選び(通常は全部)ダウンロードする(ここではxinetdを例にとります)

(3)関連するプログラムを,もしも動作中ならば下記のように停止する


# ps -ax | grep inetd
 1556 ?    S   0:00 xinetd    ←この行の左端がxinetdのプロセス番号
 1566 pts/1  S   0:00 grep inetd
# kill -p 1556             ←xinetdのプロセス番号を指定する

(4)パッチを以下のコマンドでアップデートする

 rpm -Fvh xinetd-2.1.8.9pre15-2.i386.rpm

(5)関連するプログラムを再起動する

 xinetdの場合は,単に「xinetd」と入力するだけで起動します

 以上でアップデートは終了です。基本的に,他のディストリビューションでも同様な手順でアップグレードを行なえばよいでしょう。

 なお,セキュリティ・ホール対策など,アップグレードしても,機能や設定方法が変わらない場合もありますが,ソフトウエアのバージョンが変更になった場合には,機能が変わることがあるので十分な調査が必要です。

バックアップの重要性

 コンピュータ上には,さまざまなプログラムも含め,数多くのデータがあります。しかし,その中で大事なのは,利用者が作成したデータです。ディストリビューションで提供されるプログラムの場合は,再インストールすれば簡単に復旧できますが,利用者が作成したデータは,失ったら最後です。工数をかけても復旧できればいい方で,場合によっては二度と復活できなくなってしまうこともあります。

 また,バックアップは,きちんと管理しなければ,いざという時に役に立ちません。そもそもきちんとバックアップ媒体を管理していないと,いざという時にバックアップ・データがどこにあるかが分からず,かえってトラブルを大きくしかねません。はるか昔にバックアップしたデータは,古すぎてあまり役に立たないのが通常です。ですから,媒体を含めたバックアップ全体の管理をきちんとしておくことが必要です。

バックアップの世代管理

図1●月曜から金曜まで,5世代のバックアップを確保する
 一般的に,ユーザー・レベルで行うバックアップ作業では,データを,現在使っているものと,最新の変更をかける前のもの,すなわちバックアップ・データの,2つのデータで管理します。世代という観点で考えると,バックアップを1世代分持つことになります。しかし,1世代の管理だけでは,間違ったことに気がつかずにデータを更新してしまった場合,間違いを修正する手段がなくなります。バックアップ媒体の障害,バックアップ中のトラブルなどで,元のデータも,バックアップ媒体のデータも失ってしまうという悲劇が発生する可能性もあります。

 そこで通常は,複数世代のバックアップを保持します。世代の数は利用の形式,重要度,更新頻度によって大きく変わりますが,3世代から5世代くらいを確保するのが普通です。例えば,月曜から金曜まで,毎日1回ずつ別の媒体にバックアップを取れば,手間をかけずに5世代のバックアップが用意できます(図1[拡大表示])。

バックアップ媒体

 最近,ハード・ディスクの容量は日に日に増大しています。現在この原稿を書いているノートPCでも,内蔵容量は20Gバイトですし,コンピュータ・パーツ売り場に行けば,100Gバイトのハード・ディスクもリーズナブルな値段で販売されています。そのため,通常入手できるバックアップ媒体よりも,ハード・ディスク容量の方が大きくなってしまっているという現象が起きています。そのため,バックアップ媒体の選定方法が難しくなって来ています。

 現在,お金をかければ(PC本体の何倍もの値段になりますが),ハード・ディスク全体をバックアップできるようなテープ装置が買えます。しかし大きな会社でもない限り,あまり現実的ではありません。従って,バックアップは,利用者が作成したデータのみをバックアップするという方法で,適当な容量の媒体にバックアップすることになります。リーズナブルな価格で手軽にできるバックアップ方法となると,おおよそ以下の方法が考えられます。

(1)ハード・ディスク→ハード・ディスクへのバックアップ

 この方法は,RAIDで行うこともできますし,単にもう1つ別のディスクを用意して,ファイルをコピーすることでも行なえます。ただし,ホットスワップ可能なハード・ディスクを使わない限り,マシンを停止して媒体を交換する手間が必要です。

(2)MO,CD-R/DVD系へのバックアップ

 容量が600Mバイト~4Gバイト程度であれば,一番お手頃です。

(3)ネットワークによるバックアップ

 ネットワーク経由で,バックアップ専用のサーバー・バックアップする方法です。最近ではインターネット経由でのバックアップも普及してきました。

バックアップ・ツール

 複数のコンピュータを集中して管理し,専用のバックアップ・サーバー用意する場合などは,専用のツールが販売されています。専用のツールを使うことで,一元的にバックアップ・スケジュールの管理や媒体管理が可能です。

 ただし,専用のツールはかなり高価です。個人やSOHOベースではなかなか手が出ません。通常は,以下の2つのコマンドを使えばよいでしょう。

(1)tar

 複数のファイルをまとめて1つの書庫ファイルにするためのツールです。まとめたファイルをバックアップ媒体に保存することでバックアップを行ないます。Linuxでは,ファイルをまとめると同時に圧縮も行なえ,効率よくバックアップできます。個別のユーザが使っているデータのみをバックアップするときに使います。バックアップの時には

 tar -czf バックアップファイル名 バックアップするディレクトリ

とします。バックアップ・ファイル名はお約束として, tar.gzを末尾に付けます。パラメータとして -cvzf と v を付けると動作状況の詳細を表示することができます。

(2)dump

 dumpコマンドは,ファイル・システム全体をバックアップするツールです。root権限でしか動作しません。管理者が,データを一括してバックアップするときに使います。また,dump コマンドは,前回バックアップしたファイルを記録していますので,変更した部分のみをバックアップすることも可能です。そのため,週一回全体をバックアップし,その他の日は差分だけをバックアップすることで,効率的にバックアップすることも可能です。dumpコマンドは,他のコマンドとオプションの組み立て方が違いますので,マニュアルをよく読んでから使うようにしてください。