ブックに加えて欲しいとの要望をよく頂きます。パッケージ管理ツールがあれば、インストールされるファイル類を管理し、パッケージの削除やアップグレードを容易に実現できます。パッケージ管理ツールでは、バイナリファイルやライブラリファイルだけでなく、設定ファイル類のインストールも取り扱います。いえいえ本節は特定のパッケージ管理ツールを説明するわけでなく、その利用を勧めるものでもありません。広い意味で、管理手法にはどういったものがあり、どのように動作するかを説明します。あなたにとって最適なパッケージ管理がこの中にあるかもしれません。それらをいくつか組み合わせて実施することになるかもしれません。本節ではパッケージのアップグレードを行う際に発生する問題についても触れます。おいてパッケージ管理ツールに触れていない理由には以下のものがあります。システムがいかに構築されているかを学ぶことです。パッケージ管理はその目的からはずれてしまいます。パッケージ管理についてはいくつもの方法があり、それらには一長一短があります。ユーザーに対して満足のいくものを選び出すのは困難です。ページにパッケージ管理についての情報が示されています。望むものがあるかどうか確認してみてください。アップグレードに関する問題パッケージ管理ツールがあれば、各種ソフトウェアの最新版がリリースされた際に容易にアップグレードができます。ブックに示されている作業手順に従えば、新しいバージョンへのアップグレードを行っていくことはできます。以下ではパッケージをアップグレードする際に注意すべき点、特に稼動中のシステムに対して実施するポイントについて説明します。再構築することが安全です。必要なパッケージの依存順を知っていれば再構築できるかもしれませんが、これはお勧めしません。共有ライブラリを提供しているパッケージをアップデートする場合で、ライブラリの名前が変更になった場合は、そのライブラリを動的にリンクしているすべてのパッケージは、新しいライブラリにリンクされるように再コンパイルを行う必要があります。(パッケージのバージョンとライブラリ名との間に相関関係はありません。インストールするものであるとします。インストールするとします。対してリンクするよう再コンパイルしなければなりません。古いライブラリに依存しているパッケージすべてを再コンパイルするまでは、そのライブラリを削除するべきではありません。以下に一般的なパッケージ管理手法について示します。パッケージ管理マネージャーを用いる前に、さまざまな方法を検討し特にそれぞれの欠点も確認してください。すべては頭の中でそうです。これもパッケージ管理のやり方の一つです。いろいろなパッケージに精通していて、どんなファイルがインストールされるか分かっている人もいます。そんな人はパッケージ管理ツールを必要としません。パッケージが更新された際にシステム全体を再構築しようと考えている人なら、やはりパッケージ管理ツールを必要としません。異なるディレクトリへのインストールこれは最も単純なパッケージ管理のやり方であり、パッケージ管理のためのツールを用いる必要はありません。個々のパッケージを個別のディレクトリにインストールする方法です。ディレクトリにインストールした上で、先ほどのシンボリックリンクをこのディレクトリを指し示すように置き換えます。ディレクトリを加える必要があるかもしれません。パッケージによっては、このやり方では管理できないものもあります。シンボリックリンク方式による管理これは一つ前に示したパッケージ管理テクニックの応用です。各パッケージは同様にインストールします。ディレクトリ階層の中に各ファイルのシンボリックリンクを生成します。この方法であれば環境変数を追加設定する必要がなくなります。シンボリックリンクを自動生成することもできますが、パッケージ管理ツールの中にはこの手法を使って構築されているものもあります。インストール時には意図的な指示が必要です。配下にインストールされるわけです。このインストール方法は単純なものではありません。いうパッケージをインストールするものとします。以下のようなコマンドでは、このパッケージを正しくインストールできません。正しくリンクしません。リンクされることになります。変数を使って、パッケージのインストールをうまく仕組む必要があります。この方法は以下のようにして行います。installこの手法をサポートするパッケージは数多く存在しますが、そうでないものもあります。この手法を取り入れていないパッケージに対しては、手作業でインストールすることが必要になります。ディレクトリにインストールする方が簡単かもしれません。タイムスタンプによる管理方法この方法ではパッケージをインストールするにあたって、あるファイルにタイムスタンプが記されます。コマンドを適当なオプション指定により用いることで、インストールされるすべてのファイルのログが生成されます。これはタイムスタンプファイルの生成の後に行われます。この方法はシンプルであるという利点がありますが、以下の二つの欠点があります。インストールの際に、いずれかのファイルのタイムスタンプが現在時刻でなかった場合、そういったファイルはパッケージ管理ツールが正しく制御できません。この方法は一つのパッケージだけが、その時にインストールされることを前提とします。二つのパッケージが二つの異なる端末から同時にインストールされるような場合は、ログファイルが適切に生成されません。インストールスクリプトの追跡管理この方法はインストールスクリプトが実行するコマンドを記録するものです。これには以下の二種類の手法があります。定めておいてそれからインストールを行う方法です。さまざまな実行モジュールにそのライブラリをリンクさせ、ファイルシステムを変更するようなシステムコールを監視することで、そのライブラリがパッケージを追跡管理できるようにします。ビットがオフでなければなりません。事前にライブラリをロードしておくと、インストール中に予期しない副作用が発生するかもしれません。したがって、ある程度のテスト確認を行って、パッケージ管理ツールが不具合を引き起こさないこと、しかるべきファイルの記録を取っておくことが必要とされます。これはインストールスクリプトの実行中に発生するシステムコールを記録するものです。パッケージのアーカイブを生成する方法この方法では、シンボリックリンク方式によるパッケージ管理にて説明したのと同じように、パッケージが個別のディレクトリにインストールされます。インストールの後は、インストールされたファイルのアーカイブが生成されます。このアーカイブはローカルPCへのインストールに用いられたり、他のPCへのインストールに利用されたりします。商用ディストリビューションが採用しているパッケージ管理ツールは、ほとんどがこの方法によるものです。