linux-labs

Вики / Пакеты

snap (пакеты Ubuntu)

Команда Ubuntu 24.04 · snapd Пакеты

Установка и обновление 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 ИМЯ

См. также