W LinuxДокументация

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.