Linux

Snap в Linux: Установка, управление и основы работы

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

Обновлено 16 февраля 2026 г.
10-15 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 16.04+Debian 10+Fedora 29+CentOS/RHEL 8+ (с EPEL)Arch Linux (с AUR)

Введение / Зачем это нужно

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

Что вы получите:

  • Единый способ установки популярного ПО (VS Code, Firefox, Spotify) на Ubuntu, Fedora, Debian и другие.
  • Автоматические обновления приложений в фоновом режиме.
  • Изоляцию приложений от системы (безопасность).
  • Доступ к последним версиям программ, которые могут отсутствовать в официальных репозиториях дистрибутива.

Требования / Подготовка

Перед началом убедитесь, что:

  1. У вас установлен поддерживаемый дистрибутив Linux (Ubuntu 16.04+, Debian 10+, Fedora 29+, Arch Linux).
  2. У вас есть доступ к учётной записи с правами sudo (администратора).
  3. Ваша система подключена к интернету для загрузки пакетов.

💡 Совет: На некоторых дистрибутивах (например, vanilla Debian) пакет snapd может находиться в неосновных репозиториях. Вам может потребоваться их предварительно включить.

Пошаговая инструкция

Шаг 1: Установите демон Snap (snapd)

Сначала установите основной пакет snapd, который предоставляет snap-клиент и фоновую службу.

Для Ubuntu/Debian:

sudo apt update
sudo apt install snapd

Для Fedora/CentOS/RHEL:

sudo dnf install snapd
# Для CentOS/RHEL может потребоваться включить репозиторий EPEL
sudo dnf install epel-release
sudo dnf install snapd

Для Arch Linux:

sudo pacman -S snapd
# Включите и запустите службу
sudo systemctl enable --now snapd.socket
# Для классических (classic) пакетов также нужен симлинк
sudo ln -s /var/lib/snapd/snap /snap

Шаг 2: Проверьте статус службы snapd

После установки убедитесь, что служба запущена и готова к работе.

# Проверка активности socket-файла (основной способ)
systemctl is-active snapd.socket
# Ожидаемый вывод: active

# Альтернативная проверка через snap-клиент
snap version
# Вывод должен содержать версии snapd, snap и серию ядра.

Если служба не активна, запустите её:

sudo systemctl start snapd.socket
sudo systemctl enable snapd.socket  # Автозапуск при загрузке

Шаг 3: Найдите нужное приложение в Snap Store

Используйте snap find для поиска доступных пакетов. Поиск идёт по названию, описанию и имени издателя.

# Поиск по ключевому слову (например, редактор кода)
snap find code

# Пример вывода:
# Name               Version       Publisher       Summary
# code               1.85.2        vscode✓        Code editing. Redefined.
# code --classic     1.85.2        vscode✓        Code editing. Redefined (classic)

Обратите внимание на флажок — он означает, что пакет от официального издателя (verified). Избегайте пакетов без проверки от неизвестных источников.

Шаг 4: Установите выбранный Snap-пакет

Установка происходит через snap install. По умолчанию пакет устанавливается в строгом режиме (strict), что обеспечивает максимальную изоляцию.

# Базовая установка
sudo snap install <имя_пакета>

# Пример: Установка Firefox
sudo snap install firefox

# Для приложений, требующих полного доступа к системе (например, Docker, VS Code),
# используется режим 'classic'. Обратите внимание на это в выводе `snap find`.
sudo snap install code --classic

⚠️ Важно: Пакеты с конфиnement classic имеют те же права, что и обычные системные приложения, и не изолированы. Устанавливайте их только из доверенных источников.

Шаг 5: Управляйте установленными Snap-приложениями

Просмотр списка установленных пакетов

snap list
# Вывод:
# Name    Version   Rev   Tracking       Publisher   Notes
# code    1.85.2    234   latest/stable  vscode✓     classic
# firefox 128.0.3   248   latest/stable  mozilla✓

Обновление пакетов

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

sudo snap refresh

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

sudo snap refresh <имя_пакета>

Удаление пакета

sudo snap remove <имя_пакета>
# Пример:
sudo snap remove code

Получение информации о пакете

snap info <имя_пакета>
# Показывает: описание, версии, каналы обновлений (stable/candidate/beta/edge),
# зависимости, размер и конфигурацию.

Проверка результата

  1. Убедитесь, что Snap-демон работает:
    snap version
    

    В выводе должны быть указаны версии snapd, snap и серия ядра.
  2. Проверьте установленное приложение:
    snap list | grep firefox
    

    Если пакет присутствует в списке, установка прошла успешно.
  3. Запустите приложение:
    • Через меню приложений вашей графической оболочки (GNOME, KDE).
    • Или из терминала, просто набрав имя пакета (например, firefox).
    • Для классических пакетов команды доступны в обычном PATH.

Возможные проблемы

Ошибка «command not found: snap» после установки snapd

Причина: Пакет установлен, но сессия терминала не видит новый путь /snap/bin (или /usr/bin в некоторых дистрибутивах).

Решение: Закройте и откройте терминал заново или выполните:

export PATH=$PATH:/snap/bin

Для постоянного решения добавьте эту строку в ~/.bashrc или ~/.zshrc.

Ошибка «snapd service not started» или «cannot communicate with server»

Причина: Служба snapd.socket не запущена.

Решение:

sudo systemctl start snapd.socket
sudo systemctl enable snapd.socket

Недостаточно места на диске

Причина: Snap-пакеты могут быть большими (1-2 ГБ), так как содержат все зависимости.

Решение:

  1. Очистите старые версии пакетов:
    sudo snap set system refresh.retain=2  # Оставлять только 2 последние версии
    sudo snap refresh --amend            # Применить настройку к текущим пакетам
    
  2. Удалите ненужные пакеты (sudo snap remove <имя>).
  3. Проверьте место: df -h /var/lib/snapd/.

Конфликт с классическим пакетом (например, два Firefox)

Причина: Вы установили Snap-версию Firefox, но в системе уже есть версия из APT/DNF. Они конфликтуют по путям.

Решение: Удалите классический пакет:

# Для Ubuntu/Debian
sudo apt remove firefox

# Для Fedora
sudo dnf remove firefox

Затем убедитесь, что Snap-версия запускается. В некоторых дистрибутивах (как Ubuntu) Snap-версия Firefox поставляется как системная по умолчанию, и удаление APT-пакета может быть автоматическим.

Часто задаваемые вопросы

Чем Snap отличается от APT/DNF?
Почему Snap-приложения занимают много места?
Как отключить автоматические обновления Snap?
Можно ли использовать Snap без прав суперпользователя?

Полезное

Установите демон Snap (snapd)
Проверьте статус службы snapd
Найдите нужное приложение в Snap Store
Установите выбранный Snap-пакет
Управляйте установленными Snap-приложениями