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.socket→enabled,systemctl is-active snapd.socket→active - [ ] 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-world→hello-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-пакеты
Связанные статьи: