Scroll to navigation

PACMAN.CONF(5) Руководство по применению Pacman PACMAN.CONF(5)

НАИМЕНОВАНИЕ

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).

СМОТРИТЕ ТАКЖЕ

pacman(8), libalpm(3)

Смотрите веб-сайт pacman по адресу https://archlinux.org/pacman/ для получения текущей информации о pacman и связанных с ним инструментах.

ПРОГРАММНЫЕ ОШИБКИ

Мы считаем, что в этом программном обеспечении нет ошибок. Но если мы окажемся неправы, то пожалуйста, сообщите об этом в службу отслеживания проблем по адресу 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 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.

11-11-1111 Pacman 7.1.0