Ebuild repository/ja

ebuild リポジトリ(いわゆるオーバーレイとしても知られています)は Acticle description::Gentoo ベースのシステムのパッケージマネージャーにパッケージを追加・拡張するために使われるディレクトリー構造およびファイルです. ebuild リポジトリは1つ、あるいは複数の ebuild API に合致する ebuild を含むことができます.

Gentoo システムのメインリポジトリは Gentoo ebuild リポジトリとして知られています. これは Gentoo の公式開発者たちおよび(Proxy Maintainers プロジェクトを通じて)コミュニティーメンバーによって維持管理されている ebuild で構成されています. システム管理者は以下で説明するさまざまなユーティリティーや方法を使用して追加のリポジトリをシステムに追加することができます.

リポジトリ
ebuild リポジトリは単なるファイルの集合（ebuild、メタデータファイル ...）です. これらは公開リポジトリ（git, CVS, SVN ...）から取り寄せたり、tarballとしてダウンロードして手動でシステム上に展開したりすることで利用できます. 信用できる第三者よって管理されているリポジトリを利用することをおすすめします. すべてのebuildリポジトリはインストールされると、Portageがどのソフトウェアをインストールするか決定するときに、ebuildリポジトリ内のファイルに目を通すようになります. もしもセキュリティ上の危険があるコードがオーバーレイに存在すれば、セキュリティ上の危険があるパッケージがシステムにインストールされるかもしれないからです.

リポジトリを扱うための現時点におけるデフォルトのアプローチは を使うものです. この場所は、他の多くの Portage 関連の場所と同様にディレクトリーでも構いません.

Repository definitions inside also inform Portage if and how the repository can be updated. With it, calling will automatically update the repositories as well.

A deprecated, yet still supported method is to use the PORTDIR_OVERLAY variable inside. This variable can point to one or more additional locations on the file system where repositories are available. The use of the directory is highly preferred.

より詳しくは、 /etc/portage/repos.conf 及び Portage/Sync の記事を参照してください

優先順位について
Each ebuild repository has a unique priority to the package manager. This ensures that in the case of a specific version being found in several ebuild repositories, the resolution is unambiguous. Ebuilds from repositories with higher priority numbers (for example 60) will take precedence over ebuilds from repositories with lower priorities (such as 50).

優先度を含んだebuildリポジトリのリストは、以下のコマンドの出力で得られます（"Repositories"の欄を探してください）:

The Gentoo ebuild repository will have a priority of -1000 which means that all other repositories generally take precedence if they are assigned a higher priority. This is the default behavior, because ebuild repositories are designed to "lay over" or "on top" of the Gentoo repository.

各種ソフトウェア
多くのツールがebuildリポジトリをサポート、または統合的に扱っています.

Layman
アプリケーションは、複数の追加ebuildリポジトリを更新・管理することを容易にします. はコマンドラインアプリケーションで、を通じて公に利用可能なebuildリポジトリを一覧表示、購読、購読解除、更新することができます.

It supports both the as well as  method.
 * When using the method,  manages a dedicated configuration file which should be sourced in by
 * When using, manages the  file directly

より詳しくは Layman の記事及びProject:Portage/Sync を参照してください.

emaint
Sync (Portage project) 記事および を参照してください.

eix
is a wrapper starting (which in turn starts ) followed by. For further details see the Eix article and.

eselect-repository
maintains entries for Portage to access and synchronize. See Eselect/Repository article for details.

Emerging a duplicate package
When working with ebuild repositories it is possible to encounter a situation where multiple versions of the same package are available from different ebuild repositories. Instruct Portage to install a specific package from a specific ebuild repository with the  notation:

The same notation can be used for different emerge instructions, including uninstalling a package through.

キャッシュの生成について
portage は、ebuildリポジトリが多量にインストールされている場合には、パッケージの前提関係を解決するような処理に長い時間を要するかもしれません. これは、ebuildリポジトリには一般的に、メタデータキャッシュが含まれていないためです.

ローカルのメタデータキャッシュを生成するには、ebuildリポジトリとの同期後に を実行してください:

Be careful, because takes a lot of time and it's not recommended for rsync users as rsync updates the cache using server-side caches (most of users of portage are rsync users). Rsync users should simply run (or ) to regenerate the cache. It's probably only users of very large ebuild repositories should try.

Masking installed but unsafe ebuild repositories
When using large ebuild repositories or those with unknown/low quality it is best practice to hardmask the whole ebuild repository and only accept specific ebuilds on a case-by-case basis:

その後に、インストールするパッケージのマスクを外します.

参考

 * Overlays project - The official Gentoo project for ebuild repositories' support.
 * Overlays guide (Overlay project) - A user guide written by the Overlay project.
 * Developer's guide to Gentoo overlays - This document is kept only for historical purposes. The current guide is maintained as Project:Overlays/Overlays guide.
 * Defining a custom repository - Section in the Gentoo Handbook

外部の情報

 * https://repos.gentoo.org
 * https://github.com/gentoo/
 * https://gpo.zugaina.org/Overlays