unsnap, инструмент за мигриране на snap пакети към flatpak
Snap е пакетна система, разработена от Canonical. за Ubuntu и може да се внедри на операционни системи, които използват ядрото на Linux и системата за стартиране на systemd.
Тази пакетна системаs е представена като "универсална" система, което Canonical популяризира много до такава степен, че в новите версии, предназначени за Ubuntu, той остави настрана поддръжката на Flatpak и по този начин заложи всичко за всичко за своята пакетна система.
От друга страна също Canonical взе решение да пусне версия на Ubuntu изцяло на Snap. Това е новина, която не се хареса на мнозина и породи разделение в общността, тъй като пакетите Snap не се приемат напълно.
Преди него Появиха се различни движения, за да се даде плюс за използването на пакетите Flatpak. Един от проектите, поддържащи формата Flatpak, е unsnap, който е разработен като инструмент за преобразуване на базирани на Ubuntu системи от използване на snap пакети към пакети flatpak.
Помощната програма не само замества диспечера на пакети snap с flatpak, но също така избира и инсталира двойници на flatpak за пакети snap, които вече са инсталирани в системата. В идеалния случай потребителят може да получи напълно подобен набор от приложения, но инсталиран във формат flatpak.
относно откачването
Миграцията се извършва на няколко стъпки. В първата стъпка, unsnap генерира набор от шел скриптове, които описват операциите за замяна. Като се вземе предвид текущото състояние на системата, се създават отделни скриптове за архивиране на snap средата, инсталиране на мениджъра на пакети flatpak, активиране на хранилищата на flatpak, инсталиране на аналози на flatpak за snap пакети, които вече са в системата, премахване на snap пакети и системния инструментариум snapd. Преди да изпълни автоматично генерираните скриптове, потребителят може да ги редактира по свой вкус.
Проектът есе разработва от Алън Поуп, един от разработчиците на системата Snap, който напусна Canonical през 2021 г. след 10 години в компанията. Наборът от инструменти все още е позициониран като експериментален (пре-алфа) и е ограничен до поддръжка на Ubuntu.
От свързаните проекти авторът на unsnap споменава custom-desktop (набор от скриптове за преобразуване на състава на вече инсталирана Ubuntu среда) и deb-get (аналог на apt-get за работа с deb пакети, намиращи се в хранилища на трети страни или на уебсайтове).
В допълнение към мениджъра на пакети, проектът deb-get предоставя готови за инсталиране метаданни на пакети от трети страни, които могат да се използват за замяна на snap пакети с deb пакети.
Unsnap може автоматично да изпълнява набор от скриптове се генерират:
- 00-backup : Стартирайте snap save за всеки инсталиран snap, който се мигрира
- 01-install-flatpak : Ако вече не е инсталиран, той ще инсталира мениджъра на пакети flatpak
- 02-enable-flathub: ако не е активирано, ще добави отдалеченото местоположение на flathub в flatpak
- 03-install-flatpaks : инсталира еквивалентни плоски пакети за всеки идентифициран плъгин
- 04-remove-snaps : премахва snaps, за които са инсталирани плоски пакети
- 99-remove-snapd : премахва snapd сам, което ще премахне всички snap пакети
Споменава се, че в бъдеще unsnap планира да поддържа други съвместими със snap дистрибуции, като Manjaro, Linux Mint, Zorin, Debian, Fedora, Pop_OS!, KDE Neon, Raspbian, CentOS и Elementary OS. Потребителите може също да се интересуват от списъка с аналогови пакети, подготвени от проекта във формати snap и flatpak.
Как да инсталирате unsnap на Ubuntu?
За тези, които се интересуват от възможността да инсталират този инструмент на своята система, трябва да знаят, че инсталацията е доста проста и е достатъчно да отворят терминал и в него ще напишат следното:
git clone https://github.com/popey/unsnap
cd unsnap
./unsnap
Unsnap работи като процес на два етапа. първоначално Unsnap генерира набор от скриптове, които са отговорни за изпълнението на миграцията истински от бързи пакети до плоски пакети. Тази функция позволява на потребителите да преглеждат и, ако е необходимо, да редактират скриптовете преди изпълнение, за да ги валидират или модифицират според нуждите си.
След като скриптовете бъдат генерирани, потребителите могат да ги изпълняват последователно, за да завършат процеса на мигриране.
Или, както споменахме в началото, ако предпочитате изпълнението на всички скриптове, просто напишете:
./unsnap auto
И накрая, заслужава да се спомене, че като всеки процес на миграция, препоръката е да се направи резервно копие на важна информация, тъй като това е изтриване и инсталиране на приложения, което също води до изтриване на информация.
Ако се интересувате да научите повече за него, можете да проверите подробностите на следната връзка.