НАИМЕНОВАНИЕ¶
pacman.conf -
конфигурационный
файл
менеджера
пакетов pacman
СИНОПСИС¶
/etc/pacman.conf
ОПИСАНИЕ¶
Pacman,
используя
libalpm(3), будет
пытаться
прочитать
файл pacman.conf при
каждом его
вызове.
Этот
конфигурационный
файл
разделен
на разделы
или
репозитории.
В каждом
разделе
определяется
репозиторий
пакетов,
который pacman
может
использовать
при поиске
пакетов в
режиме --sync.
Исключением
является
раздел
"Опции", в
котором
определены
глобальные
опции.
Комментарии
поддерживаются
только в
том случае,
если
строка
начинается
с символа
"#".
Комментарии
не могут
начинаться
с середины
строки.
ПРИМЕРЫ¶
#
# pacman.conf
#
[options]
NoUpgrade = etc/passwd etc/group etc/shadow
NoUpgrade = etc/fstab
[core]
Include = /etc/pacman.d/core
[custom]
Server = file:///home/pkgs
Примечание
Каждая
директива
должна
быть в
определенном
регистре.
Если
регистр не
соблюден,
директива
не будет
распознана.
Например, noupgrade
или NOUPGRADE не
будут
работать.
ОПЦИИ¶
RootDir = /path/to/root/dir
Определяет
корневой
каталог по
умолчанию
для
установки
с помощью pacman.
Эта опция
используется,
если вы
хотите
установить
пакет на
временно
подключенный
раздел,
который
"принадлежит"
другой
системе,
или для
установки
через chroot.
ПРИМЕЧАНИЕ:
Если путь к
базе
данных или
файл
журнала не
указаны ни
в
командной
строке, ни в
файле
pacman.conf(5),
то их
расположение
по
умолчанию
будет
находиться
внутри
этого
корневого
пути.
DBPath = /path/to/db/dir
Переопределяет
расположение
каталога
базы
данных
верхнего
уровня по
умолчанию.
По
умолчанию
используется
каталог /var/lib/pacman/.
Большинству
пользователей
не нужно
устанавливать
эту опцию.
ПРИМЕЧАНИЕ:
Это должен
быть
абсолютный
путь.
CacheDir = /path/to/cache/dir
Переопределяет
расположение
каталога
кэша
пакетов по
умолчанию.
По
умолчанию
используется
/var/cache/pacman/pkg/. Можно
указать
несколько
таких
каталогов
кэша, и они
будут
использоваться
в том
порядке, в
котором
они
перечислены
в
конфигурационном
файле. Если
файл не
найден ни в
одном из
каталогов
кэша, то он
будет
загружен в
первый
каталог
кэша с
доступом
на запись.
ПРИМЕЧАНИЕ:
Это должен
быть
абсолютный
путь.
HookDir = /path/to/hook/dir
Добавляет
каталоги
для поиска
перехватчиков
alpm в
дополнение
к
системному
каталогу
перехватчиков
(/usr/share/libalpm/hooks/). По
умолчанию
используется
/etc/pacman.d/hooks. Можно
указать
несколько
каталогов,
при этом
перехватчики
в более
поздних
каталогах
будут
иметь
приоритет
над
перехватчиками
в более
ранних
каталогах.
ПРИМЕЧАНИЕ:
Это должен
быть
абсолютный
путь. Для
получения
дополнительной
информации
о
перехватчиках
alpm смотрите
страницу
руководства
alpm-hooks(5).
GPGDir = /path/to/gpg/dir
Переопределяет
расположение
каталога,
содержащего
файлы
конфигурации
для GnuPG по
умолчанию.
По
умолчанию
используется
/etc/pacman.d/gnupg/. Этот
каталог
должен
содержать
два файла: pubring.gpg
и trustdb.gpg. В файле
pubring.gpg хранятся
открытые
ключи всех
упаковщиков.
Файл trustdb.gpg
содержит
так
называемую
базу
данных trust, в
которой
указывается,
что ключи
являются
подлинными
и
заслуживающими
доверия.
ПРИМЕЧАНИЕ:Это
должен
быть
абсолютный
путь.
LogFile = /path/to/log/file
Переопределяет
расположение
файла
журнала pacman
по
умолчанию.
По
умолчанию
используется
/var/log/pacman.log. Это
должен
быть
абсолютный
путь.
HoldPkg = package ...
Если
пользователь
попытается
удалить
пакет,
который
указан в HoldPkg, с
помощью --remove,
то pacman
запросит
подтверждение,
прежде чем
продолжить.
Разрешены
шаблоны
глобальных
объектов в
стиле
оболочки Shell.
IgnorePkg = package ...
Указывает
pacman
игнорировать
любые
обновления
для этого
пакета при
выполнении
--sysupgrade.
Допускаются
шаблоны glob в
стиле
оболочки.
IgnoreGroup = group ...
Указывает
pacman
игнорировать
любые
обновления
для всех
пакетов в
этой
группе при
выполнении
--sysupgrade.
Допускаются
шаблоны glob в
стиле
оболочки.
Include = /path/to/config/file
Включить
другой
конфигурационный
файл. Этот
файл может
содержать
репозитории
или общие
параметры
конфигурации.
Подстановочные
знаки в
указанных
путях
будут
расширены
на основе
правил
glob(7).
Architecture = auto &| i686 &| x86_64 | ...
Если это
определено,
то pacman
разрешит
установку
только
пакетов с
заданной
архитектурой
(то есть,
например, i686,
x86_64, и так
далее).
Специальное
значение auto
будет
использовать
архитектуру
системы,
указанную
с помощью
“uname -m”. Если
это не
определено,
то
проверка
архитектуры
не
выполняется.
ПРИМЕЧАНИЕ:
Пакеты со
специальной
архитектурой
any всегда
могут быть
установлены,
поскольку
они должны
быть
независимыми
от
архитектуры.
XferCommand = /path/to/command %u [%o]
Если эта
опция
определена,
то для
загрузки
всех
удаленных
файлов
будет
использоваться
внешняя
программа.
Все
экземпляры
%u будут
заменены
на URL-адрес
загрузки.
Если опция
определена,
то
экземпляры
%o будут
заменены
на
локальное
название, а
также “.part”
расширение,
которое
позволяет
таким
программам,
как wget,
корректно
восстанавливать
файлы.
Эта опция
полезна
для
пользователей,
которые
испытывают
проблемы
со
встроенной
поддержкой
HTTP/FTP или
нуждаются
в более
совершенной
поддержке
прокси,
которая
поставляется
с такими
утилитами,
как wget.
NoUpgrade = file ...
Все
файлы,
перечисленные
с
директивой
NoUpgrade, никогда
не будут
затронуты
во время
установки
или
обновления
пакета, а
новые
файлы
будут
установлены
с
расширением
.pacnew. Эти
файлы
относятся
к файлам в
архиве
пакета,
поэтому не
указывайте
начальную
косую
черту ("/")
при их
указании.
Допускаются
шаблоны glob в
стиле
оболочки.
Можно
инвертировать
совпадения,
поставив
перед
файлом
восклицательный
знак.
Инверсия
файлов
приведет к
тому, что
файлы,
ранее
внесенные
в черный
список,
снова
будут
занесены в
белый
список.
Последующие
совпадения
будут
перекрывать
предыдущие.
Символ
восклицательного
знака или
обратная
косая
черта
должны
быть
экранированы.
NoExtract = file ...
Все
файлы,
перечисленные
с
директивой
NoExtract, никогда
не будут
извлечены
из пакета в
файловую
систему.
Это может
быть
полезно,
если вы не
хотите
устанавливать
часть
пакета.
Например,
если ваш httpd root
использует
index.php, тогда вы
бы не
захотели,
чтобы файл
index.html
извлекался
из пакета
apache. Эти
файлы
относятся
к файлам в
архиве
пакета,
поэтому не
указывайте
начальную
косую
черту ("/"r)
при их
указании.
Допустимо
использовать
шаблоны glob в
стиле
оболочки.
Можно
инвертировать
совпадения,
поставив
перед
файлом
восклицательный
знак.
Инверсия
файлов
приведёт к
тому, что
файлы,
ранее
внесенные
в черный
список,
снова
будут
занесены в
белый
список.
Последующие
совпадения
будут
перекрывать
предыдущие.
Символ
восклицательного
знака или
обратная
косая
черта
должны
быть
экранированы.
CleanMethod = KeepInstalled &| KeepCurrent
Если
установлено
значение KeepInstalled
(по
умолчанию),
то
операция -Sc
удалит
пакеты,
которые
больше не
установлены
(отсутствуют
в
локальной
базе
данных).
Если
установлено
значение KeepCurrent,
то -Sc удалит
устаревшие
пакеты
(отсутствующие
в любой
синхронизированной
базе
данных).
Второй
способ
полезен,
когда кэш
пакетов
используется
совместно
несколькими
компьютерами,
где
локальные
базы
данных
обычно
различаются,
но
используемые
синхронизируемые
базы
данных
могут быть
одинаковыми.
Если
указаны
оба
значения,
то пакеты
очищаются
только в
том случае,
когда они
не
установлены
локально и
отсутствуют
в
какой-либо
известной
синхронизируемой
базе
данных.
SigLevel = ...
Установить
уровень
проверки
подписи по
умолчанию.
Дополнительные
сведения
см. в
разделе
"Проверка
подписей
пакетов и
баз
данных"
ниже.
LocalFileSigLevel = ...
Установить
уровень
проверки
подписи
для
установки
пакетов,
используя
операцию
"-U" для
локального
файла. В
качестве
значения
по
умолчанию
используется
значение
из SigLevel.
RemoteFileSigLevel = ...
Установить
уровень
проверки
подписи
для
установки
пакетов,
используя
операцию
"-U" для
URL-адреса
удаленного
файла. По
умолчанию
используется
значение
из SigLevel.
UseSyslog
Регистрировать
сообщения
о
действиях
с помощью syslog().
Это
позволит
вставить
записи
журнала в
/var/log/messages или
что-то
подобное.
Color
Включать
цвета
автоматически
только
тогда,
когда
вывод pacman’s)
осуществляется
на tty.
NoProgressBar
Отключить
индикаторы
выполнения.
Это
полезно
для
терминалов,
которые не
поддерживают
escape-символы.
CheckSpace
Выполнять
приблизительную
проверку
наличия
достаточного
свободного
места на
диске
перед
установкой
пакетов.
VerbosePkgLists
Отображать
название,
версию и
размер
целевых
пакетов в
формате
таблицы
для
операций
обновления,
синхронизации
и
удаления.
DisableDownloadTimeout
Отключить
настройки
по
умолчанию
по
ограничению
скорости и
времени
ожидания
при
загрузке .
Используйте
это, если у
вас
возникли
проблемы с
загрузкой
файлов с
помощью
прокси-сервера
и/или шлюза
безопасности.
ParallelDownloads = ...
Указывает
количество
одновременных
потоков
загрузки.
Значение
должно
быть
положительным
целым
числом.
Если эта
опция
конфигурации
не задана,
то
используется
только
один поток
загрузки
(т.е.
загрузки
происходят
последовательно).
DownloadUser = username
Указывает
пользователя,
на
которого
следует
переключиться
для
загрузки
файлов.
Если эта
опция
конфигурации
не задана,
то
загрузка
выполняется
от имени
пользователя,
запускающего
pacman.
DisableSandbox
Полностью
отключает
"песочницу",
применяемую
к процессу
загрузки
файлов в
системах Linux.
Эквивалентно
совместному
указанию
DisableSandboxFilesystem и DisableSandboxSyscalls.
DisableSandboxFilesystem
Отключить
ограничения
файловой
системы,
которые
являются
частью
"песочницы",
применяемой
к процессу
загрузки
файлов в
системах Linux.
Полезно,
если при
загрузке
файлов
возникают
сбои,
связанные
с
локальной
блокировкой,
при
запуске
ядра Linux,
которое не
поддерживает
эту
функцию.
DisableSandboxSyscalls
Отключить
фильтрацию
системных
вызовов в
песочнице,
применяемой
к процессу
загрузки
файлов в
системах Linux.
Полезно,
если при
загрузке
файлов,
связанных
с seccomp,
возникают
сбои при
запуске
ядра Linux,
которое не
поддерживает
эту
функцию.
РАЗДЕЛЫ РЕПОЗИТОРИЯ¶
Каждый
раздел
репозитория
определяет
название
раздела и,
по крайней
мере, одно
местоположение,
в котором
могут быть
найдены
пакеты.
Название
раздела
определяется
строкой в
квадратных
скобках
(две
указанные
выше core и custom).
Названия
репозиториев
должны
быть
уникальными,
а название
local
зарезервировано
для базы
данных
установленных
пакетов.
Местоположения
определяются
директивой
Server и
соответствуют
структуре
именования
URL-адресов.
Если вы
хотите
использовать
локальный
каталог, вы
можете
указать
полный
путь к
файлу с
префиксом
“file://”, как
показано
выше.
Распространенным
способом
определения
расположения
баз данных
является
директива
Include. Для
каждого
репозитория,
определенного
в файле
конфигурации,
одна
директива
Include может
содержать
файл со
списком
серверов
для этого
репозитория.
[core]
# использовать этот серверfirst
Server = ftp://ftp.archlinux.org/$repo/os/$arch
# затем использовать серверы, как указано в приведенном ниже списке зеркал
Include = /etc/pacman.d/mirrorlist
Порядок
расположения
репозиториев
в файлах
конфигурации
имеет
значение;
репозитории,
перечисленные
первыми,
будут
иметь
приоритет
перед теми,
которые
перечислены
в файле
позже
(когда
пакеты в
двух
репозиториях
имеют
одинаковые
названия,
независимо
от номера
версии).
Include = path
Подключить
другой
конфигурационный
файл. Этот
файл может
содержать
репозитории
или общие
опции
конфигурации.
Подстановочные
знаки в
указанных
путях
будут
расширены
в
соответствии
с
правилами
glob(7).
CacheServer = url
Полный
URL-адрес
месторасположения,
где можно
найти
пакеты и
подписи
(если
таковые
имеются)
для этого
репозитория.
Кэш-серверы
будут
опробованы
в первую
очередь,
перед
любыми
серверами,
не
использующими
кэш, они не
будут
удалены из
пула
серверов
из-за
ошибок
загрузки 404 и
не будут
использоваться
для файлов
базы
данных.
Server = url
Полный URL
местоположения
базы
данных,
пакетов и
подписей
(если
таковые
имеются)
для этого
репозитория.
Во время
синтаксического
анализа pacman
присвоит
переменной
$repo название
текущего
раздела.
Это часто
используется
в файлах,
указанных
с помощью
директивы
Include, чтобы
все
репозитории
могли
использовать
один и тот
же файл
зеркал.
Также pacman
определяет
переменную
$arch как
первое (или
единственное)
значение
опции Architecture,
поэтому
один и тот
же файл
зеркал
может
использоваться
даже для
разных
архитектур.
SigLevel = ...
Установить
уровень
проверки
подписи
для этого
репозитория.
Дополнительные
сведения
см. в
разделе
"Проверка
подписи
пакетов и
баз
данных"
ниже.
Usage = ...
Установить
уровень
использования
для этого
репозитория.
Для этой
опции
используется
список
токенов,
который
должен
быть как
минимум
одним из
следующих:
Sync
Включает
обновления
для этого
репозитория.
Search
Включает
поиск по
этому
репозиторию.
Install
Включает
установку
пакетов из
этого
репозитория
во время
операции
--sync.
Upgrade
Позволяет
этому
репозиторию
быть
допустимым
источником
пакетов
при
выполнении
--sysupgrade.
All
Включает
все
вышеперечисленные
функции
для
репозитория.
Это
значение
используется
по
умолчанию,
если оно не
указано.
Примечание.
С
подключённым
репозиторием
можно
работать
явно,
независимо
от
установленного
уровня
использования.
ПРОВЕРКА ПОДПИСЕЙ ПАКЕТОВ И БАЗ ДАННЫХ¶
Директива
SigLevel
действительна
как в
разделе
"Опции" [options],
так и в
разделах
репозитория.
Если она
используется
в разделе
"Опции", то
она
устанавливает
значение
по
умолчанию
для любого
репозитория,
который не
имеет
настроек.
•Если
установлено
значение
никогда Never,
то
проверка
подписи
выполняться
не будет.
•Если
установлено
значение
дополнительно
Optional , то
подписи
будут
проверяться
при их
наличии, но
неподписанные
базы
данных и
пакеты
также
будут
приниматься.
•Если
установлено
значение
обязательно
Required, то
подписи
будут
необходимы
для всех
пакетов и
баз
данных.
Кроме
того, вы
можете
получить
более
широкое
управление,
комбинируя
некоторые
опции и
префиксы,
описанные
ниже. Все
опции в
конфигурационном
файле
обрабатываются
сверху
вниз, слева
направо,
где более
поздние
опции
переопределяют
и/или
дополняют
более
ранние.
Если в
разделе
репозитария
указано
значение
SigLevel, то
начальным
значением
будет
значение
из раздела
"Опции" [options]
или
встроенное
системное
значение
по
умолчанию,
как
показано
ниже, если
иное не
указано.
Опции
разделены
на две
основные
группы,
которые
описаны
ниже.
Используемые
термины,
например, “,
которым
доверяют
изначально
”, являются
терминами,
используемыми
GnuPG; для
получения
дополнительной
информации,
пожалуйста,
обратитесь
к gpg(1).
Когда
следует
проверять
Эти
опции
определяют,
должна ли
выполняться
проверка
подписи и
когда
именно.
Never
Любая
проверка
подписей
отключается,
даже если
подписи
присутствуют.
Optional
Подписи
проверяются,
если они
есть;
отсутствие
подписи не
является
ошибкой.
Неверная
подпись
является
фатальной
ошибкой,
как и
подпись
ключом,
которого
нет в
связке
ключей.
Required
(настройка
по
умолчанию)
Требуются
подписи;
отсутствие
подписи
или
недействительная
подпись
является
фатальной
ошибкой,
как и
подпись
ключом,
которого
нет в
связке
ключей.
Что
разрешено
Эти
опции
определяют,
какие
подписи
считаются
допустимыми.
Примечание.
Обратите
внимание,
что ни одна
из этих
опций не
позволяет
принимать
недействительные
подписи,
срок
действия
которых
истек, или
подписи из
отозванных
ключей.
TrustedOnly
(настройка
по
умолчанию)
Если
подпись
проверена,
она должна
быть в
связке
ключей и
пользоваться
полным
доверием;
минимальное
(не полное)
доверие не
соответствует
этому
критерию.
TrustAll
Если
подпись
проверена,
то она
должна
быть в
связке
ключей, но
не
обязательно,
чтобы ей
был
присвоен
уровень
доверия
(например,
неизвестный
уровень
доверия
или
минимальный).
Опции в
обеих
группах
могут
дополнительно
иметь
префикс
"пакет" Package
или "база
данных" Database ,
что
приведет к
тому, что
они
вступят в
силу
только для
указанного
типа
объекта.
Например,
PackageTrustAll
разрешит
подписи с
минимальным
уровнем
доверия и
неизвестным
уровнем
доверия
для
пакетов.
Встроенным
значением
по
умолчанию
является
следующее:
SigLevel = Required TrustedOnly
ИСПОЛЬЗОВАНИЕ ВАШЕГО СОБСТВЕННОГО РЕПОЗИТОРИЯ¶
Если у вас
есть
множество
собственных
пользовательских
пакетов,
часто
бывает
проще
создать
свой
собственный
локальный
репозиторий,
чем
устанавливать
их все с
помощью
опции --upgrade.
Все, что вам
нужно
сделать,
это
создать
сжатую
базу
данных
пакетов в
каталоге с
этими
пакетами,
чтобы pacman мог
найти ее
при
запуске с
помощью
опции --refresh.
Это можно
сделать с
помощью
следующей
команды.
repo-add /home/pkgs/custom.db.tar.gz /home/pkgs/*.pkg.tar.gz
Эта
команда
создаст
сжатую
базу
данных с
названием
/home/pkgs/custom.db.tar.gz.
Обратите
внимание,
что база
данных
должна
иметь
формат,
определенный
в файле
конфигурации,
и {ext}
является
допустимым
типом
сжатия, как
описано в
документации
repo-add(8). Ничего
более!
Теперь
настройте
свой
пользовательский
раздел в
файле
конфигурации,
как
показано в
примере
конфигурации
выше . Тогда
pacman будет
использовать
ваш
репозиторий
пакетов .
Если вы
добавляете
новые
пакеты в
репозиторий,
то не
забудьте
повторно
создать
базу
данных и
использовать
опцию --refresh).
Дополнительные
сведения о
команде repo-add
см. в
документе
“repo-add --help” или на
странице
руководства
repo-add(8).
ПРОГРАММНЫЕ ОШИБКИ¶
Мы
считаем,
что в этом
программном
обеспечении
нет ошибок.
Но если мы
окажемся
неправы, то
пожалуйста,
сообщите
об этом в
службу
отслеживания
проблем по
адресу
https://gitlab.archlinux.org/pacman/pacman/-/issues и
сообщите,
пожалуйста,
следующие
сведения:
вашу
командную
строку,
характер
ошибки и,
если это
возможно,
базу
данных
пакетов.
АВТОРЫ¶
Текущие
сопровождающие:
•Allan McRae <allan@archlinux.org>
•Andrew Gregory
<andrew.gregory.8@gmail.com>
•Morgan Adamiec
<morganamilo@archlinux.org>
Основные
бывшие
участники:
•Judd Vinet <jvinet@zeroflux.org>
•Aurelien Foret
<aurelien@archlinux.org>
•Aaron Griffin <aaron@archlinux.org>
•Dan McGee <dan@archlinux.org>
•Xavier Chantry <shiningxc@gmail.com>
•Nagy Gabor <ngaba@bibl.u-szeged.hu>
•Dave Reisner <dreisner@archlinux.org>
•Eli Schwartz
<eschwartz@archlinux.org>
Для
получения
дополнительных
сведений
об
участниках
используйте
команду: git shortlog -s
в
репозитории
pacman.git repository.
ПЕРЕВОД¶
Русский
перевод
этой
страницы
руководства
разработал(и)
Aleksandr Felda <afelda@ro.ru>
Этот
перевод
является
свободной
программной
документацией;
он
распространяется
на
условиях
общедоступной
лицензии GNU (GNU
General Public License - GPL,
https://www.gnu.org/licenses/gpl-3.0.html
версии 3 или
более
поздней) в
отношении
авторского
права, но
БЕЗ
КАКИХ-ЛИБО
ГАРАНТИЙ.
Если вы
обнаружите
какие-либо
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
сообщите
об этом
разработчику(ам)
по его(их)
адресу(ам)
электронной
почты или
по адресу
списка
рассылки
русских
переводчиков.