Gentoo. Дополнительные репозитории
Gentoo. Дополнительные репозитории.
Содержание
1 Общая информация
- Ранее использовалась утилита
layman
. - Сейчас рекомендуется использовать модуль eselect
eselect-repository
. - Документация:
2 Установка
- Установка:
emerge app-eselect/eselect-repository
3 Конфигурация
- Для работы модуля должен существовать каталог или файл
repos.conf
, путь к которому задаётся переменнойREPOS_CONF
в/etc/eselect/repository.conf
. - Будем использовать каталог конфигурации:
mkdir -p /etc/portage/repos.conf
- Файл настройки
/etc/eselect/repository.conf
изначально имеет следующий вид:# конфигурация для eselect-repo # (читается как bash сценарий, поэтому значения должны оставаться совместимыми # с bash) # Следующие переменные указывают на пути, # настроенные во время сборки: # CACHEDIR -- системный каталог кэша (напр. /var/cache) # SYSCONFDIR -- системный каталог конфигурации (напр. /etc) # SHAREDSTATEDIR -- системный каталог с разделяемыми состояниями # (shared state) (напр. /var) # Расположение файла или каталога с конфигурацией репозиториев. # Если это каталог, используются правила Portage для дочерних файлов. REPOS_CONF=${SYSCONFDIR}/portage/repos.conf # Файл, в который будут добавляться конфигурации новых репозиториев, # если REPOS_CONF является каталогом. Вы можете использовать # переменную "${repository}", которая указывает на # название вновь добавленного репозитория. REPOS_CONF_SUBFILE=${REPOS_CONF}/eselect-repo.conf # Родительский каталог, куда будут добавлены сами репозитории. # Новые репозитории добавляются как дочерние каталоги # с названием самого репозитория. REPOS_BASE=${SHAREDSTATEDIR}/db/repos # Расположение списка удалённых репозиториев (remote repositories list). # По умолчанию использует список gentoo-mirror, который содержит, # прегенерированный кэш метаданных # (pregenerated metadata cache). REMOTE_LIST_URI=https://qa-reports.gentoo.org/output/repos/repositories.xml # Альтернатива: изначальный список Gentoo без прегенерации. #REMOTE_LIST_URI=https://api.gentoo.org/overlays/repositories.xml # Каталог, где будет храниться кэш repositories.xml. Файл всегда называется # "repositories.xml" из-за технических ограничений wget. REMOTE_LIST_CACHEDIR=~/.cache/eselect-repo # Интервал (в секундах) проверки списка удалённых репозиториев на изменения. # По умолчанию равен 2 часам. REMOTE_LIST_REFRESH=$(( 2 * 3600 ))
4 Использование
4.1 Синхронизация репозитория
- Репозитории могут быть синхронизированы утилитой
emaint
:emaint sync -r foo
4.2 Просмотр репозиториев
Gentoo позволяет пользователям и разработчикам регистрировать репозитории на https://repos.gentoo.org/ для публичного использования.
Просмотр списка репозиториев:
eselect repository list
- суффикс
*
указывает, что этот репозиторий установлен и подключён; - суффикс
#
указывает, что для этого репозитория необходимо обновить их информацию о синхронизации (путём выключения и включения), или они были настроены пользователем; - суффикс
@
указывает, что такой репозиторий не указан по имени в официальном, опубликованном списке.
- суффикс
Перечислить только сконфигурированные репозитории:
eselect repository list -i
4.3 Добавление репозиториев
Добавление репозиториев с https://repos.gentoo.org/:
eselect repository enable foo
Добавление произвольных репозиториев
eselect repository add test git https://github.com/test/test.git
- Синтаксис:
eselect repository add <название> <метод-синхронизации> <адрес-синхронизации>
- Синтаксис:
4.4 Отключение репозиториев
Отключение репозиториев без удаления содержимого:
eselect repository remove foo
- Синтаксис:
remove [-f] (<название>|<индекс>)
- Опция
-f
требуется для репозиториев, не зарегистрированных на repos.gentoo.org, или без информации о синхронизации.
- Синтаксис:
Отключение репозиториев с удалением содержимого:
eselect repository remove foo
- Синтаксис:
remove [-f] (<название>|<индекс>)
- Опция
-f
требуется для репозиториев, не зарегистрированных на repos.gentoo.org, или без информации о синхронизации.
- Синтаксис:
4.5 Создание нового репозитория
Создание каркаса репозитория:
eselect repository create foo
- Синтаксис:
create <название> [<путь>]
- Синтаксис:
5 Настройки репозиториев
5.1 Приоритет репозиториев
- По умолчанию пакеты в оверлейных репозиториях имеют преимущество перед пакетами в репозитории
gentoo
. - Кроме того, можно управлять приоритетами дополнительных репозиториев.
- Добавьте параметр приоритета в файл описания репозиториев
/etc/portage/repos.conf/eselect-repo.conf
:[local] location = /var/db/repos/local priority = 100