DISTDIR
DISTDIR変数はPortageがソースコードのアーカイブをダウンロードする場所を設定します。 デフォルトの値は、新しいインストールでは/var/cache/distfilesになっています。以前のデフォルトは ${PORTDIR}/distfiles で、これはさらにデフォルトでは /usr/portage/distfiles に解決されていました。
しばしば"distfiles"と呼ばれているこのディレクトリには、システムにインストールされた(あるいはインストールしようとした)全てのソフトウェアのソースコードのアーカイブが保管されています。このディレクトリの中のファイルは自動的には削除されません。なので、eclean-dist コマンド(app-portage/gentoolkit パッケージの一部です)といったツールを使って、このディレクトリに消費している容量を制御することを考えるべきでしょう。詳しくは Eclean の記事を参照してください。
このDISTDIR変数は/etc/portage/make.confで設定することができます。
DISTDIR を置く場所に注意してください! 信頼されたユーザのみがこの場所への書き込みアクセスを許可されるべきです。
DISTDIR=/var/gentoo/distfiles
アーカイブの取得元
ソースコードアーカイブをダウンロードするために、Portage はまず GENTOO_MIRRORS 変数で定義されたサーバからファイルをダウンロードしようとします (上流プロジェクトのリソースへの負荷を緩和する等の理由のため)。各 ebuild の SRC_URI 変数は、パッケージのオリジナルのソースファイルを指していて、これは ebuild の作成と開発の過程では ebulid メンテナによって最初にダウンロードされます。
ebuild の開発の過程で Manifest ファイルの作成が行われます。このファイルは、上流のソースファイルが ebuild 開発者によってダウンロードされた時点から、Gentoo のミラーシステムとさらに末端のシステムに配布されるまでの間に、変更されていないことを保証します。
Gentoo ミラーを回避する
時とともに、パッケージのソースファイルをホストしている上流プロジェクトは、プロジェクトのソース URL を新しい場所に移すでしょう。また、上流プロジェクトは開発を停止し、やがて上流の場所からソフトウェアのソースを得られなくなる結果につながることもあるでしょう。
Gentoo のミラーリングシステムのおかげで、ebuild メンテナは上流のソースが廃止された ebuild でも「サポート」し続けることができます。これにより、ソフトウェアをゆるやかに ::gentoo ebuild リポジトリから撤退させることができ、これは Gentoo コミュニティのための良いユーザ体験のひとつとなります。このような理由から、Gentoo ミラーシステムを回避することを選んだユーザは、ダウンロードされたソースファイルに信頼性を期待すべきではありません。
Gentoo ミラーを避けてソースのアーカイブをダウンロードするには、コマンドラインから GENTOO_MIRRORS 変数を空の値に設定してください。このように:
root #
GENTOO_MIRRORS="" emerge --ask www-client/firefox
関連項目
- Local distfiles cache — details some approaches to setting up a local distfiles cache which will save bandwidth when several machines are running Gentoo on the same local area network.
- PKGDIR — Portage がバイナリパッケージを保存する場所です。
- Knowledge Base:廃止された配布ファイルの削除
- Eclean — リポジトリのソースファイルやバイナリパッケージを削除するツールです。