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

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

Содержание

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

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
    

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

6.1 Karma


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

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

Похожие