Шпаргалка по менеджеру пакетов Snap

Универсальные пакеты Linux с менеджером Snap

Snap — это революционная универсальная система управления пакетами от Canonical, которая предоставляет контейнеризованные приложения, автоматическое обновление и повышенную безопасность для Ubuntu и других дистрибутивов Linux.

cross-dependent-modules Это потрясающее изображение было создано AI-моделью Flux 1 dev.

Что такое Snap?

Snap — это система упаковки и развертывания программного обеспечения, разработанная Canonical для операционных систем на ядре Linux. Snap-пакеты (называемые “snaps”) — это контейнеризованные пакеты программного обеспечения, которые работают на различных дистрибутивах Linux, обеспечивая единообразный опыт использования приложений. В отличие от традиционных пакетов, которые используют общие системные библиотеки, Snaps включают все зависимости, обеспечивая согласованное поведение на разных системах.

Основные характеристики:

  • Самостоятельные: каждый snap включает все зависимости (нет конфликтов)
  • Автоматические обновления: обновления происходят автоматически в фоновом режиме (4 раза в день)
  • Изоляция: изоляция приложений с помощью AppArmor обеспечивает безопасность
  • Универсальность: работает на Ubuntu, Fedora, Debian, Arch и других
  • Транзакционность: обновления атомарны и могут быть откатаны
  • Фоновая служба: демон snapd управляет snaps и обновлениями

Сравнение менеджеров пакетов

Ubuntu поддерживает несколько систем управления пакетами. Вот как сравниваются основные операции:

Операция Snap APT Flatpak
Поиск snap find keyword apt search keyword flatpak search keyword
Установка sudo snap install package sudo apt install package flatpak install flathub app.id
Список установленных snap list apt list --installed flatpak list --app
Показать информацию snap info package apt show package flatpak info app.id
Обновить все sudo snap refresh sudo apt update && sudo apt upgrade flatpak update
Обновить один sudo snap refresh package sudo apt install --only-upgrade pkg flatpak update app.id
Удалить sudo snap remove package sudo apt remove package flatpak uninstall app.id
Очистка snap remove --revision=N sudo apt autoremove flatpak uninstall --unused
Репозиторий Snap Store (встроенный) /etc/apt/sources.list Добавление с flatpak remote-add

Быстрое сравнение функций

Функция Snap APT Flatpak
Автообновления Да Нет Нет
Изоляция Да Нет Да
Зависимости Включены Системные библиотеки Общие рантаймы
Размер пакета Большой (50-500МБ) Малый (5-50МБ) Средний (20-200МБ)
Требуются права root Да Да Нет (установка пользователем)
Скорость запуска Медленнее Быстрая Быстрая
Лучше всего для Универсальные приложения Системные пакеты и библиотеки Настольные приложения

О этом руководстве

Это руководство посвящено Snap — универсальному менеджеру пакетов от Canonical с автоматическими обновлениями и сильной изоляцией. Snap идеален для кроссплатформенных приложений, настольного программного обеспечения и сценариев, где требуются автоматические обновления безопасности без ручного вмешательства.

Для других менеджеров пакетов:

  • 📦 APT Chatsheet — традиционная система управления пакетами Ubuntu для системных пакетов и библиотек
  • 📦 Flatpak Package Manager Chatsheet — кроссплатформенные настольные приложения с точным управлением разрешениями

Каждый менеджер пакетов имеет свои преимущества. Используйте Snap для приложений, требующих автоматических обновлений и кроссплатформенной совместимости, APT для системных пакетов и библиотек, и Flatpak для настольных приложений с точным управлением разрешениями.


Управление пакетами Snap - подробное руководство

Установка Snapd

Ubuntu (предварительно установлен в 16.04+)

Snap предварительно установлен в Ubuntu 16.04 и более поздних версиях. Если вы настраиваете свежую установку Ubuntu, ознакомьтесь с нашим подробным руководством по установке Ubuntu 24.04 и необходимых инструментов для полного руководства.

# Проверьте, установлен ли snapd
snap version

# Если не установлен, установите его
sudo apt update
sudo apt install snapd

# Включите службу snapd
sudo systemctl enable --now snapd.socket

# Опционально: включите поддержку классических snaps
sudo ln -s /var/lib/snapd/snap /snap

Другие дистрибутивы

Debian:

sudo apt update
sudo apt install snapd
sudo systemctl enable --now snapd.socket

Fedora:

sudo dnf install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap

Arch Linux:

git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si
sudo systemctl enable --now snapd.socket

Linux Mint:

Установка Snap на Linux Mint требует включения совместимости. Если вы планируете свежую установку, ознакомьтесь с нашим руководством по переустановке Linux Mint с полезными инструментами для полного процесса настройки.

CentOS/RHEL:

sudo yum install snapd
sudo systemctl enable --now snapd.socket

Основные команды Snap

Установка Snaps

Базовая установка:

# Установить из стабильного канала
sudo snap install package-name

# Установить из конкретного канала
sudo snap install package-name --channel=beta
sudo snap install package-name --channel=edge

# Установить с классической изоляцией
sudo snap install package-name --classic

# Установить конкретную версию/ревизию
sudo snap install package-name --revision=123

Примеры из реального мира:

# Установить VS Code
sudo snap install code --classic

# Установить Spotify
sudo snap install spotify

# Установить Docker
sudo snap install docker

# Установить VLC Media Player
sudo snap install vlc

# Установить браузер Chromium
sudo snap install chromium

# Установить kubectl
sudo snap install kubectl --classic

# Установить Slack
sudo snap install slack --classic

# Установить Postman
sudo snap install postman

# Установить Android Studio
sudo snap install android-studio --classic

# Установить Node.js
sudo snap install node --classic

Поиск Snaps

# Поиск в Snap Store
snap find keyword

# Поиск с подробным выводом
snap find keyword --verbose

# Поиск в конкретном разделе
snap find --section=development

# Примеры
snap find "текстовый редактор"
snap find database
snap find "медиаплеер"

Просмотр по категориям:

# Список доступных разделов
snap find --section

# Частые разделы включают:
# - productivity
# - development
# - server-and-cloud
# - security
# - entertainment
# - photo-and-video
# - music-and-audio

Список установленных Snaps

# Список всех установленных snaps
snap list

# Список с дополнительной информацией
snap list --all

# Показать конкретный snap
snap list package-name

# Список по издателю
snap list --all | grep "publisher-name"

Вывод включает:

  • Имя: Имя пакета Snap
  • Версия: Текущая версия
  • Rev: Номер ревизии
  • Отслеживание: Канал, который отслеживается
  • Издатель: Проверенный издатель
  • Примечания: Тип изоляции и флаги

Просмотр информации о Snap

# Показать подробную информацию о snap
snap info package-name

# Пример вывода включает:
# - Описание
# - Snap ID
# - Издатель
# - Лицензия
# - Доступные каналы
# - Установленная версия
# - Дата обновления

Пример:

snap info vlc

Вывод показывает:

name:      vlc
summary:   Ультимативный медиаплеер
publisher: VideoLAN✓
license:   GPL-2.0+
description: |
  VLC — это бесплатный и открытый мультимедийный плеер...
snap-id: 123abc...
channels:
  stable:    3.0.18  2023-03-15 (3078) 276MB -
  candidate: ↑
  beta:      ↑
  edge:      4.0.0~dev 2023-03-20 (3079) 280MB -
installed:   3.0.18  (3078) 276MB -

Обновление Snaps

Обновить все Snaps:

# Обновить все установленные snaps
sudo snap refresh

# Проверить доступные обновления без установки
snap refresh --list

Обновить конкретный Snap:

# Обновить один snap
sudo snap refresh package-name

# Обновить до конкретного канала
sudo snap refresh package-name --channel=beta

# Обновить до конкретной ревизии
sudo snap refresh package-name --revision=456

Автоматические обновления:

Snaps обновляются автоматически по умолчанию. Демон snapd проверяет обновления 4 раза в день.

Настройка расписания обновлений:

# Просмотреть текущий таймер обновления
snap refresh --time

# Установить таймер обновления (требуется snapd 2.31+)
sudo snap set system refresh.timer=fri,23:00-01:00

# Приостановить обновления временно (максимум 90 дней)
sudo snap refresh --hold

# Приостановить конкретный snap
sudo snap refresh --hold package-name

# Снять приостановку обновлений
sudo snap refresh --unhold
sudo snap refresh --unhold package-name

Удаление Snaps

# Удалить snap (сохранить данные)
sudo snap remove package-name

# Удалить snap и все данные (полная очистка)
sudo snap remove --purge package-name

# Удалить конкретную ревизию
sudo snap remove package-name --revision=123

Очистка старых ревизий:

По умолчанию Snap сохраняет 2-3 старые ревизии для отката:

# Список всех ревизий
snap list --all package-name

# Удалить конкретную старую ревизию
sudo snap remove package-name --revision=old-rev-number

# Скрипт для удаления всех старых ревизий
#!/bin/bash
snap list --all | awk '/disabled/{print $1, $3}' |
  while read snapname revision; do
    sudo snap remove "$snapname" --revision="$revision"
  done

Для получения дополнительной информации о работе со скриптами bash и командными операциями ознакомьтесь с нашим подробным руководством по Bash.

Запуск Snaps

# Запуск snap-приложения
snap run package-name

# Запуск с конкретной командой
snap run package-name.command

# Пример: запуск конкретной команды VS Code
snap run code --list-extensions

# Показать доступные команды для snap
snap info package-name | grep "commands:"

Понимание каналов Snap

Каналы позволяют разработчикам одновременно публиковать разные версии:

Типы каналов

  1. stable: Готовые к производству релизы (по умолчанию)
  2. candidate: Кандидаты на релиз, предварительное тестирование
  3. beta: Бета-версии с новыми функциями
  4. edge: Последние сборки разработки, потенциально нестабильные

Треки каналов

Некоторые snaps имеют несколько треков (например, основные версии):

# Пример: Установка LXD 4.0 трека
sudo snap install lxd --channel=4.0/stable

# Пример: Установка конкретной версии Kubernetes
sudo snap install microk8s --channel=1.28/stable

Переключение каналов

# Переключение на другой канал
sudo snap refresh package-name --channel=beta

# Возврат к stable
sudo snap refresh package-name --channel=stable

# Просмотр доступных каналов
snap info package-name

Уровни изоляции Snap

Strict Confinement

Максимальная безопасность, snap изолирован от системы:

# Большинство snaps используют strict изоляцию
sudo snap install vlc

Характеристики:

  • Ограниченный доступ к файловой системе
  • Требуется подключение интерфейсов для доступа к оборудованию
  • Профили AppArmor обеспечивают безопасность
  • Лучше всего подходит для настольных приложений

Classic Confinement

Полный доступ к системе, как у традиционных пакетов:

# Требуется для многих инструментов разработки
sudo snap install code --classic
sudo snap install kubectl --classic

Характеристики:

  • Нет песочницы
  • Полный доступ к файловой системе
  • Требуется для системных инструментов и IDE
  • Менее безопасный, но более совместимый

Devmode Confinement

Режим разработки, изоляция отключена:

# Только для тестирования/разработки
sudo snap install package-name --devmode

Характеристики:

  • Нет ограничений безопасности
  • Используется во время разработки snaps
  • Не рекомендуется для продакшена
  • Нарушения регистрируются, но не применяются

Проверка изоляции

# Просмотр уровня изоляции
snap list
# Ищите: classic, devmode или strict (нет метки)

# Подробная информация
snap info package-name | grep confinement

Интерфейсы и подключения Snap

Интерфейсы определяют, как snaps взаимодействуют с системными ресурсами.

Просмотр интерфейсов

# Список всех доступных интерфейсов
snap connections

# Показать интерфейсы для конкретного snap
snap connections package-name

# Список всех возможных интерфейсов
snap interface

# Показать детали конкретного интерфейса
snap interface interface-name

Общие интерфейсы

  • home: Доступ к домашней директории пользователя
  • network: Доступ к сети
  • audio-playback: Аудио-вывод
  • camera: Доступ к камере
  • removable-media: USB-накопители, SD-карты
  • x11: Сервер отображения X11
  • wayland: Сервер отображения Wayland
  • opengl: Ускорение GPU
  • pulseaudio: Сервер звука PulseAudio

Управление подключениями

# Подключить интерфейс
sudo snap connect package-name:interface-name

# Отключить интерфейс
sudo snap disconnect package-name:interface-name

# Пример: Предоставить доступ к камере
sudo snap connect package-name:camera

# Пример: Разрешить доступ к съемным носителям
sudo snap connect package-name:removable-media

Автоподключения:

Большинство интерфейсов автоматически подключаются при установке. Некоторые требуют ручного подключения по соображениям безопасности.

Расширенное использование Snap

Сервисы Snap

Некоторые snaps работают как фоновые сервисы:

# Список сервисов
snap services

# Список сервисов для конкретного snap
snap services package-name

# Запуск сервиса
sudo snap start package-name.service-name

# Остановка сервиса
sudo snap stop package-name.service-name

# Перезапуск сервиса
sudo snap restart package-name.service-name

# Включение сервиса (запуск при загрузке)
sudo snap start --enable package-name.service-name

# Отключение сервиса
sudo snap stop --disable package-name.service-name

# Просмотр логов сервиса
snap logs package-name.service-name

# Следить за логами в реальном времени
snap logs -f package-name.service-name

# Показать последние N строк
snap logs -n=50 package-name.service-name

Конфигурация Snap

# Просмотр конфигурации snap
snap get package-name

# Просмотр конкретного ключа конфигурации
snap get package-name key-name

# Установка конфигурации
sudo snap set package-name key=value

# Примеры
sudo snap set microk8s hostpath-storage=/data/k8s
sudo snap get microk8s hostpath-storage

# Сброс конфигурации
sudo snap unset package-name key-name

Псевдонимы Snap

Создание сокращений для команд snap:

# Создание псевдонима
sudo snap alias package-name.command alias-name

# Пример: Псевдоним команды kubectl
sudo snap alias microk8s.kubectl kubectl

# Список псевдонимов
snap aliases

# Удаление псевдонима
sudo snap unalias alias-name

# Удаление всех псевдонимов для snap
sudo snap unalias package-name

Макеты Snap

Макеты позволяют работать с устаревшими приложениями в изолированных snaps:

# Просмотр макетов snap
snap info package-name | grep "layout:"

Макеты сопоставляют пути snap с ожидаемыми системными путями.

Snap Store и публикация

Просмотр Snap Store

Веб-интерфейс:

  • Посетите https://snapcraft.io/store
  • Просмотрите по категориям
  • Найдите приложения
  • Посмотрите рейтинги и отзывы

Командная строка:

# Рекомендуемые snaps
snap find --section=featured

# По категориям
snap find --section=productivity
snap find --section=games

# Приватные snaps (требуется аутентификация)
snap find --private

Установка из файлов

# Установка локального snap-файла
sudo snap install package-name.snap --dangerous

# Установка и подключение интерфейсов
sudo snap install package-name.snap --dangerous --classic

Примечание: --dangerous обходит проверку подписи для локальных файлов.

Устранение неполадок с Snap

Общие проблемы и решения

Snap Store не загружается

# Перезапуск сервиса snapd
sudo systemctl restart snapd.service

# Проверка статуса сервиса
sudo systemctl status snapd.service

# Просмотр логов
sudo journalctl -u snapd.service -n 50

Медленный запуск Snap

Причины:

  • Первоначальная декомпрессия
  • Монтирование файловой системы
  • Загрузка профиля AppArmor

Решения:

# Предварительное подключение всех интерфейсов
sudo snap connect package-name:interface

# Отключение некоторых интерфейсов, если они не нужны
sudo snap disconnect package-name:interface

# Проверка времени запуска snap
time snap run package-name

Проблемы с подключением

# Проверка интерфейса сети
snap connections package-name | grep network

# Ручное подключение сети
sudo snap connect package-name:network

# Проверка брандмауэра
sudo ufw status

Ошибки установки Snap

# Очистка кэша snap
sudo rm -rf /var/lib/snapd/cache/*

# Переустановка snap
sudo snap remove package-name
sudo snap install package-name

# Проверка свободного места
df -h /var/lib/snapd

# Исправление поврежденного состояния snap
sudo snap changes
sudo snap abort <change-id>  # если завис

Отказы AppArmor

# Проверка логов AppArmor
sudo dmesg | grep DENIED

# Просмотр профиля конкретного snap
sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.*

# Перезагрузка AppArmor
sudo systemctl reload apparmor

Конфликты версий Snap

# Список всех версий
snap list --all package-name

# Удаление старой версии
sudo snap remove package-name --revision=old-number

# Возврат к предыдущей версии
sudo snap revert package-name

# Проверка изменений snap
snap changes

Отладка Snap

# Включение режима отладки
sudo snap set system debug.snapd=true

# Просмотр окружения snap
snap run --shell package-name
# Затем выполните: env

# Проверка структуры файлов snap
ls -la /snap/package-name/current/

# Просмотр метаданных snap
cat /snap/package-name/current/meta/snap.yaml

# Трейсинг выполнения snap
snap run --trace-exec package-name

# Проверка утверждений snap
snap known assertion-type

Оптимизация производительности

Уменьшение использования диска

# Проверка использования диска snap
du -sh /var/lib/snapd/snaps/*

# Автоматическое удаление старых версий
# Установите refresh.retain в 2 (сохраняет только 2 старые версии)
sudo snap set system refresh.retain=2

# Скрипт ручной очистки
#!/bin/bash
# Удаление всех отключенных версий snap
LANG=C snap list --all | awk '/disabled/{print $1, $3}' |
  while read snapname revision; do
    sudo snap remove "$snapname" --revision="$revision"
  done

Оптимизация производительности запуска

1. Предварительное подключение интерфейсов:

# Подключение часто используемых интерфейсов при установке
sudo snap connect package-name:home
sudo snap connect package-name:network

2. Использование параллельного обновления:

Редактирование /var/lib/snapd/state.json (для продвинутых):

{
  "data": {
    "parallel-installs": 4
  }
}

3. Ограничение фоновых обновлений:

# Установка окна обновления на время низкой нагрузки
sudo snap set system refresh.timer=sun,02:00-04:00

Мониторинг производительности Snap

# Проверка использования процессов snap
ps aux | grep snap

# Мониторинг ресурсов сервиса snap
systemctl status snap.package-name.service-name

# Просмотр использования ресурсов snapd
systemctl status snapd

# Проверка точек монтирования snap
mount | grep snap

Лучшие практики безопасности

Проверка издателей

# Проверка проверки издателя
snap info package-name | grep publisher

# Ищите ✓ (проверено) или ✪ (звезда - Canonical)

Устанавливайте только из проверенных издателей, когда это возможно.

Проверка разрешений

# Перед установкой проверьте требуемые интерфейсы
snap info package-name | grep plugs

# Проверьте подключения после установки
snap connections package-name

# Отключите ненужные интерфейсы
sudo snap disconnect package-name:interface-name

Регулярные обновления

# Держите snaps обновленными
sudo snap refresh

# Включение автоматических обновлений безопасности
# (включено по умолчанию)
snap refresh --time

Аудит установленных snaps

# Список всех snaps и изоляции
snap list

# Проверка snaps в режиме devmode (менее безопасные)
snap list | grep devmode

# Проверка classic snaps (полный доступ к системе)
snap list | grep classic

Использование strict изоляции

Предпочитайте snaps с strict изоляцией для лучшей безопасности:

# Проверка изоляции перед установкой
snap info package-name | grep confinement

# Избегайте --devmode в продакшене

Snap в корпоративных средах

Настройка прокси

# Установка HTTP-прокси
sudo snap set system proxy.http="http://proxy:8080"

# Установка HTTPS-прокси
sudo snap set system proxy.https="https://proxy:8080"

# Просмотр настроек прокси
snap get system proxy

Офлайн-установки

# Скачивание snap-пакета
snap download package-name

# Перенос на офлайн-систему и установка
sudo snap install package-name_*.snap --dangerous

# Включение утверждений для подписанной установки
sudo snap ack package-name_*.assert
sudo snap install package-name_*.snap

Прокси Snap Store

Для корпоративных сред развертывания прокси Snap Store:

  • Кэширование snaps локально
  • Контроль доступных snaps
  • Мониторинг установок
  • Снижение использования полосы пропускания

См.: https://docs.ubuntu.com/snap-store-proxy/

Управление обновлениями Snap

# Отключение автоматического обновления для snap (требуется прокси)
sudo snap refresh --hold=forever package-name

# Планирование обновлений в окнах обслуживания
sudo snap set system refresh.timer=sat,02:00-04:00

# Ручное одобрение обновлений
sudo snap refresh --list  # Просмотр
sudo snap refresh package-name  # Обновление конкретного

Популярные snaps по категориям

Инструменты разработки

sudo snap install code --classic              # VS Code
sudo snap install intellij-idea-community --classic  # IntelliJ
sudo snap install pycharm-community --classic  # PyCharm
sudo snap install android-studio --classic    # Android Studio
sudo snap install sublime-text --classic      # Sublime Text
sudo snap install atom --classic              # Atom Editor
sudo snap install postman                     # Тестирование API
sudo snap install dbeaver-ce                  # Инструмент баз данных

DevOps & Облако

sudo snap install kubectl --classic           # CLI Kubernetes
sudo snap install helm --classic              # Helm
sudo snap install microk8s --classic          # Легковесный K8s
sudo snap install docker                      # Docker
sudo snap install terraform --classic         # Terraform
sudo snap install aws-cli --classic           # AWS CLI
sudo snap install azure-cli --classic         # Azure CLI
sudo snap install google-cloud-sdk --classic  # SDK GCP

Продуктивность

sudo snap install slack --classic             # Slack
sudo snap install teams                       # MS Teams
sudo snap install discord                     # Discord
sudo snap install zoom-client                 # Zoom
sudo snap install mailspring                  # Клиент электронной почты
sudo snap install joplin-desktop             # Приложение для заметок
sudo snap install libreoffice                # Офисный пакет

Мультимедиа

sudo snap install vlc                        # Плеер видео
sudo snap install spotify                    # Музыкальный стриминг
sudo snap install obs-studio                 # Запись экрана
sudo snap install gimp                       # Редактор изображений
sudo snap install inkscape                   # Векторная графика
sudo snap install audacity                   # Редактор аудио
sudo snap install kdenlive                   # Редактор видео

Браузеры

sudo snap install chromium                   # Chromium
sudo snap install firefox                    # Firefox
sudo snap install opera                      # Opera
sudo snap install brave                      # Brave Browser

Системные утилиты

sudo snap install htop                       # Монитор процессов
sudo snap install bpytop                     # Системный монитор
sudo snap install speedtest-cli              # Тест скорости
sudo snap install certbot --classic          # SSL-сертификаты
sudo snap install ngrok                      # Туннелирование

Чтобы повысить вашу продуктивность при работе с этими утилитами и Ubuntu в целом, ознакомьтесь с нашим Шпаргалкой по сочетаниям клавиш Ubuntu для эффективного управления рабочим процессом.

Выбор правильного менеджера пакетов

Когда использовать Snap ✅

Лучше всего для:

  • Необходимости кроссплатформенной совместимости
  • Важности автоматических обновлений
  • Приоритета безопасности через изоляцию
  • Требуются последние версии приложений
  • Десктопные приложения
  • IoT и встраиваемые устройства (Ubuntu Core)

Когда использовать другие менеджеры пакетов

Справочник команд Snap

Быстрый справочник команд

# ПОИСК И УСТАНОВКА
snap find keyword              # Поиск snaps
sudo snap install name         # Установка snap
sudo snap install name --classic  # Классическая изоляция
sudo snap install name --channel=beta  # Конкретный канал

# СПИСОК И ИНФОРМАЦИЯ
snap list                      # Список установленных
snap list --all               # Включая старые версии
snap info name                # Показать детали snap
snap version                  # Показать версию snapd

# ОБНОВЛЕНИЕ
sudo snap refresh             # Обновить все
sudo snap refresh name        # Обновить конкретный
snap refresh --list           # Проверить обновления
sudo snap refresh --hold      # Отложить обновления

# УДАЛЕНИЕ
sudo snap remove name         # Удалить snap
sudo snap remove --purge name # Удалить с данными
sudo snap remove name --revision=N  # Удалить версию

# СЛУЖБЫ
snap services                 # Список служб
sudo snap start name.service  # Запустить службу
sudo snap stop name.service   # Остановить службу
sudo snap logs name.service   # Просмотр логов

# СОЕДИНЕНИЯ
snap connections              # Список соединений
snap connections name         # Соединения snap
sudo snap connect name:plug   # Подключить интерфейс
sudo snap disconnect name:plug # Отключить

# НАСТРОЙКИ
snap get name                 # Просмотр конфигурации
sudo snap set name key=value  # Установить конфигурацию
snap get system               # Системная конфигурация

# КАНАЛЫ
sudo snap refresh name --channel=edge  # Сменить канал
sudo snap track name          # Показать отслеживание

# ПСЕВДОНИМЫ
sudo snap alias name.cmd cmd  # Создать псевдоним
snap aliases                  # Список псевдонимов
sudo snap unalias cmd         # Удалить псевдоним

# ДИАГНОСТИКА
snap changes                  # Показать последние изменения
snap tasks <change-id>        # Детали задачи
snap abort <change-id>        # Отменить изменение
sudo snap revert name         # Вернуться к предыдущей версии

Заключение

Менеджер пакетов Snap представляет будущее дистрибуции приложений Linux с универсальной упаковкой, автоматическими обновлениями и повышенной безопасностью за счет контейнеризации. Хотя у него есть компромиссы в использовании дискового пространства и времени запуска, преимущества упрощенного управления зависимостями, кроссплатформенной совместимости и последовательных обновлений делают его отличным выбором для современных Linux-приложений.

Будь вы разработчиком, развертывающим приложения, системным администратором, управляющим обновлениями, или пользователем, желающим получить самое новое программное обеспечение, Snap предоставляет надежное, безопасное и удобное решение для управления пакетами.

Основные выводы:

  • Snap-пакеты являются самодостаточными и работают на разных дистрибутивах
  • Автоматические обновления поддерживают ваши приложения в актуальном и безопасном состоянии
  • Изоляция обеспечивает повышенную безопасность за счет ограничения
  • Разные уровни изоляции балансируют безопасность и функциональность
  • Каналы позволяют вам выбирать между стабильностью и последними функциями
  • Snap идеален для десктопных приложений и устройств IoT

Начните исследовать Snap Store и наслаждайтесь удобством универсальной упаковки Linux!

Полезные ссылки

Связанные статьи на этом сайте