В Ubuntu 24.04 система установки программ через Snap по-прежнему занимает важное место. Этот формат позволяет легко ставить приложения, управлять их обновлениями, переключаться между версиями и при необходимости полностью отказаться от Snap. В этом материале расскажем, как всё это работает — просто и по делу.
Snap — это универсальный формат пакетов, разработанный Canonical. Каждый такой пакет включает всё, что нужно для работы программы: исполняемые файлы, библиотеки, настройки и прочее. Благодаря этому приложение можно запустить на любом дистрибутиве Linux, не заботясь о зависимости и конфликтах.
Всё управление берёт на себя специальная служба — snapd. Она отвечает за установку, обновление, запуск и удаление пакетов. Сами Snap-файлы (с расширением .snap) представляют собой архивы, которые монтируются в систему как только для чтения.
Данные пользователя при этом хранятся отдельно — в папке ~/snap/<app-name>/. Это удобно: настройки и файлы не теряются даже при переустановке приложения.
Правда, за универсальность приходится платить: Snap-приложения обычно весят больше, потому что включают всё необходимое, даже если это уже есть в системе. А ещё Snap хранит предыдущую версию на случай отката — это тоже занимает место.
Установка Snap в Ubuntu 24.04
В большинстве случаев Snap в Ubuntu 24.04 уже предустановлен. Но если вы работаете с минимальной версией системы, в контейнере или собирали систему вручную — возможно, snapd придётся установить отдельно.
Проверьте, установлен ли Snap:
snap version
Если система не узнаёт эту команду — поставьте Snap вручную:
sudo apt update
sudo apt install snapd
После установки стоит убедиться, что служба работает:
sudo systemctl start snapd
sudo systemctl enable snapd
systemctl status snapd
systemctl status snapd.socket
Если всё в порядке, можно начинать пользоваться Snap.
Самая простая команда для установки:
sudo snap install <package-name>
Чтобы найти нужную программу:
snap find <keyword>
Например, чтобы установить VLC:
sudo snap install vlc
А вот установка Visual Studio Code требует чуть больше:
sudo snap install code --classic
Флаг --classic нужен для тех приложений, которым необходим доступ к системным ресурсам, путям и внешним процессам. Без него такие программы просто не запустятся.
Список установленных Snap-пакетов:
snap list
Snap сам обновляет приложения в фоне. Если хотите обновить всё вручную:
sudo snap refresh
Можно настроить, когда именно разрешены обновления:
sudo snap set system refresh.timer=mon,wed,fri,6:00-8:00
Или отложить установку на неделю:
sudo snap refresh --hold=168h
Если после обновления что-то пошло не так — можно откатиться:
sudo snap revert <package-name>
Удаление приложения:
sudo snap remove <package-name>
Для полной очистки (включая настройки пользователя):
sudo snap remove --purge <package-name>
Иногда служба snapd может завершиться с ошибкой. Проверяем:
systemctl status snapd
Если нужно перезапустить:
sudo systemctl restart snapd
Также проверьте, работает ли системный сокет:
systemctl status snapd.socket
Если он отключён, включаем:
sudo systemctl enable --now snapd.socket
У каждого Snap-пакета есть каналы:
— stable — стабильная версия (по умолчанию),
— candidate — почти готовая к релизу,
— beta — тестовая,
— edge — экспериментальная, самая свежая.
Чтобы установить приложение из конкретного канала:
sudo snap install <пакет> --channel=beta
А чтобы переключиться на другой канал:
sudo snap refresh <пакет> --channel=stable
Если вы решили отказаться от Snap, удалите все установленные приложения:
snap list
sudo snap remove --purge <package-name>
Затем удалите сам Snap:
sudo apt purge snapd
sudo rm -rf ~/snap /snap /var/snap /var/lib/snapd
Иногда одно и то же приложение может быть установлено в двух вариантах: .deb и Snap. Это может вызывать путаницу и даже конфликты.
На что обратить внимание:
— Приложения могут дублироваться в меню;
— Поведение может отличаться (Snap работает в изоляции);
— По умолчанию система запускает Snap-версию, если она есть.
Чтобы запустить именно нужную версию, указывайте путь явно:
/usr/bin/code # deb-версия
/snap/bin/code # snap-версия
Если не хотите путаницы — придерживайтесь одного формата. Особенно это важно в серверных и корпоративных системах, где стабильность — на первом месте.