Вики / Пакеты
snap (пакеты Ubuntu)
Установка и обновление snap-пакетов, каналы, откат версий.
snap — второй формат пакетов в Ubuntu (помимо apt): самодостаточные приложения с автообновлением, изолированные в песочнице. Часто так ставят свежие версии (certbot, некоторые утилиты, IDE).
snap list # установленные snap-пакеты (+ версия, канал)
snap find keyword # поиск в Store
snap info package # сведения и доступные каналы (tracks)
sudo snap install package # установить (стабильный канал)
sudo snap install package --classic # полный доступ (IDE/инструменты, без песочницы)
sudo snap install package --channel=edge # из другого канала
sudo snap refresh # обновить все snap
sudo snap refresh package # обновить один
sudo snap refresh --hold package # запретить автообновление пакета
sudo snap revert package # откатить к предыдущей версии (snap её хранит!)
sudo snap remove package # удалить
sudo snap remove --purge package # + удалить данные
snap changes # история операций snapd
sudo snap install package --revision=123 # конкретная ревизия
snap info package # доступные каналы: stable/candidate/beta/edge, tracks
sudo snap switch --channel=stable package ; sudo snap refresh package
# snap-приложения-сервисы:
snap services # сервисы всех snap (активны/enabled)
sudo snap start/stop/restart package.svc
sudo snap logs package # логи snap-сервиса
# песочница и конфиг:
snap connections package # какие интерфейсы (доступы) подключены
sudo snap connect package:plug # подключить доступ (напр. removable-media)
sudo snap set package key=value # конфиг snap
Пакет ставится медленно/много весит
Snap несёт зависимости с собой (тяжелее apt) — это нормально. Для лёгких CLI часто лучше apt.
Snap не видит файлы вне $HOME
Песочница (confinement) ограничивает доступ. snap connections package, затем
sudo snap connect package:removable-media (или нужный plug). Для полного доступа —
--classic (если пакет поддерживает).
Обновился и сломался
sudo snap revert package — откат к прошлой версии (snap её хранит). Зафиксировать
от автообновлений: sudo snap refresh --hold package.
Хочу понять, apt это или snap
which cmd, snap list | grep cmd, dpkg -S $(which cmd) (см. which, apt).
Иногда инструмент есть в обоих — выбирай источник осознанно.
Старые ревизии занимают место
snap хранит прошлые ревизии. snap list --all; уменьшить число хранимых:
sudo snap set system refresh.retain=2.
snap list ; snap find имя ; snap info имя
sudo snap install ИМЯ [--classic] [--channel=edge]
sudo snap refresh [ИМЯ] ; sudo snap refresh --hold ИМЯ
sudo snap revert ИМЯ # откат версии
snap services ; sudo snap logs ИМЯ
sudo snap remove --purge ИМЯ
См. также
- apt / dpkg (пакеты) — Пакеты