w-pack
w-pack — Установка и просмотр дополнительных наборов ПО W (паков).
Использование
Использование: w-pack <команда> [бандл] [--user <имя>] [--porcelain] [--packages]
[--yes] [--force]
Info: Установка и просмотр дополнительных наборов ПО W (паков).
Дополнительные наборы ПО (W-Packs) — необязательные надстройки над базой.
У бандла есть МАШИННЫЙ слой (пакеты, системный конфиг, службы — ставится один раз,
нужен root) и ПОЛЬЗОВАТЕЛЬСКИЙ слой (его инструменты и конфиг в вашем доме).
Команды:
list Список доступных бандлов и их состояние
install <бандл> Установить бандл: машинный слой, затем ваш пользовательский
setup <бандл> Настроить уже установленный бандл для ВАШЕЙ учётной записи
(без root и polkit — пишет только в ваш домашний каталог)
refresh [<бандл>] Переприменить установленные бандлы из готового дерева,
НЕ трогая пакеты (конфиг + w-style + AI-скил + setup)
remove <бандл> Размотать проводку W: пользовательские слои, машинный
teardown, конфиг во владении W, оси темы, AI-скил и
состояние. Пакеты и данные остаются (см. --packages)
unsetup <бандл> Отменить только слой ВАШЕЙ учётной записи, не трогая
машину и остальных (без root, как `setup`)
status [<бандл>] Показать, что установлено (всё или один бандл)
outdated [<бандл>] Сравнить ПО, которое бандл ставит МИМО pacman (например,
AI-движок), с версией, на которой оно должно стоять
upgrade [<бандл>] Перевести это ПО на версию, которую называет `outdated`,
показав план; при неудаче само откатывается
help Показать эту справку
Параметры:
--user <имя> Работать для другой учётной записи (только root; иначе
вызвавший пользователь, либо SUDO_USER / основной uid-1000)
--porcelain Машиночитаемый `list`, по бандлу на строку:
<имя> TAB <machine:yes|no> TAB <user:yes|no|n/a> TAB <опис>
и `outdated`: <бандл> TAB <компонент> TAB <стоит> TAB <цель>
--all Для `list`: показать и бандлы, которых нет в каталогах
(AUDIENCE=maintainer — инструменты разработки самой W)
--packages Для `remove`: удалить и пакеты бандла, кроме тех, что
перечисляет другой установленный бандл. Без флага точная
строка `pacman -Rns` только печатается
--yes Для `upgrade`: не спрашивать перед началом
--force Для `upgrade`: идти, даже если движок занят
(идущая генерация будет прервана)
Заметки:
install, refresh, upgrade и remove требуют root (пакеты + системные пути);
setup, unsetup и outdated — нет.
Бандлы самодостаточны и лежат в $PACKS_DIR; состояние машины пишется в
$STATE, ваш собственный слой — в ~/$USER_STATE_REL.
Бандл может объявить AUDIENCE=maintainer: это не продукт, а инструментарий для
разработки самой W, поэтому его не предлагает ни один каталог — ни чеклист
инсталлера, ни Хаб, ни AI-тулы; добраться до него можно только через
`w-pack list --all` или установкой по имени. После установки он перечисляется
как обычный: машина обязана уметь сказать, что на ней стоит.
Бандл может также объявить `pre.sh`: шаг от root, исполняемый ДО его пакетов —
включение репозитория, синхронизация pacman, разрешение пакета в
аппаратном варианте, который виртуальный провайдер иначе выбрал бы неверно.
`refresh` никогда его не переигрывает — та же политика, что и для пакетов.
Бандл, установленный кем-то другим, НЕ настраивается для вас автоматически — это
потратило бы ваш диск и трафик на выбор, которого вы не делали. `w-pack list`
говорит об этом прямо, а `w-pack setup <бандл>` — единственная команда, которая
это чинит.
refresh — то, что вызывает обновление: `w-sync update` запускает его после apply,
затронувшего дерево бандлов, чтобы идемпотентная настройка бандла (маркированные
области, drop-in'ы, чистка старых раскладок) переигрывалась на каждой машине,
а не ждала, пока кто-то переустановит бандл руками. Пользовательский слой
для каждой учётной записи, у которой он уже есть, — и только для них.
remove отменяет то, что СДЕЛАЛ W, а не то, что установили вы: состояние, конфиг
во владении W, оси темы, AI-скил и собственные шаги teardown бандла. Ваши пакеты
и ваши данные остаются — строка `pacman -Rns` печатается для вас, а пути ценой
в гигабайты (хранилища моделей и образов, тулчейны) только называются. Чтобы
вернуть конфиг бандла к дефолту W, НЕ удаляя его, используйте
`w-reset <бандл>`.
upgrade — единственная команда, которая двигает то, чего не видит pacman:
собственный движок бандла, поставленный из апстрима в его дерево. Ни
`w-update`, ни refresh этого не делают никогда: обновление движка качает
гигабайты и может сломать рабочую настройку, поэтому оно происходит только по
вашей просьбе. Цель — новейший стабильный релиз апстрима, если ключ VERSION
бандла не держит его на одной версии (`sudo w-conf set comfyui VERSION 0.38.2`).
Движок останавливается, записывается точка отката, новая версия обязана
стартовать и ответить — иначе возвращается прежняя.
Коды выхода:
0 Успех
1 Ошибка выполнения (неизвестный бандл, нет источника, нет прав)
2 Ошибка вызова
Примеры:
w-pack list
w-pack list --all # включая бандлы, которых нет в каталогах
sudo w-pack install containers
w-pack setup ai-extra # догнать свою учётную запись, без sudo
sudo w-pack refresh
w-pack status
w-pack outdated # у чего есть новая версия в апстриме
sudo w-pack upgrade comfyui # показать план, спросить, обновить
sudo w-pack remove containers # размотать; podman остаётся установленным
sudo w-pack remove dev --packages # ...и забрать заодно его пакеты
w-pack unsetup dev # только моя учётная запись, без sudo
Эта страница генерируется из собственной справки команды (w-docs-refgen). Живая
версия того же текста на машине с W: w-pack help.