Установка Snapd и Snap Store на Debian 13, 12, 11: полное руководство

Snap — это система упаковки и распространения приложений, разработанная Canonical (компанией, стоящей за Ubuntu). Приложения в формате Snap (snap-пакеты) распространяются в самодостаточных контейнерах со всеми зависимостями внутри, что позволяет устанавливать свежие версии программ на любых дистрибутивах Linux, включая Debian.

В отличие от традиционных DEB-пакетов, Snap-пакеты обновляются автоматически и изолированы от основной системы, что повышает безопасность.

В этом руководстве я покажу, как установить snapd (демон, управляющий snap-пакетами) и Snap Store (графический магазин приложений) на Debian 13, 12 и 11.

Оглавление

Предварительные требования

Перед установкой убедитесь, что:

  • У вас есть доступ к интернету
  • Вы имеете права sudo (администратора)

⚠️ ВАЖНО: Проверьте права sudo перед установкой

Если вы не уверены, есть ли у вашего пользователя права администратора, выполните в терминале:

sudo whoami

Что делает: sudo — выполняет команду от имени суперпользователя; whoami — показывает имя текущего пользователя.

Ожидаемый вывод в терминале:

root

❌ Если выводит is not in the sudoers file — сначала пройдите наше руководство по настройке sudo.

Установка Snapd

Шаг 1: Обновите систему

sudo apt update && sudo apt upgrade -y

Шаг 2: Установите Snapd из APT

sudo apt install -y snapd

Что делает: Устанавливает демон snapd, который управляет snap-пакетами, монтирует их и обрабатывает обновления.

Шаг 3: Проверьте сокет snapd

systemctl is-enabled snapd.socket
systemctl is-active snapd.socket

Ожидаемый вывод: enabled и active.

Что делает: Показывает статус сокета, через который snapd принимает команды. Snapd использует socket activation. Проверяйте именно snapd.socket.

Если сокет не активен:

sudo systemctl enable --now snapd.socket

Шаг 4: Установите snapd как snap-пакет (важно!)

sudo snap install snapd

Что делает: Устанавливает snapd как snap-пакет. Это позволяет snapd обновлять себя через Snap’s re-execution support и является официальной рекомендацией Canonical для Debian.

Шаг 5: Установите базовый runtime (core)

sudo snap install core

Что делает: Устанавливает core — минимальную среду, необходимую для работы других snap-пакетов (около 100 МБ).

Шаг 6: Проверьте установку Snapd

snap version

Ожидаемый вывод (пример для Debian 13):

snap          2.75.2
snapd         2.75.2
series        16
debian        13
kernel        6.12.88+deb13-amd64
architecture  amd64

Шаг 7: Проверьте, что core установлен

snap list

Пример вывода:

Name    Version    Rev    Tracking       Publisher    Notes
core    16-2.68.x  xxxxx  latest/stable  canonical**  core
snapd   2.75.x     xxxxx  latest/stable  canonical**  snapd

Обновление PATH для snap-приложений

Snap-пакеты устанавливаются в /snap/bin/. Чтобы система видела их, нужно перелогиниться или перезагрузиться:

sudo reboot

После перезагрузки проверьте PATH:

echo $PATH | grep snap

Если вы не хотите перезагружаться, выполните в текущей сессии:

source /etc/profile.d/apps-bin-path.sh

Основные команды управления Snap

КомандаЧто делает
snap listПоказать установленные snap-пакеты
snap find "термин"Найти пакет в магазине
snap info имя-пакетаПоказать информацию о пакете
sudo snap install имя-пакетаУстановить пакет
sudo snap refresh имя-пакетаОбновить конкретный пакет
sudo snap refreshОбновить все snap-пакеты
sudo snap remove имя-пакетаУдалить пакет
sudo snap revert имя-пакетаОткатить пакет к предыдущей версии
snap changesПоказать историю операций
snap interfacesПоказать разрешения snap-пакетов

Установка Snap Store (графический магазин)

Если вам удобнее устанавливать приложения через графический интерфейс:

Основной способ (рекомендуемый)

sudo snap install snap-store

Fallback (если основной не работает)

sudo snap install snap-store --channel=latest/stable

Запуск:

snap run snap-store

Или через меню приложений: Activities → Показать приложения → Snap Store (или App Center).

Проверка установки Snap Store

snap list snap-store

Ожидаемый вывод:

Name         Version    Rev    Tracking         Publisher    Notes
snap-store   41.x.x     xxxx   2/stable          canonical**  -

Решение типичных проблем

8.1 Ошибка: snap: command not found

Симптом: После установки snapd команда snap не работает.

Причина: Директория /snap/bin не добавлена в PATH текущей сессии.

Пошаговое решение:

Шаг 1: Перелогиньтесь или перезагрузитесь:

sudo reboot

Шаг 2: Если перезагрузка не помогла, проверьте, что существует файл /etc/profile.d/apps-bin-path.sh:

cat /etc/profile.d/apps-bin-path.sh

Шаг 3: Временно добавьте /snap/bin в PATH:

export PATH="$PATH:/snap/bin"

8.2 Проблема: Иконки Snap-приложений не отображаются в меню

Симптом: Snap-приложение запускается из терминала, но не появляется в меню приложений.

Причина: Окружение рабочего стола не загружает скрипт /etc/profile.d/apps-bin-path.sh.

Пошаговое решение:

Шаг 1: Создайте символическую ссылку для Xsession:

sudo ln -s /etc/profile.d/apps-bin-path.sh /etc/X11/Xsession.d/99snap

Шаг 2: Добавьте /snap/bin в глобальный PATH в /etc/login.defs:

sudo nano /etc/login.defs

Найдите строку ENV_PATH (или добавьте в конец файла):

ENV_PATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

Шаг 3: Перезагрузитесь:

sudo reboot

8.3 Ошибка: snapd.socket не активен

Симптом: systemctl status snapd.socket показывает inactive.

Решение:

sudo systemctl enable --now snapd.socket

Если не помогло — переустановите snapd:

sudo apt install --reinstall snapd

8.4 Ошибка: snapd.service отключён или не может запуститься

Симптом: Snap-команды не работают, snapd.service не запускается.

Причина: Конфликт с системой (например, на очень старых ядрах).

Пошаговое решение:

Шаг 1: Убедитесь, что ядро поддерживает snap (kernel 4.4+):

uname -r

Шаг 2: Проверьте, что необходимые модули загружены:

lsmod | grep squashfs

Если нет — загрузите:

sudo modprobe squashfs

Шаг 3: Включите и запустите snapd:

sudo systemctl enable --now snapd

8.5 Ошибка: Недостаточно места для установки snap-пакета

Симптом: Snap-пакет не устанавливается, ошибка нехватки места.

Причина: Snap-пакеты монтируются как squashfs-образы и требуют места в /var/lib/snapd/ и /snap.

Пошаговое решение:

Шаг 1: Проверьте свободное место:

df -h /var/lib/snapd /snap

Шаг 2: Очистите старые версии snap-пакетов:

sudo snap list --all | awk '/disabled/{print $1, $3}' | while read name rev; do sudo snap remove "$name" --revision="$rev"; done

Шаг 3: Если всё ещё не хватает места — переместите /var/lib/snapd на другой диск (требуется опыт).

Чек-лист: что проверить после установки

  • [ ] Snapd установлен: snap version показывает версию (не command not found)
  • [ ] Сокет активен: systemctl is-enabled snapd.socketenabled, systemctl is-active snapd.socketactive
  • [ ] Snapd как snap установлен: snap list | grep snapd → есть строка с snapd
  • [ ] Core runtime установлен: snap list | grep core → строка с core
  • [ ] PATH содержит /snap/bin: echo $PATH | grep snap → есть строка
  • [ ] Snap Store установлен (опционально): snap list | grep snap-store
  • [ ] Можно установить тестовый пакет: sudo snap install hello-worldhello-world выводит сообщение

Удаление Snapd

Шаг 1: Просмотрите установленные snap-пакеты

snap list

Шаг 2: Удалите Snap Store (если установлен)

sudo snap remove --purge snap-store

Шаг 3: Удалите остальные snap-пакеты

sudo snap remove --purge имя-пакета

Шаг 4: Проверьте, нет ли активных монтирований

findmnt -R /snap || echo "No active snap mounts"

Шаг 5: Удалите snapd

sudo apt remove --purge snapd
sudo apt autoremove

Шаг 6: Перезагрузитесь (чтобы размонтировать snap-образы)

sudo reboot

Шаг 7: Удалите оставшиеся данные

sudo rm -rf /var/snap /snap /var/lib/snapd /var/cache/snapd
rm -rf ~/snap

Шаг 8: Проверьте удаление

hash -r
snap version

Ожидаемый вывод: bash: snap: command not found

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

Вопрос: Snap уже установлен в Debian по умолчанию?

Ответ: Нет, snapd нужно установить вручную, хотя он доступен в официальных репозиториях.

Вопрос: В чём разница между Snap и Flatpak?

Ответ: Оба — системы контейнеризации приложений. Snap разработан Canonical, использует единый магазин Snap Store. Flatpak — от GNOME/KDE, использует Flathub. Snap-пакеты обновляются принудительно, Flatpak — с контролем пользователя. На Debian можно использовать обе системы одновременно.

Вопрос: Безопасны ли Snap-пакеты?

Ответ: Да, каждый snap-пакет изолирован (содержит свои зависимости и ограничен в доступе к системе). Разрешения можно контролировать через snap interfaces.

Вопрос: Как задать окно для автоматического обновления snap-пакетов?

Ответ:

sudo snap set system refresh.timer=4:00-7:00,19:00-22:00

Вопрос: Snap-пакет не запускается, как посмотреть логи?

Ответ: Используйте snap logs имя-пакета или смотрите системный журнал:

journalctl -u snap.имя-пакета

Заключение

Теперь Snapd установлен на вашем Debian, и вы можете пользоваться огромным каталогом Snap-пакетов — от VLC до VS Code. Главное, что нужно запомнить: после установки APT-пакета обязательно установите snapd как snap-пакет — это позволяет snapd обновлять себя. Также не забывайте перелогиниться после установки, чтобы snap/bin добавился в PATH.

Что дальше?

  • Установите Snap Store для графического поиска и установки
  • Установите Flatpak для ещё большего выбора приложений
  • Установите Firefox или Chromium как Snap-пакеты

Связанные статьи: