unsnap, narzędzie do migracji pakietów snap do flatpak
Snap to system pakietów opracowany przez Canonical dla Ubuntu, który można wdrożyć w systemach operacyjnych wykorzystujących jądro Linux i system init systemd.
Ten system pakietów przedstawiany jest jako system „uniwersalny”, który Canonical promuje do tego stopnia, że w nowych wersjach planowanych dla Ubuntu, zrezygnował ze wsparcia dla Flatpak i postawił wszystko na własny system pakietów.
Z drugiej strony, Canonical zdecydowało się również na wydanie wersji Ubuntu w całości w postaci pakietów Snap. Wiadomość ta nie spotkała się z dobrym przyjęciem i wywołała podziały w społeczności, ponieważ pakiety Snap nie są powszechnie akceptowane.
W odpowiedzi na to pojawiło się kilka ruchów promujących korzystanie z pakietów Flatpak. Jednym z projektów wspierających format Flatpak jest unsnap, rozwijany jako narzędzie do konwersji systemów Ubuntu z pakietów snap na pakiety flatpak.
Narzędzie nie tylko zastępuje menedżera pakietów snap pakietem flatpak, ale także wybiera i instaluje odpowiedniki flatpak dla pakietów snap już zainstalowanych w systemie. W idealnym przypadku użytkownik może otrzymać zupełnie podobny zestaw aplikacji, ale zainstalowanych w formacie flatpak.
o odczepieniu
Migracja odbywa się w kilku krokach. W pierwszym kroku unsnap generuje zestaw skryptów powłoki opisujących operacje zastępowania. Uwzględniając aktualny stan systemu, tworzone są osobne skrypty do tworzenia kopii zapasowej środowiska snap, instalacji menedżera pakietów flatpak, aktywacji repozytoriów flatpak, instalacji odpowiedników flatpak dla pakietów snap już obecnych w systemie oraz usuwania pakietów snap i zestawu narzędzi snapd z systemu. Przed uruchomieniem automatycznie wygenerowanych skryptów użytkownik może je edytować w razie potrzeby.
Projekt rozwija Alan Pope , jeden z twórców systemu Snap, który opuścił Canonical w 2021 roku po 10 latach pracy w firmie. Zestaw narzędzi jest nadal pozycjonowany jako eksperymentalny (pre-alfa) i ogranicza się do wsparcia dla Ubuntu.
Z powiązanych projektów autor unsnap wymienia custom-desktop (zestaw skryptów do konwersji składu już zainstalowanego środowiska Ubuntu) i deb-get (odpowiednik apt-get do pracy z pakietami deb znajdującymi się w zewnętrznych repozytoriach lub na stronach internetowych).
Oprócz menedżera pakietów projekt deb-get zapewnia gotowe do zainstalowania metadane pakietów innych firm, których można użyć do zastąpienia pakietów snap pakietami deb.
Unsnap może automatycznie uruchomić zestaw generowanych skryptów:
- 00-backup : Uruchom zapisywanie snapu dla każdego zainstalowanego snapa, który jest migrowany
- 01-install-flatpak : Jeśli nie jest jeszcze zainstalowany, zainstaluje menedżera pakietów flatpak
- 02-enable-flathub: jeśli nie jest włączone, doda zdalną lokalizację flathub w flatpak
- 03-install-flatpaks : instaluje równoważne flatpaks dla każdej zidentyfikowanej wtyczki
- 04-remove-snaps : usuwa snapy, dla których zainstalowano flatpaks
- 99-remove-snapd : usuwa sam snapd, co spowoduje usunięcie wszystkich pakietów snapd
Wspomniano, że w przyszłości unsnap planuje wspierać inne dystrybucje kompatybilne ze snapem, takie jak Manjaro, Linux Mint, Zorin, Debian, Fedora, Pop_OS!, KDE Neon, Raspbian, CentOS i Elementary OS. Użytkowników może również zainteresować lista pakietów analogowych przygotowanych przez projekt w formatach snap i flatpak.
Jak zainstalować unsnap na Ubuntu?
Osoby zainteresowane możliwością zainstalowania tego narzędzia w swoim systemie powinny wiedzieć, że instalacja jest dość prosta i wystarczy otworzyć terminal i wpisać w nim:
git clone https://github.com/popey/unsnap
cd unsnap
./unsnap
Unsnap działa w dwóch etapach. Początkowo Unsnap generuje zestaw skryptów odpowiedzialnych za przeprowadzenie faktycznej migracji pakietów Instant Packages do Flatpak. Funkcja ta pozwala użytkownikom przeglądać i, w razie potrzeby, edytować skrypty przed ich wykonaniem, aby je zweryfikować lub zmodyfikować zgodnie z własnymi potrzebami.
Po wygenerowaniu skryptów użytkownicy mogą uruchamiać je po kolei, aby zakończyć proces migracji.
Lub, jak wspomniano na początku, jeśli wolisz wykonać wszystkie skrypty, po prostu wpisz:
./unsnap auto
Na koniec warto wspomnieć, że jak każdy proces migracji, zaleca się wykonanie kopii zapasowej ważnych informacji, ponieważ jako takie jest to usuwanie i instalowanie aplikacji, co wiąże się również z usuwaniem informacji.
Jeśli chcesz dowiedzieć się więcej, szczegóły znajdziesz pod poniższym linkiem.