<コンポーネント> には、通常 main, contrib, non-free の 3 つを指定します。以上のような A) 方式では、さらに apt が自動的にマシンの機種を判断して Packages.gz を読み込むディレクトリを決定します。例えば、先の追加の sources.list 例では以下の URL になります。
http://ftp.debian.org/debian/dists/unstable/main/binary-i386/
| http://ftp.debian.org/debian/dists/unstable/contrib/binary-i386/
| http://ftp.debian.org/debian/dists/unstable/non-free/binary-i386/
|
|
|
|
B) 方式は、Packages.gz を読み込むディレクトリを <ルート> に続けて直接指定し、/ を付けてディレクトリであることを明示しておくだけです。apt はこの / の有無で A) と B) を判別するので、/ の有無は明確にする必要があります。
なお、この Debian サイトの追加の例で挙げたサーバは全て 1 次配布元ですので、サーバに負荷を集中させないためにも、実際の sources.list には、別のサーバ (ミラーサーバ) を指定するようにしてください。国内の Debian のミラーサーバの情報も Debian プロジェクトの WWW サイトで公開されていますので参考にしてください。
ARMA Net プライベートリポジトリ以外からのソフトウェアを導入される場合、外部導入部分については基本的にサポートの対象外となりますので、自己責任で行っていただきますようお願い致します。
また Debian のパッケージをインストールされる場合は直接バイナリを入れるよりも、以下のように一旦ビルドをした方がシステムの整合性が保たれやすくなります。
|
# apt-get source -b <ソースパッケージ名>
| # dpkg -i 〜.deb
|
|
|
apt とはいくつかのコマンド群の総称ですが、このうちよく使うコマンドは apt-get, apt-cache の 2 つです。apt-get はパッケージのインストールや削除、パッケージデータベースの更新など、実際にファイルの書き換えを伴う作業を担当します。これに対し、apt-cache はパッケージデータベースを利用した情報をユーザに提供するコマンドで、ファイルは一切書き換えません。dpkg もいくつかのコマンド群の総称ですが、パッケージマネージャとして主に使うコマンドは dpkg だけです。
apt は自力で依存関係の問題を解決できますが、そのために現在インストールされているパッケージの削除や置換を提案することがあります。通常は提案に対して[y]と答えて構いませんが、念のため apt の提案内容を把握しておき、自分に必要なソフトウェアが使えなくなってしまう場合は[n]と答えてください。逆に、dpkg は依存関係の問題を自力で解決することはできず、エラーメッセージを出力するだけです。dpkg を使う場合は、このエラーメッセージを参考に手動で問題を解決しなければなりません。
それでは、具体的な apt と dpkg の使い方について説明していきましょう。
| パッケージデータベースの更新 (apt-get update)
|
|
Packages.gz などのパッケージデータベースをダウンロードし、/var/lib/apt/lists に保存します。Packages.gz は収録パッケージが更新される度に変わります。DVD-ROM からパッケージを入手する場合は、同じ DVD-ROM を使う限りデータベースも変化しないので update の必要はありません。通常はパッケージソースを ARMA Net にしておきオモイカネ社のアラート情報が発行されたタイミングで実行します。
| パッケージのインストール (apt-get install / dpkg -i)
|
|
パッケージをインストールします。apt-get install と dpkg -i は似た機能ですが、apt-get は「パッケージ名」を指定すれば apt が最新版を探して自動的にダウンロードしインストールまでするのに対し、dpkg では直接インストールする「deb ファイル名」を指定しなければなりません。dpkg の方が気が利かないようですが、敢えて最新版でないパッケージをインストールしたい場合などには、dpkg -i でしか対応できないなど重宝することもあります。なお、apt-get は最新版が既にインストールされていると処理を行いませんが、--reinstall をつけると強制的に再インストールできます。
|
# apt-get [--reinstall] install <パッケージ(複数可)>
| # dpkg -i <*.deb(複数可)>
|
|
|
| パッケージの削除 (apt-get [--purge] remove / dpkg -r / dpkg -P)
|
|
インストールされているパッケージを削除します。--purge をつけると、remove だけでは削除されない設定ファイル類も含めて「パージ」(完全削除) します。ただし「削除」した段階で、apt のデータベースからもパッケージの情報が削除されるため、既に「削除」されているパッケージをさらに「パージ」する場合は dpkg -P しか使えません。
|
# apt-get [--purge] remove <パッケージ(複数可)>
| # dpkg {-r|-P} <パッケージ(複数可)>
|
|
|
| パッケージのアップグレード (apt-get upgrade / apt-get dist-upgrade)
|
|
インストールされているパッケージを最新版へアップグレードします。
|
# apt-get upgrade
| # apt-get dist-upgrade
|
|
|
なお、アップグレードのために自分以外のパッケージの追加や置換が必要になる場合は、安全のため upgrade でのアップグレード対象から外されます。dist-upgrade ではこのような場合も構わずアップグレードをします。dist-upgrade でなく部分的に最新版にアップグレードする場合は apt-get install <パッケージ> として、明示的にパッケージを指定します。
|
# apt-get upgrade
| Reading Package Lists... Done
| Building Dependency Tree... Done
| The following packages have been kept back
| hoge
| 0 packages upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
|
| # apt-get install hoge
| Reading Package Lists... Done
| Building Dependency Tree... Done
| The following extra packages will be installed:
| libhoge1
| The following NEW packages will be installed:
| libhoge1
| 1 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
| Need to get 1234kB of archives. After unpacking 5.6MB will be used.
| Do you want to continue? [Y/n]
|
|
|
|