Вы здесь

Обзор инструментария Unsnap для миграции со Snap на Flatpak в Ubuntu

Опубликовано: чт, 27/07/2023 - 00:10
Unsnap

Формат Snap активно продвигается компанией Canonical. Несмотря на все его плюсы, есть у него и противники. Конкурирующий формат Flatpak ничем не хуже, а количество программ, доступных в нем, - гораздо больше. Благодаря проекту Unsnap в Ubuntu теперь можно осуществить миграцию со Snap на Flatpak.

Инструментарий Unsnap позволяет не только заменить пакетный менеджер Snap на Flatpak, но и автоматически установить Flatpak-аналоги вместо Snap-программ (с удалением последних). Проект развивает Алан Поуп (Alan Pope), который проработал более 10 лет в Canonical и был одним из разработчиков формата Snap. 

На данный момент Unsnap позиционируется как экспериментальный (пре-альфа), однако он уже вполне рабочий. Список поддерживаемых пакетов включает 219 наименований, опытные пользователи также могут добавить поддержку дополнительных пакетов. Поддержка ОС на текущий момент ограничена следующими дистрибутивами: Ubuntu (и его деривативы), Debian, Linux Mint, Pop!_OS, Elementary OS и Zorin OS, однако в будущем планируется ее расширение для других дистрибутивов с поддержкой Snap: Manjaro, Fedora, CentOS, KDE Neon и Raspbian.

Рабочий процесс

Unsnap работает следующим образом: сначала он сканирует приложения Snap, установленные в системе, а затем генерирует следующие сценарии:

  • 00-backup — скрипт для сохранения текущих приложений Snap (запускает команду snap save для бэкапа каждого приложения),
  • 01-install-flatpak — скрипт для установки Flatpak (если он не установлен),
  • 02-enable-flathub — скрипт для добавления репозитория Flathub (если он еще не подключен),
  • 03-install-flatpaks — скрипт для установки эквивалентных Flatpak-пакетов для каждого идентифицированного Snap-пакета,
  • 04-remove-snaps — скрипт для удаления всех приложений Snap,
  • 99-remove-snapd — скрипт для удаления демона управления пакетами snapd.

Скрипт работает в двух режимах: default (интерактивный) и auto (полный автомат).

Unsnap

Запуск Unsnap

Стоит сразу предупредить, что пользовательские данные Snap-приложений не будут перемещены в соответствующие данные Flatpak!

Для запуска Unsnap понадобится клонировать репозиторий GitHub и запустить команду unsnap. Она сгенерирует набор скриптов, которые надо будет последовательно запустить. Либо воспользоваться параметром auto, и программа все сделает автоматически.

Установка репозитория:

sudo apt install git

git clone https://github.com/popey/unsnap

Переход в каталог репозитория:

cd unsnap

Запуск unsnap:

./unsnap

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

./unsnap auto

После чего следует перезагрузиться.


Теги:

Комментарии

Аватар пользователя Semen

А ведь работает метод! Снес все snap-пакеты.
Забавно, что Поуп сначала разработал Snap, а теперь способствует избавлению от него. Типа, я тебя породил, я тебя и убью :-D

Аватар пользователя Arch User

Snap - тот еще велосипед. В отличие от полностью свободного и открытого Flatpak, у Снапа закрытый код серверной архитектуры. Так что инициативу полностью поддерживаю, давно стоит отказываться от Snap. Надеюсь, когда-нибудь это допрет и до Канониклов.

Добавить комментарий