Gentoo. Дополнительные репозитории
Gentoo. Дополнительные репозитории.
Содержание
1 Общая информация
- Ранее использовалась утилита
layman
. - Сейчас рекомендуется использовать модуль eselect
eselect-repository
. - Документация:
2 Установка
- Установка:
1emerge app-eselect/eselect-repository
3 Конфигурация
- Для работы модуля должен существовать каталог или файл
repos.conf
, путь к которому задаётся переменнойREPOS_CONF
в/etc/eselect/repository.conf
. - Будем использовать каталог конфигурации:
1mkdir -p /etc/portage/repos.conf
- Файл настройки
/etc/eselect/repository.conf
изначально имеет следующий вид:1# конфигурация для eselect-repo 2# (читается как bash сценарий, поэтому значения должны оставаться совместимыми 3# с bash) 4 5# Следующие переменные указывают на пути, 6# настроенные во время сборки: 7# CACHEDIR -- системный каталог кэша (напр. /var/cache) 8# SYSCONFDIR -- системный каталог конфигурации (напр. /etc) 9# SHAREDSTATEDIR -- системный каталог с разделяемыми состояниями 10# (shared state) (напр. /var) 11 12# Расположение файла или каталога с конфигурацией репозиториев. 13# Если это каталог, используются правила Portage для дочерних файлов. 14REPOS_CONF=${SYSCONFDIR}/portage/repos.conf 15 16# Файл, в который будут добавляться конфигурации новых репозиториев, 17# если REPOS_CONF является каталогом. Вы можете использовать 18# переменную "${repository}", которая указывает на 19# название вновь добавленного репозитория. 20REPOS_CONF_SUBFILE=${REPOS_CONF}/eselect-repo.conf 21 22# Родительский каталог, куда будут добавлены сами репозитории. 23# Новые репозитории добавляются как дочерние каталоги 24# с названием самого репозитория. 25REPOS_BASE=${SHAREDSTATEDIR}/db/repos 26 27# Расположение списка удалённых репозиториев (remote repositories list). 28# По умолчанию использует список gentoo-mirror, который содержит, 29# прегенерированный кэш метаданных 30# (pregenerated metadata cache). 31REMOTE_LIST_URI=https://qa-reports.gentoo.org/output/repos/repositories.xml 32 33# Альтернатива: изначальный список Gentoo без прегенерации. 34#REMOTE_LIST_URI=https://api.gentoo.org/overlays/repositories.xml 35 36# Каталог, где будет храниться кэш repositories.xml. Файл всегда называется 37# "repositories.xml" из-за технических ограничений wget. 38REMOTE_LIST_CACHEDIR=~/.cache/eselect-repo 39 40# Интервал (в секундах) проверки списка удалённых репозиториев на изменения. 41# По умолчанию равен 2 часам. 42REMOTE_LIST_REFRESH=$(( 2 * 3600 ))
4 Использование
4.1 Синхронизация репозитория
- Репозитории могут быть синхронизированы утилитой
emaint
:1emaint sync -r foo
4.2 Просмотр репозиториев
Gentoo позволяет пользователям и разработчикам регистрировать репозитории на https://repos.gentoo.org/ для публичного использования.
Просмотр списка репозиториев:
1eselect repository list
- суффикс
*
указывает, что этот репозиторий установлен и подключён; - суффикс
#
указывает, что для этого репозитория необходимо обновить их информацию о синхронизации (путём выключения и включения), или они были настроены пользователем; - суффикс
@
указывает, что такой репозиторий не указан по имени в официальном, опубликованном списке.
- суффикс
Перечислить только сконфигурированные репозитории:
1eselect repository list -i
4.3 Добавление репозиториев
Добавление репозиториев с https://repos.gentoo.org/:
1eselect repository enable foo
Добавление произвольных репозиториев
1eselect repository add test git https://github.com/test/test.git
- Синтаксис:
1eselect repository add <название> <метод-синхронизации> <адрес-синхронизации>
- Синтаксис:
4.4 Отключение репозиториев
Отключение репозиториев без удаления содержимого:
1eselect repository remove foo
- Синтаксис:
1remove [-f] (<название>|<индекс>)
- Опция
-f
требуется для репозиториев, не зарегистрированных на repos.gentoo.org, или без информации о синхронизации.
- Синтаксис:
Отключение репозиториев с удалением содержимого:
1eselect repository remove foo
- Синтаксис:
1remove [-f] (<название>|<индекс>)
- Опция
-f
требуется для репозиториев, не зарегистрированных на repos.gentoo.org, или без информации о синхронизации.
- Синтаксис:
4.5 Создание нового репозитория
5 Настройки репозиториев
5.1 Приоритет репозиториев
- По умолчанию пакеты в оверлейных репозиториях имеют преимущество перед пакетами в репозитории
gentoo
. - Кроме того, можно управлять приоритетами дополнительных репозиториев.
- Добавьте параметр приоритета в файл описания репозиториев
/etc/portage/repos.conf/eselect-repo.conf
: