Linux-systemen zijn om vele redenen populair, maar het installeren van applicaties is daar niet één van. Apps in Linux worden geleverd als pakketten en zijn er in allerlei smaken. Verpakkingssystemen verschillen wat betreft installatie, bruikbaarheid en updatemechanismen.
Hieronder zullen we drie prominente pakketformaten bekijken en vergelijken: Snap, AppImage en Flatpak, allemaal distro-onafhankelijk.
Wat zijn pakketformaten?
Pakketformaten zijn archieven die programmacode bevatten en de metadata die nodig zijn om ze uit te voeren. Linux ondersteunt verschillende pakketindelingen en ontwikkelaars kunnen ervoor kiezen hun app in elke gewenste indeling te verpakken. Als gebruiker moet u het vereiste pakket downloaden en installeren via een pakketbeheerder om de toepassing uit te voeren.
Ubuntu en andere op Debian gebaseerde distributies gebruik de .deb pakketformaat native, terwijl Fedora, RHEL en CentOS gebruiken .rpm. Native pakketten zijn snel omdat ze speciaal voor een systeem zijn ontworpen en samengesteld, en ze delen ook bibliotheken, waardoor apps kleiner blijven. Native pakketten vereisen echter dat gebruikers de afhankelijkheden zelf bijwerken en onderhouden.
Distro-onafhankelijke pakketten zoals Snap, AppImage en Flatpak bieden apps die op verschillende machines kunnen worden uitgevoerd. Ze nemen de afhankelijkheidsproblemen weg waarmee veel Linux-gebruikers elke dag worden geconfronteerd en maken het leven van ontwikkelaars een stuk eenvoudiger. Dit resulteert echter ook in grotere binaire bestanden.
Snap vs. AppImage vs. Flatpak
Zoals hierboven vermeld, bieden Snap, AppImage en Flatpak alle drie middelen voor het verpakken van apps onafhankelijk van de Linux-distributie. Laten we enkele van hun opvallende kenmerken eens nader bekijken, evenals de voor- en nadelen.
1. Snap
Snap is een verpakkingssysteem ontwikkeld door Canonical en heeft een aanzienlijke bedrijfsondersteuning. Wanneer u de snap-versie van een app installeert, bevat deze alle bibliotheken en afhankelijkheden die nodig zijn om die app uit te voeren. Dit bespaart app-beheerders de tijd die nodig is om verschillende builds voor verschillende systemen uit te rollen.
Jij kan installeer snaps uit de Snap Store direct of via de opdrachtregel. Veel populaire Linux-distributies hebben Snap geadopteerd, waaronder Ubuntu, Manjaro, Linux Mint, Debian, Kali en RHEL. Een ander belangrijk voordeel van Snap-apps is dat ze ook zonder aanpassingen op IoT- en Cloud-systemen draaien.
Snaps stellen gebruikers ook in staat om meerdere versies van dezelfde app te hebben. Het zelf-updatende karakter van snaps zorgt ervoor dat gebruikers zich geen zorgen hoeven te maken over handmatige updates. Omdat snap-pakketten echter alle noodzakelijke afhankelijkheden bevatten, zijn ze omvangrijker dan vanille .deb of .rpm pakketjes. Bovendien werkt de snap-versie van veel apps langzamer dan AppImages of Flatpaks.
Hieronder staan enkele snap-commando's die handig kunnen zijn als je er net mee begint. De functie van elke opdracht wordt weergegeven als opmerkingen.
# installeer VLC Media Player
snap installatie vlc# lijst geïnstalleerde snaps
snap lijst# update VLC Media Player
snap refresh vlc# zet VLC Media Player terug naar de vorige versie
snap terugzetten vlc
# verwijder VLC Media Player
snap verwijder vlc
2. AppImage
AppImage is een geweldige manier om nieuwe apps uit te proberen zonder ze op uw computer te installeren. Het concept achter AppImage is vrij eenvoudig: één bestand per app. Op deze manier kunnen ontwikkelaars de draagbaarheid van hun apps garanderen en kunnen gebruikers nieuwe pakketten uitproberen zonder installatie. Een groot voordeel van AppImages is dat ze geen sudo-machtigingen in Linux.
Om een AppImage uit te proberen, hoeft u alleen maar het pakket te downloaden, het uitvoerbaar te maken en het uit te voeren. Het is vergelijkbaar met hoe .exe bestanden werken in Windows.
Verwant: Kan Linux Windows EXE-bestanden uitvoeren?
AppImageHub is de centrale opslagplaats voor AppImage-pakketten en bevat veel populaire apps. U kunt AppImages ook downloaden van websites van leveranciers, indien aanwezig. Maar blijf uit de buurt van AppImages gedownload van een niet-vertrouwde bron.
AppImages zijn meestal sneller dan snaps of flatpaks en hebben minder opslagruimte nodig. Ze zijn ook gemakkelijk te verwijderen, omdat u AppImage-bestanden op elk gewenst moment kunt verwijderen zonder andere systeemprocessen te onderbreken.
Hieronder staan de opdrachten die nodig zijn om een AppImage-bestand in Linux uit te voeren vanaf de opdrachtregel:
# geef uitvoerrechten aan het bestand
chmod a+x *.AppImage
# voer de AppImage uit
./*.AppImage
3. Flatpak
Flatpak is een ander distro-agnostisch verpakkingssysteem dat apps met vereiste afhankelijkheden verzendt. Gebruikers kunnen flatpaks vinden en installeren vanuit de distributiewinkel van populaire Linux-systemen of via de CLI.
Flatpak is een gedecentraliseerd systeem, wat betekent dat u pakketten kunt verkrijgen van verschillende repo's of afstandsbedieningen (in Flatpak-termen). platte naaf is de meest populaire afstandsbediening en heeft duizenden apps.
Flatpak-apps draaien standaard in een sandbox, een applicatieomgeving die losstaat van de runtime van het hostsysteem. Deze sandbox bevat alles wat nodig is om de software uit te voeren. Het geïsoleerde karakter van Flatpak-pakketten maakt ze inherent veilig en systeemwijzigingen kunnen alleen plaatsvinden als de gebruiker expliciete toestemming geeft.
Flatpak-pakketten nemen echter meestal meer ruimte in beslag dan Snaps of AppImages. Ze zijn ook langzamer in vergelijking met AppImages, maar sneller dan Snap-pakketten. Flatpak is standaard geïnstalleerd op moderne Linux-distributies. Als dat niet het geval is, kunt u het installeren met behulp van de volgende opdrachten:
Op Ubuntu/Debian:
sudo apt flatpak installeren
Op Arch Linux:
sudo pacman -S flatpak
Op Fedora, RHEL en CentOS:
sudo dnf flatpak installeren
U kunt de Flathub-repo aan uw systeem toevoegen met behulp van het onderstaande fragment:
flatpak remote-add --if-not-exists flathub \ https://flathub.org/repo/flathub.flatpakrepo
Gebruik de flatpak installeren commando om pakketten te installeren. De onderstaande opdracht installeert de VLC flatpak van Flathub:
flatpak installeer flathub org.videolan. VLC
Snap vs. AppImage vs. Flatpak: Welke weg te gaan?
Aangezien alle drie de pakketindelingen OS-onafhankelijk zijn, kunt u ervoor kiezen om een van hen te gebruiken. Er zijn echter scenario's waarin de een de ander overtreft. Als applicatiesnelheid en programmagrootte bijvoorbeeld het belangrijkst voor u zijn, dan is AppImage de ideale oplossing.
Maar als u uw toepassing op verschillende platforms wilt uitvoeren, moet u met Snaps gaan. Flatpaks biedt daarentegen meer controle aan de ontwikkelaars. Dus als je een ontwikkelaar bent, kun je Flatpak verkiezen boven Snaps. Beschikbaarheid van apps is ook een belangrijke factor bij het kiezen tussen Snap, AppImage en Flatpak.
Beste distro-onafhankelijke verpakkingssysteem voor Linux
Distro-onafhankelijke pakketten zijn een geweldige manier om de overdraagbaarheid van software te garanderen. Alle drie Snap, AppImage en Flatpak hebben iets unieks te bieden voor eindgebruikers. Toch is het aan jou welke je wilt gebruiken. Beter nog, probeer enkele van de beste Linux-apps uit alle drie de rijken en kijk wat voor jezelf werkt.
Of je nu nieuw bent bij Linux of een doorgewinterde gebruiker bent, hier zijn de beste Linux-software en -apps die je vandaag zou moeten gebruiken.
Lees volgende
- Linux
- Linux-apps
- Pakketbeheerders
Rubaiat is een CS-graduaat met een sterke passie voor open-source. Behalve dat hij een Unix-veteraan is, houdt hij zich ook bezig met netwerkbeveiliging, cryptografie en functioneel programmeren. Hij is een fervent verzamelaar van tweedehands boeken en heeft een nooit aflatende bewondering voor classic rock.
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Klik hier om je te abonneren