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