Gentoo. Дополнительные репозитории

Gentoo. Дополнительные репозитории.

Содержание

1 Общая информация

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 Создание нового репозитория

  • Создание каркаса репозитория:

    1eselect repository create foo
    
    • Синтаксис:
      1create <название> [<путь>]
      

5 Настройки репозиториев

5.1 Приоритет репозиториев

  • По умолчанию пакеты в оверлейных репозиториях имеют преимущество перед пакетами в репозитории gentoo.
  • Кроме того, можно управлять приоритетами дополнительных репозиториев.
  • Добавьте параметр приоритета в файл описания репозиториев /etc/portage/repos.conf/eselect-repo.conf:
    1[local]
    2location = /var/db/repos/local
    3priority = 100
    

6 Списки полезных репозиториев

6.1 Karma


Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие