DISTDIR

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page DISTDIR and the translation is 100% complete.

DISTDIR変数はPortageがソースコードのアーカイブをダウンロードする場所を設定します。 デフォルトの値は、新しいインストールでは/var/cache/distfilesになっています。以前のデフォルトは ${PORTDIR}/distfiles で、これはさらにデフォルトでは /usr/portage/distfiles に解決されていました。

しばしば"distfiles"と呼ばれているこのディレクトリには、システムにインストールされた(あるいはインストールしようとした)全てのソフトウェアのソースコードのアーカイブが保管されています。このディレクトリの中のファイルは自動的には削除されません。なので、eclean-dist コマンド(app-portage/gentoolkit パッケージの一部です)といったツールを使って、このディレクトリに消費している容量を制御することを考えるべきでしょう。詳しくは Eclean の記事を参照してください。

このDISTDIR変数は/etc/portage/make.confで設定することができます。

警告
DISTDIR を置く場所に注意してください! 信頼されたユーザのみがこの場所への書き込みアクセスを許可されるべきです


ファイルの完全性チェックと展開はアトミックではない操作なので、その間にファイルが差し替えられて、システムに侵入される攻撃が考えられます。
ファイル /etc/portage/make.conf異なるDISTDIRの位置を使用する
DISTDIR=/var/gentoo/distfiles

アーカイブの取得元

ソースコードアーカイブをダウンロードするために、Portage はまず GENTOO_MIRRORS 変数で定義されたサーバからファイルをダウンロードしようとします (上流プロジェクトのリソースへの負荷を緩和する等の理由のため)。各 ebuildSRC_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

関連項目