unsnap, et værktøj til at migrere snap-pakker til flatpak
Snap er et pakkesystem udviklet af Canonical. til Ubuntu og kan implementeres på operativsystemer, der bruger Linux-kernen og systemd init-systemet.
Dette pakkesystems præsenteres som et "universelt" system, som Canonical har promoveret meget i en sådan grad, at den i de nye versioner, der er designet til Ubuntu, har ladet støtten fra Flatpak til side og dermed satse alt for alt for sit pakkesystem.
På den anden side også Canonical har truffet beslutningen om at frigive en version af Ubuntu helt på Snap. Dette er nyheder, som ikke var begejstret for mange, og som har skabt en splittelse i fællesskabet, da Snap-pakker ikke accepteres fuldt ud.
Før det Forskellige bevægelser er dukket op for at give et plus for brugen af Flatpak-pakker. Et af de projekter, der understøtter Flatpak-formatet, er unsnap, som er udviklet som et værktøj til at konvertere Ubuntu-baserede systemer fra at bruge snap-pakker til flatpak-pakker.
Hjælpeprogrammet erstatter ikke kun snap-pakkehåndteringen med flatpak, men vælger og installerer også flatpak-modstykker til snap-pakker, der allerede er installeret på systemet. I det ideelle tilfælde kan brugeren få et fuldstændig lignende sæt applikationer, men installeret i flatpak-format.
om unsnap
Migreringen sker i flere trin. I det første trin, unsnap genererer et sæt shell-scripts, der beskriver erstatningsoperationerne. Under hensyntagen til systemets aktuelle tilstand oprettes separate scripts til at sikkerhedskopiere snap-miljøet, installere flatpak-pakkehåndteringen, aktivere flatpak-lagre, installere flatpak-analoger til snap-pakker, der allerede er på systemet, fjerne snap-pakker og snapd-systemværktøjssættet. Før de automatisk genererede scripts udføres, kan brugeren redigere dem efter deres smag.
Projektet erudvikles af Alan Pope, en af udviklerne af Snap-systemet, som forlod Canonical i 2021 efter 10 år i virksomheden. Værktøjssættet er stadig placeret som eksperimentelt (præ-alfa) og er begrænset til Ubuntu-understøttelse.
Af de relaterede projekter nævner unsnap-forfatteren custom-desktop (et sæt scripts til at konvertere sammensætningen af et allerede installeret Ubuntu-miljø) og deb-get (en analog af apt-get til at arbejde med deb-pakker placeret i tredjeparts repositories eller på hjemmesider).
Ud over pakkehåndteringen giver deb-get-projektet klar til at installere tredjepartspakkemetadata, der kan bruges til at erstatte snap-pakker med deb-pakker.
Unsnap kan automatisk køre et sæt scripts er genereret:
- 00-backup : Kør snap save for hver installeret snap, der migreres
- 01-install-flatpak : Hvis det ikke allerede er installeret, vil det installere flatpak-pakkehåndteringen
- 02-enable-flathub : hvis den ikke er aktiveret, tilføjes flathub-fjernplaceringen i flatpak
- 03-install-flatpaks : installerer tilsvarende flatpaks for hvert identificeret plugin
- 04-remove-snaps : fjerner snaps, for hvilke der er installeret flatpaks
- 99-remove-snapd : fjerner snapd alene, hvilket vil fjerne alle snap-pakker
Det nævnes, at man i fremtiden fjerner planer om at understøtte andre snap-kompatible distributioner, såsom Manjaro, Linux Mint, Zorin, Debian, Fedora, Pop_OS!, KDE Neon, Raspbian, CentOS og Elementary OS. Brugere kan også være interesseret i listen over analoge pakker udarbejdet af projektet i snap- og flatpak-formater.
Hvordan installeres unsnap på Ubuntu?
For dem, der er interesseret i at kunne installere dette værktøj på deres system, skal de vide, at installationen er ret enkel, og det er nok at åbne en terminal, og i den skriver de følgende:
git clone https://github.com/popey/unsnap
cd unsnap
./unsnap
Unsnap fungerer som en to-trins proces. I første omgang, Unsnap genererer et sæt scripts, der er ansvarlige for at udføre migreringen ægte fra snap-pakker til flatpak. Denne funktion giver brugerne mulighed for at se og om nødvendigt redigere scripts før udførelse for at validere eller ændre dem i overensstemmelse med deres behov.
Når scripts er genereret, kan brugerne køre dem i rækkefølge for at fuldføre migreringsprocessen.
Eller, som nævnt i begyndelsen, hvis du foretrækker at udføre alle scripts, skal du bare skrive:
./unsnap auto
Endelig er det værd at nævne, at ligesom enhver migreringsproces, anbefales det at lave en sikkerhedskopi af vigtige oplysninger, da det som sådan er sletning og installation af applikationer, hvilket også indebærer sletning af information.
Hvis du er interesseret i at lære mere om det, kan du tjekke detaljerne på følgende link.