Apt-repo

Материал из ALT Linux Wiki

apt-repo — утилита для управления списком репозиториев APT.

Утилита существует с 2011 года. В дистрибутивы она попадает, начиная с поздних выпусков дистрибутивов на бранче p7, однако была помещена в бранчи p5/5.1 и p6/t6. Если утилита оказалась у Вас не установлена, установите её из соответствующего репозитория.

Типичный пример использования:

apt-repo set p10

Команда удаляет абсолютно все источники без разбора и добавляет исключительно необходимое для бранча p10. Архитектура выбирается автоматически.

Ранее аналогичное достигалось двумя командами:

apt-repo rm all
apt-repo add p8

Документация

NAME
     apt-repo — Manipulate APT repository list

SYNOPSIS
     apt-repo [list] [-a]
     apt-repo list [task] id
     apt-repo add source
     apt-repo rm source|all [type]
     apt-repo set branch
     apt-repo clean
     apt-repo update
     apt-repo test [task] id
     apt-repo upgrade [id]
     apt-repo [-h] [-v]

DESCRIPTION
     The apt-repo script allows to show, add, and remove APT repositories
     specified by a source in sources.list(5) format, an URL with optional
     component, a branch name, or a task number.

     Since apt-repo relies internally on apt-config(8) to find the files which
     contain the repository lists, it can be asked to manipulate arbitrary
     non-system APT sources.list by setting APT_CONFIG, which is a standard
     environment variable looked into by APT to find its configuration.  Exam‐
     ple:

           APT_CONFIG=~/.hasher/apt-extra.conf apt-repo add p7

     will manipulate the repository lists in the files defined (if any) in
     ~/.hasher/apt-extra.conf.  This can be useful, for example, to manipulate
     a user's local hasher(7) configuration.  (Such configurations are
     described in more detail at https://www.altlinux.org/Hasher/Tips.)

     If --dry-run is defined in command line changes only shown, is not per‐
     formed.

OPTIONS
     list    Show active repositories in sources.list(5) format. If -a is
             specified, all available repositories are displayed (inactive
             ones are commented by ‘#’).

     list [task] id
             Show names of all available packages (except *-devel*, *-checkin‐
             stall and *-debuginfo) in a task repository specified by id.

     add source
             Add source to list of active repositories.

     rm source [<type>]
             Remove or comment source if it is active. Special keyword all
             removes all active sources. The all keyword followed by optional
             <type> removes all sources of specified type: ‘branch’ or
             ‘branches’ removes all branch sources, ‘task’ or ‘tasks’ removes
             all tasks sources, ‘cdrom’ or ‘cdroms’ removes all cdrom sources.

     set branch
             Removes all exising sources and adds branch branch
     
     clean   Removes all cdrom and task sources.

     update  Run
                   apt-get update
             to update APT cache from active repositories.

     test [task] id
             Install all available packages (except *-devel*, *-checkinstall
             and *-debuginfo) from the task repository specified by id.

     test [task] id pkg1 pkg2
             Install the given packages from the task repository specified by
             id.

     test [task] '' pkg1 pkg2
             Install the given packages (without modifying APT repos).

     upgrade [id [id]]
             Upgrade all packages (including specified task(s) by id ).

     -h --help
             Print usage information and quit.

     -v --version
             Print version and quit.

SOURCE FORMAT
   APT Source
     Source can be specified in sources.list(5) format:

           apt-repo add "rpm http://git.altlinux.org/repo/39115/ i586 task"

     Recognized repository types: rpm, rpm-dir and rpm-src. It is allowed to
     specify source as separate words. If trailing architecture and component
     are missed two lines will be added (current system architecture and
     ‘noarch’) with component ‘classic’

   URL
     APT supports file://, copy://, http://, ftp://, rsync:// and cdrom://
     protocols.  URL with required protocol may be followed by an optional
     architecture and one or more components. If architecture and component
     are missing, two lines will be added (current system architecture and
     ‘noarch’) with component ‘classic’.  This form is useful to add a branch
     on a mirror server.

     Example:

           apt-repo add ftp://mirror.yandex.ru/altlinux/p7/branch

   Absolute Path
     Local directory beginning with ‘/’ added as a hasher(7) repository: with
     current system architecture and ‘hasher’ component.

           apt-repo add /opt/repo

   Branch
     Branch is a named repository consisting of two parts (current system
     architecture and 'noarch'). By default, the official server is used. Full
     form:

           apt-repo add branch <name of branch> [<archive_date>]

     Keyword ‘branch’ may be omitted. Example:

           apt-repo add p7
     Running
           apt-repo add branch

     without the name of a branch displays all available branch names.
     ‘archive_date’ allows to add archive of branch. Date of archive should be
     in form YYYYMMDD or YYYY/MM/DD.

   Task
     Task is small repository for one or more subtask built in
     http://git.altlinux.org infrastructure. This source is used to install
     software for test purpose.  Any task has unique number. Full form:

           apt-repo add task <number of task>

     Keyword ‘task’ may be omitted. Example:

           apt-repo add 39115

FILES
     /etc/apt/sources.list
              The main list of repositories which APT reads. New repositiories
              are added here (and, in this case, if it doesn't exist, then it
              is created).
     /etc/apt/sources.list.d/*.list
              The additional lists which APT reads.
     /etc/apt/apt.conf
     /etc/apt/apt.conf.d/*.conf
              The system APT configuration which may override the above
              default paths for sources.list(.d).

ENVIRONMENT VARIABLES
     APT_CONFIG
              This value overrides the default place where APT looks for
              apt.conf.  Setting it allows one to manipulate arbitrary user's
              non-system sources.list by preparing a custom apt.conf (e.g.,
              for hasher).

SEE ALSO
     sources.list(5), apt-cache(8), apt-get(8)

AUTHORS
     Andrey Cherepanov cas@altlinux.org


НАЗВАНИЕ
     apt-repo — управление списком репозиториев APT

ОБЗОР
     apt-repo [list] [-a]
     apt-repo list [task] id
     apt-repo add источник
     apt-repo rm источник|all [тип]
     apt-repo set ветка
     apt-repo clean
     apt-repo update
     apt-repo test [task] id
     apt-repo upgrade [id]
     apt-repo [-h] [-v]

ОПИСАНИЕ
     Утилита apt-repo позволяет просматривать, добавлять и удалять
     репозитории APT, определённые как источники в формате sources.list(5),
     URL с необязательными параметрами, название ветки или номер задачи.

     Поскольку утилита apt-repo для поиска файлов, содержащих списки репозиториев,
     внутренне опирается на apt-config(8), её можно настроить для управления
     произвольными несистемными APT sources.list, установив переменную
     APT_CONFIG, которая является стандартной переменной среды, используемой
     APT для поиска конфигурации.  Например,

           APT_CONFIG=~/.hasher/apt-extra.conf apt-repo add p7

     позволяет управлять списками репозиториев в файлах, определённых (если
     таковые имеются) в ~/.hasher/apt-extra.conf. Это может быть полезно,
     например, для управления локальной конфигурацией hasher(7). (Такие
     конфигурации описаны более подробно на
     https://www.altlinux.org/Hasher/Tips.)

     Если задана опция --dry-run, то изменения не выполняются, а только
     отображаются.

ПАРАМЕТРЫ
     list    Показать список активных репозиториев в формате sources.list(5).
             Если указана опция -a, будут показаны все доступные репозитории
             (неактивные будут закомментированы ‘#’).

     list [task] id
             Показать список всех доступных пакетов (кроме *-devel*, *-check‐
             install и *-debuginfo) в хранилище задач, заданном id.

     add источник
             Добавить источник в список активных репозиториев.

     rm источник [<тип>]
             Удалить или закомментировать источник, если он активен. При
             указании ключевого слова all удаляются все активные источники.
             При указании ключевого слова all, за которым следует
             необязательный <тип>, удаляются все активные источники указанного
             типа: ‘branch’ или ‘branches’ - удаляются все ветки, ‘task’ или
             ‘tasks’ - удаляются все хранилища задач, ‘cdrom’ или ‘cdroms’ -
             удаляются все источники типа cdrom.

     set ветка
             Удалить все существующие источники и добавить ветку ветка.

     clean   Удалить все источники типа cdrom и все хранилища задач.

     update  Запустить команду
                   apt-get update
             для обновления кэша APT из активных источников.

     test [task] id
             Установить все доступные пакеты (кроме *-devel*, *-checkinstall и
             *-debuginfo) из хранилища задач, заданного id.

     test [task] id пакет1 пакет2
             Установить все указанные пакеты из хранилища задач, заданного id.

     test [task] '' пакет1 пакет2
             Установить все указанные пакеты (без изменения репозиториев APT).

     upgrade [id [id]]
             Обновить все пакеты (в том числе из хранилищ задач, заданных id).

     -h --help
             Вывести информацию об использовании и выйти.

     -v --version
             Вывести версию и выйти.

ФОРМАТ ИСТОЧНИКОВ
   Источники APT
     Источник может быть указан в формате sources.list(5):

           apt-repo add "rpm http://git.altlinux.org/repo/39115/ i586 task"

     Допустимы следующие типы репозиториев: rpm, rpm-dir и rpm-src.  Если в
     конце строки отсутствуют архитектура и компонент, будут добавлены две
     строки (текущая архитектура системы и ‘noarch’) с компонентом ‘classic’.

   URL
     APT поддерживает протоколы file://, copy://, http://, ftp://, rsync:// и
     cdrom://.  URL с обязательным указанием протокола может сопровождаться
     необязательным указанием архитектуры и одним или несколькими
     компонентами.  Если архитектура и компонент отсутствуют, будут добавлены
     две строки (текущая архитектура системы и ‘noarch’) с компонентом
     ‘classic’.  Эта форма полезна для добавления зеркала репозитория.

     Пример:

           apt-repo add ftp://mirror.yandex.ru/altlinux/p7/branch

   Абсолютный путь
     Локальный каталог, начинающийся с ‘/’, будет добавлен как репозиторий
     hasher(7) с текущей архитектурой системы и компонентом ‘hasher’.

           apt-repo add /opt/repo

   Branch
     Ветка (бранч) - это именованное хранилище, состоящее из двух частей
     (текущая архитектура системы и 'noarch').  По умолчанию используется
     официальный сервер. Полная форма:

           apt-repo add branch <имя ветки> [<дата архива>]

     Ключевое слово ‘branch’ может быть опущено. Пример:

           apt-repo add p7

     Запуск команды
           apt-repo add branch

     без названия ветки отображает все доступные ветки (бранчи).  Ключевое
     слово ‘дата архива’ позволяет добавить архив ветки.  Дата архива должна
     быть представлена в формате YYYYMMDD или YYYY/MM/DD.  Пример:

           apt-repo add p9 2020/02/14

   Хранилище задач
     Хранилище задач - это небольшой репозиторий для одной или нескольких
     подзадач, встроенных в инфраструктуру http://git.altlinux.org.  Этот
     источник используется для установки пакетов с целью тестирования.  Каждая
     задача имеет уникальный номер. Полная форма:

           apt-repo add task <номер задачи>

     Ключевое слово ‘task’ может быть опущено. Пример:

           apt-repo add 39115

ФАЙЛЫ
     /etc/apt/sources.list
              Основной список репозиториев, который читает APT.  Сюда
              добавляются новые репозитории (и, в случае, если этого файла не
              существует, он будет создан).
     /etc/apt/sources.list.d/*.list
              Дополнительные списки репозиториев, которые читает APT.
     /etc/apt/apt.conf
     /etc/apt/apt.conf.d/*.conf
              Файл конфигурации APT, который может переопределить
              вышеуказанные пути по умолчанию для sources.list(.d).

ОКРУЖЕНИЕ
     APT_CONFIG
              Это значение переопределяет расположение по умолчанию, в котором
              APT выполняет поиск apt.conf.  Установка этой переменной
              позволяет управлять пользовательским несистемным списком
              репозиториев (sources.list) путём подготовки собственного
              apt.conf (например, для hasher).

СМОТРИТЕ ТАКЖЕ
     sources.list(5), apt-cache(8), apt-get(8)

АВТОР
     Андрей Черепанов cas@altlinux.org

Хаки

Скачать

http://git.altlinux.org/people/cas/packages/apt-repo.git