Дополнительные средства Portage

Обновлено 7 ноября 2026

Страница актуальна для Portage 3.0.82 и Calculate Utilities 3.8.

Защита конфигураций

При установке пакета Portage не трогает конфигурационные файлы в каталогах, защищённых переменной CONFIG_PROTECT: когда в такой каталог нужно поставить новую версию файла, Portage создаёт рядом файл вида ._cfg0000_<имя>. Принять эти изменения помогают описанные ниже утилиты.

etc-update

etc-update обновляет файлы ._cfg0000_<имя>: он обеспечивает интерактивную настройку установки и может автоматически ставить тривиальные изменения. Запуск простой:

etc-update

Сначала утилита сама разбирает тривиальные обновления, затем показывает список защищённых файлов, ожидающих замены. Введите номер слева от файла, чтобы разобрать его отдельно, -1 для выхода, -3 для автоматической замены всех оставшихся файлов либо -5 для автоматической замены без использования mv -i. Перед массовой заменой обязательно отберите файлы, которые не следует обновлять автоматически.

dispatch-conf

dispatch-conf обновляет конфигурационные файлы, сохраняя историю изменений: различия хранятся в виде заплаток или через систему управления версиями RCS, поэтому при ошибке файл можно в любой момент вернуть к предыдущей версии. Как и etc-update, он позволяет оставить файл как есть, взять новый, отредактировать текущий или объединить изменения интерактивно; приятные дополнения — автоматическое принятие файлов, в которых обновились только комментарии, и файлов, отличающихся только количеством пробелов.

Первым делом отредактируйте /etc/dispatch-conf.conf и создайте каталог архива изменённых конфигураций, задаваемый параметром archive-dir; в стандартной конфигурации это ${EPREFIX}/etc/config-archive, то есть /etc/config-archive. Затем выполните:

dispatch-conf

Каждый изменённый файл показывается по одному, управление — одиночными клавишами:

Клавиша Действие
u update: заменить текущий конфигурационный файл новым и перейти к следующему
z zap: удалить новый файл и перейти к следующему
n next: пропустить файл, отложив объединение до будущего запуска
q quit: выйти из программы в любой момент

Когда все файлы разобраны, dispatch-conf выходит сам. Подробнее об интерактивном объединении, правке новых файлов и сравнении версий — на странице справки:

man dispatch-conf

cl-dispatch-conf

В Calculate Linux есть и cl-dispatch-conf — calculate-обёртка над dispatch-conf. Разбор файлов в ней идёт так же, а в списке ключей только один: -f/--force, отключающий вопросы во время процесса:

cl-dispatch-conf -f

Поиск и просмотр

eix

eix ищет по дереву портежей по заранее построенной базе, поэтому работает быстрее обычного emerge --search. В Calculate Linux eix уже установлен, а его база обновляется автоматически после каждой синхронизации репозиториев — для этого дистрибутив подключает хук /etc/portage/postsync.d/50-eix-postsync. Если репозитории ещё не синхронизировались, сначала выполните cl-update -s (см. Введение в Portage). Пример поиска пакета с nano в названии:

eix -e nano
* app-editors/nano
     Доступные версии:      9.2 ~9.3 **9999*l {debug justify magic minimal ncurses nls +spell unicode verify-sig}
     Домашняя страница:     https://www.nano-editor.org/ https://wiki.gentoo.org/wiki/Nano/Guide
     Описание:              GNU GPL'd Pico clone with more functionality

Полностью работа с eix описана на странице Eix; там же упоминается eix-diff — скрипт сравнения двух кэшей eix, например состояния дерева до и после синхронизации.

Набор gentoolkit

Утилиты пакета gentoolkit для вопросов к базе пакетов и управления USE-флагами тоже установлены в системе:

Команда Назначение
equery вопросы к базе пакетов: содержимое, принадлежность файлов, USE-флаги
euse просмотр и управление USE-флагами
ekeyword правка поля KEYWORDS в ebuild-файле
qmerge забирает с сервера и устанавливает готовый бинарный пакет
quickpkg создание архивов уже установленных пакетов
revdep-rebuild поиск и переустановка пакетов со сломанными динамическими ссылками

equery

equery files <пакет> перечисляет файлы установленного пакета; с параметром --filter в выводе остаются только нужные категории файлов — например, --filter=doc оставляет документацию, установленную под флагом doc:

equery files --filter=doc eselect
/usr/share/doc/eselect-1.4.32/AUTHORS.bz2
/usr/share/doc/eselect-1.4.32/ChangeLog.bz2
/usr/share/doc/eselect-1.4.32/NEWS.bz2
/usr/share/doc/eselect-1.4.32/README.bz2

equery b <файл> отвечает, из какого пакета взят файл системы. equery uses <пакет> перечисляет USE-флаги пакета, но без описаний — описания даёт euse -i.

euse

euse работает с глобальными флагами (из make.globals, make.defaults, make.conf, use.force, use.mask) и локальными (из package.use и ebuild-файлов). Основные ключи:

Ключ Действие
-i/--info показать описания заданных флагов
-I/--info-installed то же, только для флагов установленных пакетов
-g/--global рассматривать глобальные флаги
-l/--local рассматривать локальные флаги
-a/--active показать активные флаги
-E/--enable включить флаг
-D/--disable отключить флаг
-R/--remove (псевдоним -P) снять флаг
-p/--package применять к конкретному пакету вместе с -E/-D/-R

Как устроены USE-флаги и как задавать их постоянно, описано на странице USE-флаги.

ekeyword, qmerge и revdep-rebuild

ekeyword правит поле KEYWORDS в ebuild-файлах. Для принятия тестовых версий в Calculate Linux надёжнее использовать файлы /etc/portage/package.accept_keywords — см. Смешение ветвей программного обеспечения.

qmerge загружает с сервера и устанавливает готовый бинарный пакет.

revdep-rebuild находит пакеты со сломанными динамическими ссылками (они появляются, например, после обновления библиотек) и переустанавливает их.

quickpkg

quickpkg создаёт архивы пакетов, уже установленных в системе: достаточно добавить имена пакетов, которые нужно заархивировать.

quickpkg <пакет>

Вместо <пакет> укажите один или несколько установленных пакетов. Получившиеся архивы — готовые бинарные пакеты: quickpkg пишет их в каталог бинарных пакетов, задаваемый переменной PKGDIR; в Calculate Linux это /var/calculate/packages/x86_64, поэтому обычный для Gentoo путь /var/cache/binpkgs здесь не действует. Файлы называются по категории, имени и версии пакета, например app-editors/vim-9.2.1202.tbz2. Установка из таких архивов разобрана на странице Бинарные пакеты, подробная карта путей — на странице Файлы и каталоги.

Обновления безопасности и системы

glsa-check

Обновления безопасности публикуются в виде бюллетеней GLSA (Gentoo Linux Security Advisory). Проверить, затрагивает ли систему какой-либо из перечисленных бюллетеней:

glsa-check -t all
This system is not affected by any of the listed GLSAs

cl-update

Полное обновление системы в Calculate Linux выполняет cl-update: он синхронизирует репозитории, обновляет world, применяет шаблоны и следит за защитой конфигураций. Отдельные пакеты по-прежнему ставятся через emerge, но штатный путь полного обновления — cl-update, а не emerge -DuNa @world. Знакомство с инструментом — на странице Введение в Portage, здесь перечислим основные ключи.

cl-update --help
usage: cl-update [--stable [ON/OFF]] [--scan [ON/OFF]]
                 [--with-bdeps [ON/OFF/AUTO]] [-m MIRROR_URL]
                 [--repo-update REPOSITORY URL] [-o [ON/OFF/AUTO]]
                 [-s [ON/OFF]] [-p [ON/OFF]] [-r REPOSITORIES] [-e [ON/OFF]]
                 [-C [ON/OFF]] [--force-fix [ON/OFF]]
                 [--ignore-level [ON/OFF]] [--force-level LEVEL]
                 [--rebuild-world | --merge-world | --update-world]
                 [--force-check-sign | --skip-check-sign | --auto-check-sign]
                 [--force-egencache | --skip-egencache | --auto-egencache]
                 [--force-eix-update | --skip-eix-update | --auto-eix-update]
                 [-R [ON/OFF]] [--wait-another-update [ON/OFF]]
                 [--schedule [ON/OFF]] [-1 [ON/OFF/AUTO]]
                 [--clean-pkg [ON/OFF]] [--branch REFS] [-T TEMPLATES]
                 [-v [ON/OFF]] [--usenew-conf | --skip-conf | --dispatch-conf]
                 [--exclude exclude] [-f]
Ключ Назначение
-s/--sync-only только синхронизировать репозитории, без обновления пакетов
-p/--pretend показать, что будет сделано, без установки
--stable обновляться только до стабильных версий
-m/--mirror-update задать сервер бинарных пакетов; cl-update -m list показывает варианты
--scan выбрать ближайший сервер обновлений
-r/--repositories выбрать, какие репозитории синхронизировать
--exclude исключить пакет из списка обновления
--force-eix-update/--skip-eix-update принудительно обновить или пропустить обновление базы eix
--usenew-conf/--skip-conf/--dispatch-conf политика конфигов: использовать новые конфигурационные файлы, пропустить их обновление или обновлять вручную через dispatch-conf по умолчанию (см. Защита конфигураций)
--rebuild-world переформировать список пакетов системы; --merge-world добавляет список пакетов профиля, --update-world обновляет его (значение по умолчанию)
--branch установить ссылки для репозиториев (формат REPOSITORY:REF)