Apt-repo
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