Ebuild repository/ja

Gentoo Linuxでは、ユーザには既に main パッケージリポジトリが与えられています. このmain リポジトリは、Gentoo 開発者たちによって維持管理されている全てのソフトウェアパッケージ (ebuild と呼ばれているもの)で構成されています. しかしユーザは、この Portage ツリーに対して更に追加のリポジトリを付け加えることもできます. 追加のパッケージツリーは通常、リポジトリによって提供されています. ユーザはこうした追加のリポジトリ (これまで "overlay" と呼ばれていたもの) を自分のシステムに追加することができます.

リポジトリ
Package repositories are nothing more (or less) than a set of files (ebuilds, metadata files, ChangeLog entries ...). These can be pulled in from public repositories (git, CVS, SVN ...) or downloaded as tarballs and extracted manually onto the system. It is advised to use managed repositories by trusted third parties; any installed ebuild repository will cause Portage to look through the overlaid files when deciding which software to install. If compromised code is in the ebuild repository, then compromised packages could be installed on the system.

The now default approach for handling repositories is through which, like many other Portage related locations, can be a directory as well.

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 its unique priority. This makes sure that in the case of a specific version being found in several ebuild repositories, the resolution is unambiguous. Ebuilds from ebuild repositories with higher priority numbers (for example 60) take precedence over ebuilds from ebuild repositories with lower priorities (such as 50).

The list of ebuild repositories with their priorities can be obtained through the output of the following commands (look for the "Repositories" string):

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

Available software
A number of tools support or integrate with ebuild repositories.

Layman
The application makes it easier to manage and update multiple additional ebuild repositories. It is a command-line application through which publicly available ebuild repositories can be listed, subscribed to and unsubscribed from, as well as update those repositories.

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
See the Sync (Portage project) article and.

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

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:

キャッシュの生成について
When large ebuild repositories are installed, portage may take a long time to perform operations like dependency resolution. This is because ebuild repositories do not usually contain a metadata cache.

Generate a local metadata cache by running after syncing the ebuild repositories:

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 when using unsafe ebuild repositories
When using huge ebuild repositories or those with unknown/low quality it is best practice to hardmask the whole ebuild repository.

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

参考

 * 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://overlays.gentoo.org
 * https://github.com/gentoo/