Битлента
Windows, macOS, Android, iOS6 мин чтения·

Snap и Flatpak в Ubuntu и Debian: чем отличаются от пакетов apt, где хранятся и как освободить место

Чем snap и Flatpak отличаются от пакетов apt, где лежат их данные, как посмотреть список, обновить и убрать старые версии, чтобы освободить место на диске.

Кратко

Snap и Flatpak ставят программы вместе с зависимостями в изолированном виде. Посмотреть список можно через snap list и flatpak list, освободить место помогает удаление отключённых ревизий snap и команда flatpak uninstall --unused.

Чем snap и Flatpak отличаются от обычных пакетов apt

Пакет apt ставит программу в общую систему и использует библиотеки, которые уже есть у дистрибутива. Snap и Flatpak устроены иначе: программа приходит в составе с собственными зависимостями или с общим набором библиотек, запускается в изолированной среде и обновляется независимо от системных пакетов. Это позволяет получить свежую версию приложения на более старом выпуске системы, но объём на диске растёт, потому что часть библиотек дублируется.

Оба формата поддерживаются на Ubuntu и Debian, хотя по-разному. В Ubuntu утилита snap входит в установку по умолчанию, и часть программ, например браузер Firefox в современных выпусках, поставляется именно в этом виде. В Debian snapd по умолчанию не ставится, а Flatpak доступен как пакет flatpak из репозитория. Чтобы ставить приложения из Flathub, нужно добавить этот источник по инструкции проекта. Поведение зависит от версии системы и окружения, поэтому ориентируйтесь на документацию своего выпуска.

Где что искать: apt list --installed показывает обычные пакеты, snap list — snap-пакеты, flatpak list — Flatpak. Три списка независимы.

Сравнение: где лежат файлы и данные

Для чистки диска полезно знать, куда каждый формат складывает данные. Тогда вы поймёте, какой каталог растёт и что можно сделать.

ПараметрSnapFlatpak
Образы программ/var/lib/snapd и точки монтирования /snap/var/lib/flatpak (системные) или ~/.local/share/flatpak (пользовательские)
Данные программ~/snap/имя~/.var/app/имя
Обновленияавтоматически, по расписанию службы snapdпо команде flatpak update или через менеджер программ
Хранение старых версийнесколько ревизий на дискестарые данные обычно удаляются, остаются неиспользуемые среды выполнения
Просмотр спискаsnap listflatpak list

Строки в таблице носят общий характер: расположение каталогов может отличаться в конкретной версии системы. Проверить, где реально лежат файлы, помогут du и df, описанные на соседней странице. Образы snap монтируются как отдельные устройства, поэтому в df -h они выглядят как десятки строк с типом squashfs. Строки с squashfs показывают размер самих образов, а не свободное место раздела: при оценке заполнения диска их можно не учитывать.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Как посмотреть, обновить и удалить snap-пакеты

Для snap набор команд невелик. Команды, которые меняют систему, требуют прав администратора.

  • snap list — установленные snap-пакеты и их версии;
  • snap list --all — список вместе с отключёнными ревизиями;
  • snap info имя — сведения о пакете и каналах обновлений;
  • sudo snap refresh — обновить всё сразу, snap refresh --list покажет доступные обновления;
  • sudo snap remove имя — удалить пакет, при этом, по умолчанию, делается снимок данных;
  • sudo snap remove имя --revision=номер — удалить конкретную старую ревизию.

Служба snapd хранит несколько прошлых ревизий каждого пакета, чтобы можно было откатиться. Старые ревизии в snap list --all помечены как disabled. Если на диске мало места, их можно удалить по одной командой с номером ревизии. Число хранимых ревизий управляется параметром: sudo snap set system refresh.retain=2. Допустимые значения ограничены; уточняйте их в документации своего выпуска.

Перед удалением посмотрите номер ревизии и убедитесь, что удаляете именно disabled, а не работающую. Перед удалением пакета сохраните важные данные из ~/snap/имя: автоматический снимок данных хранится ограниченное время, и полагаться только на него не стоит.

Как посмотреть, обновить и убрать Flatpak

У Flatpak похожий набор. Отличие в том, что он различает системные и пользовательские установки и использует общие среды выполнения (runtimes), которые подключаются сразу к нескольким приложениям.

  1. flatpak list — установленные приложения и среды выполнения;
  2. flatpak remotes — подключённые источники, например магазин, который вы добавили;
  3. flatpak update — обновить приложения и среды;
  4. flatpak uninstall имя — удалить приложение;
  5. flatpak uninstall --unused — удалить среды выполнения, которые больше ни одному приложению не нужны;
  6. flatpak repair — проверить и восстановить локальное хранилище при ошибках.

После удаления приложения его данные в ~/.var/app могут остаться. Это сделано для того, чтобы не потерять настройки при повторной установке. Если они не нужны, каталог можно удалить вручную, но проверьте имя дважды. Команда rm -rf без проверки пути опасна: неверный каталог не вернуть. Перед удалением сохраните резервную копию нужных настроек.

Если вы устанавливаете один и тот же вид программ и через apt, и через Flatpak, получается два экземпляра с разными настройками. Выберите один вариант для каждой программы.

Как выбрать формат и что учесть при очистке

Единого правила нет: выбор зависит от того, какая версия программы вам нужна, как вы относитесь к расходу диска и как важны вам обновления. Пакет apt обычно занимает меньше места, так как использует общие библиотеки системы. Snap и Flatpak удобны, когда нужна свежая версия приложения или когда в репозитории дистрибутива её нет.

Порядок действий при нехватке места:

  • выяснить через df -h и du, какой каталог заполнен, и не заканчивается ли место из-за самих snap и Flatpak;
  • удалить отключённые ревизии snap и неиспользуемые среды Flatpak;
  • очистить кэш apt и посмотреть журнал systemd, они описаны отдельно;
  • удалить программы, которыми вы не пользуетесь, тем способом, которым они были установлены.

Если программа открывается с задержкой на первом запуске или имеет ограничения при доступе к файлам, это может быть связано с изоляцией. У Flatpak права программы можно просматривать в параметрах приложения или через flatpak info. Если нужный каталог недоступен, разрешение выдают точечно; широкие права ослабляют изоляцию, поэтому выдавайте их осознанно.

Наконец, не забывайте о резервных копиях перед массовой очисткой. Данные snap и Flatpak лежат в домашнем каталоге, и удаление каталога с настройками необратимо. Если вы сомневаетесь в значении какого-либо пути, не удаляйте его, а переместите во временную папку (закрыв приложение) и поработайте несколько дней: если всё в порядке, удалите её. Такой подход занимает чуть больше времени, зато защищает от потери профиля браузера или игровых сохранений.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
snapflatpakubuntudebianпакеты

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

Читайте также