unsnap, ett verktyg för att migrera snap-paket till flatpak
Snap är ett paketsystem utvecklat av Canonical för Ubuntu som kan implementeras på operativsystem som använder Linuxkärnan och systemd init-systemet.
Detta paketsystem presenteras som ett "universellt" system, vilket Canonical har marknadsfört i sådan utsträckning att man i de nya versioner som planeras för Ubuntu har övergett stödet för Flatpak och därmed satsat allt på sitt eget paketsystem.
Å andra sidan har Canonical också beslutat att släppa en version av Ubuntu helt och hållet som Snap-paket. Denna nyhet har inte mottagits väl av många och har skapat en splittring inom gemenskapen, eftersom Snap-paket inte är universellt accepterade.
Som svar har flera rörelser dykt upp för att främja användningen av Flatpak-paket. Ett av projekten som stöder Flatpak-formatet är unsnap, som utvecklas som ett verktyg för att konvertera Ubuntu-baserade system från att använda snap-paket till flatpak-paket.
Verktyget ersätter inte bara snap-pakethanteraren med flatpak, utan väljer och installerar även flatpak-motsvarigheter för snap-paket som redan är installerade på systemet. I det ideala fallet kan användaren få en helt liknande uppsättning applikationer, men installerade i flatpak-format.
om unsnap
Migreringen utförs i flera steg. I det första steget genererar unsnap en uppsättning skalskript som beskriver ersättningsåtgärderna. Med hänsyn till systemets aktuella tillstånd skapas separata skript för att säkerhetskopiera snap-miljön, installera flatpak-pakethanteraren, aktivera flatpak-arkiv, installera flatpak-ekvivalenter för snap-paket som redan finns på systemet och ta bort snap-paket och snapd-verktygslådan från systemet. Innan de automatiskt genererade skripten körs kan användaren redigera dem efter behov.
Projektet utvecklas av Alan Pope , en av utvecklarna av Snap-systemet, som lämnade Canonical 2021 efter 10 år i företaget. Verktygen är fortfarande positionerade som experimentella (pre-alpha) och är begränsade till Ubuntu-stöd.
Av de relaterade projekten nämner unsnap-författaren custom-desktop (en uppsättning skript för att konvertera sammansättningen av en redan installerad Ubuntu-miljö) och deb-get (en analog till apt-get för att arbeta med deb-paket som finns i tredjepartsförråd eller på webbplatser).
Förutom pakethanteraren tillhandahåller deb-get-projektet färdig-att-installera tredjepartspaketmetadata som kan användas för att ersätta snap-paket med deb-paket.
Unsnap kan automatiskt köra en uppsättning skript som genereras:
- 00-backup : Kör snap save för varje installerad snap som migreras
- 01-install-flatpak : Om det inte redan är installerat kommer det att installera flatpak-pakethanteraren
- 02-enable-flathub : om det inte är aktiverat, lägger till flathub-fjärrplatsen i flatpak
- 03-install-flatpaks : installerar motsvarande flatpaks för varje identifierad plugin
- 04-remove-snaps : tar bort snaps för vilka flatpaks har installerats
- 99-remove-snapd : tar bort snapd enbart, vilket tar bort alla snap-paket
Det nämns att i framtiden, unsnap planer för att stödja andra snap-kompatibla distributioner, såsom Manjaro, Linux Mint, Zorin, Debian, Fedora, Pop_OS!, KDE Neon, Raspbian, CentOS och Elementary OS. Användare kan också vara intresserade av listan över analoga paket som utarbetats av projektet i snap- och flatpak-format.
Hur installerar man Unsnap på Ubuntu?
För de som är intresserade av att kunna installera det här verktyget på sitt system bör de veta att installationen är ganska enkel och det räcker med att öppna en terminal och i den kommer de att skriva följande:
git clone https://github.com/popey/unsnap
cd unsnap
./unsnap
Unsnap fungerar som en tvåstegsprocess. Inledningsvis genererar Unsnap en uppsättning skript som ansvarar för att utföra den faktiska migreringen av Instant Packages till Flatpak. Den här funktionen låter användare visa och, om nödvändigt, redigera skripten innan de körs för att validera eller modifiera dem efter behov.
När skripten har genererats kan användare köra dem i sekvens för att slutföra migreringsprocessen.
Eller, som nämndes i början, om du föredrar exekvering av alla skript, skriv bara:
./unsnap auto
Slutligen är det värt att nämna att precis som alla migreringsprocesser, rekommenderas att göra en säkerhetskopia av viktig information, eftersom det som sådan är att ta bort och installera applikationer, vilket också innebär att information tas bort.
Om du är intresserad av att lära dig mer kan du hitta detaljerna på följande länk.