Дополнительные средства 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 в названии:
* 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:
/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). Проверить, затрагивает ли систему какой-либо из перечисленных бюллетеней:
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, здесь перечислим основные ключи.
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) |