Zoeken op website

Wat is een Flatpak in Linux en hoe installeer je er een?


Flatpaks zonder montage.

Belangrijkste afhaalrestaurants

Flatpaks zijn een handige, distributie-onafhankelijke manier om Linux-applicaties te installeren. Met applicatie-sandboxing en gebundelde afhankelijkheden vermijden ze ook de afhankelijkheidshel. De meeste distributies bieden Flatpak-ondersteuning, maar op Ubuntu moet je eerst het Flatpak-framework installeren.

Flatpaks zijn een distributie-onafhankelijke manier om applicaties op uw Linux-computer te installeren. Maar als uw distributie al een native manier heeft om applicaties te installeren, waarom zou u dan ooit de moeite nemen om Flatpaks te gebruiken?

Wat is een Flatpak?

Flatpak is de naam van een pakketformaat dat wordt gebruikt om eenvoudig en betrouwbaar applicaties op elke Linux-distributie te installeren. Net als AppImages en Snaps worden Flatpaks-containers geleverd met alle vereiste afhankelijkheden, en apps die als Flatpaks zijn geïnstalleerd, kunnen ook zichzelf updaten. Je kunt ze vinden

De heilige graal van pakketbeheer

Alle Linux-distributies hebben een manier nodig om applicaties te installeren. Dat is de reden waarom er tools als Debian's apt, Fedora's dnf en Arch's pacman bestaan. Noodgedwongen doen ze allemaal hetzelfde, op iets verschillende manieren.

Ze laten de gebruiker softwarepakketten installeren door speciaal verpakte pakketten terug te halen uit een repository. De verpakking op het pakket bevat informatie over hoe de bestanden waaruit het pakket bestaat (uitvoerbare bestanden, gegevensbestanden, man-pagina's, enzovoort) naar verschillende locaties in het Linux-bestandssysteem moeten worden gekopieerd, en welke machtigingen moeten worden verleend. op hen toegepast.

Vanuit het oogpunt van een ontwikkelaar is het verpakken en vrijgeven van een versie van hun applicatie in elk van de verschillende pakketbeheerderformaten een grote taak. Zelfs als ze besluiten om alleen de top drie of vier formaten te ondersteunen, kan dit nog steeds een ontwikkelingsachterstand en een aanzienlijke ondersteuningsoverhead met zich meebrengen.

Ontwikkelaars werken veel liever aan hun eigen code dan te worstelen met de complexiteit van een reeks pakketformaten. Hoeveel beter zou het zijn als er een universeel installatieformaat was. Ontwikkelaars konden hun applicaties één keer verpakken, en gebruikers van elke distributie konden er gebruik van maken.

Gerelateerd: Software installeren met Git op Linux

Het dichtst dat we bij die heilige graal kwamen was de broncode, wat precies het tegenovergestelde is van een verpakte applicatie. Het betekent dat u de broncode en andere componenten van de applicatie downloadt en deze op uw eigen machine bouwt. Als methode werkt het, maar het is niet snel en ook niet bijzonder handig, en je moet weten wat je doet. Dat maakt het buiten bereik voor de meeste nieuwkomers in de Linux-wereld.

Flatpaks zijn een poging om een universeel pakketformaat te creëren. AppImages en Snaps zijn concurrerende projecten met dezelfde doelen. Flatpaks doen meer dan alleen de druk op ontwikkelaars verminderen om meerdere pakketformaten te ondersteunen. Ze bevatten zowel de applicatie als al zijn afhankelijkheden, zodat de applicatie niet zal falen vanwege bijvoorbeeld een ontbrekende of niet-overeenkomende bibliotheek. Applicaties die als Flatpaks zijn geïnstalleerd, krijgen ook automatische updates.

Bovendien draaien Flatpak-applicaties in een soort minicontainer, in een sandbox van andere applicaties, inclusief andere versies van dezelfde applicatie. U kunt meerdere releases van één applicatie installeren zonder dat de afhankelijkheden van de ene versie elkaar hinderen. Dat maakt het leven gemakkelijker voor de ontwikkelaar en soepeler voor de gebruiker.

Flatpak-ondersteuning installeren op Ubuntu

Canonical (het bedrijf achter Ubuntu) wil zijn gebruikers graag richting Snaps duwen, zijn eigen versie van een universeel installatieprogramma. Zozeer zelfs dat het de out-of-the-box ondersteuning voor Flatpak in Ubuntu 23.04 Lunar Lobster heeft verwijderd, en met de alternatieve Ubuntu-smaken zoals Kubuntu, Lubuntu en Ubuntu Studio is overeengekomen dat ze ook Flatpak-ondersteuning zullen verwijderen.

Omdat Linux is wat het is, kun je Flatpak-ondersteuning natuurlijk meteen weer in Ubuntu installeren. Flatpaks worden kant-en-klaar ondersteund door Manjaro en Fedora, dus als je een van deze distributies gebruikt, kun je doorgaan naar de volgende sectie.

Om Flatpak op Ubuntu te installeren, typt u:

sudo apt install flatpak

Er is een GNOME-plug-in waarmee de Ubuntu Software-applicatie Flatpaks kan installeren. Maar er zit een addertje onder het gras. Sinds Ubuntu 20.04 is de softwareapplicatie zelf een Snap, dus deze werkt niet goed met de Flatpak-plug-in. U kunt de plug-in nog steeds installeren, maar deze haalt een andere, op DEB gebaseerde versie van de softwaretoepassing binnen. U krijgt dus twee versies van de softwaretoepassing.

Je hebt de plug-in niet nodig als je met Flatpaks op de opdrachtregel gaat werken, en de Flatpak-opdrachtregel is heel eenvoudig. Maar als je de plug-in wel wilt, is het commando dat je nodig hebt:

sudo apt install gnome-software-plugin-flatpak

We moeten het Flatpak-systeem vertellen waar het naar Flatpak-pakketten moet zoeken. We kunnen de Flathub-repository toevoegen met deze opdracht:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Nadat u uw computer opnieuw hebt opgestart, kunt u controleren of Flatpak correct is geïnstalleerd en reageert door het versienummer te controleren.

flatpak --version

Gerelateerd: Werken met Snap-pakketten op Linux

Een Flatpak-applicatie installeren

Het installeren van een applicatie is eenvoudig, zodra u de Flatpak-naam kent van het gewenste pakket. Er zijn twee manieren om dit te ontdekken.

Zoeken op de Flathub-website naar het pakket is eenrichtingsverkeer. We gebruiken Discord als voorbeeld.

Zodra je het hebt gevonden, scroll je naar de onderkant van de pagina. Je ziet de opdracht die je nodig hebt om de applicatie te installeren.

Hierbij wordt de driedelige Flatpak-naam voor de toepassing gebruikt. Merk op dat we "flathub" niet in onze opdracht hoeven op te nemen (omdat we de Flathub-repository al aan ons systeem hebben toegevoegd), maar dat u wel alle drie de delen van de pakketnaam moet gebruiken.

We kunnen ook zoeken op de opdrachtregel. Gebruik deze opdracht om te zoeken naar pakketten gerelateerd aan Discord:

flatpak search discord

U ziet een lijst met alle pakketten die uw zoekterm bevatten. Het is het beste om dit te doen terwijl uw terminalvenster groter is dan normaal, zodat de tabelgegevens niet worden afgekapt.

Nu we de pakketnaam kennen, kunnen we de opdracht geven om het te installeren.

flatpak install com.discordapp.Discord

Eventuele afhankelijkheden of andere vereisten worden samen met de Flatpak geïnstalleerd. Een voortgangsbalk geeft aan hoe dicht de voltooiing van de installatie is.

Wanneer de installatie is voltooid, keert u terug naar de opdrachtregelprompt. We kunnen nu onze nieuwe applicatie uitvoeren.

Een Flatpak-applicatie uitvoeren

Het commando om de applicatie uit te voeren is hetzelfde als het installatiecommando, waarbij het woord 'install' vervangen is door 'run'.

flatpak run com.discordapp.Discord

De applicatie start en Discord doorloopt de gebruikelijke upgradecontroles.

Het duurt niet lang voordat je de Discord-applicatie op je bureaublad ziet openen.

In GNOME zal, nu we onze applicatie hebben gelanceerd, het pictogram ervan in het dashboard verschijnen. Als u met de rechtermuisknop op het pictogram klikt, wordt een menu weergegeven. Selecteer 'Pin to Dash' om een opstartprogramma in het dashboard te maken.

In de toekomst kunt u de toepassing vanaf hier starten.

Lijst met geïnstalleerde Flatpak-applicaties

Om de applicaties te zien die u met Flatpak hebt geïnstalleerd, gebruikt u de optie lijst. We hebben ook de optie --app gebruikt, zodat alleen applicaties die we hebben geïnstalleerd worden weergegeven.

flatpak list --app

Zonder de optie --app worden ook alle Flatpak-frameworkmodules en afhankelijkheden vermeld.

Gerelateerd: Hoe u de geïnstalleerde pakketten op Linux kunt weergeven

Een Flatpak-applicatie verwijderen

Het verwijderen van een applicatie is net zo eenvoudig als het uitvoeren ervan. Gebruik gewoon het woord "uninstall" met de flatpak-opdracht.

flatpak uninstall com.discordapp.Discord

De applicatie wordt van uw systeem verwijderd en er wordt een bevestigingsbericht weergegeven.

Moet u Flatpaks gebruiken?

De applicatie-sandboxing en de praktische garantie dat een applicatie draait zijn aantrekkelijke kenmerken van Flatpaks. Omdat een Flatpak echter alle afhankelijkheden bevat die de applicatie nodig heeft, is hun footprint groter. De starttijd van de applicatie is ook iets verlengd.

Of je nu Flatpaks gebruikt of de native pakketbeheerder die bij je Linux werd geleverd, kan afhangen van de vraag of de applicaties die je zoekt zich in de repository's van je distributie bevinden.

Ik heb nog nooit iemand ontmoet die uitsluitend Flatpaks gebruikt, noch AppImages of Snaps trouwens. U zult waarschijnlijk genoegen nemen met een combinatie van wat voor u werkt: uw standaardpakketbeheerder, Flatpaks, Snaps of Appimages.

Als een bepaalde applicatie niet in de repository's van uw distributie staat en u niet vanaf de bron wilt bouwen, is een Flatpak waarschijnlijk de beste keuze. Ik vind dat ze veel sneller zijn dan AppImages of Snaps.

Gerelateerd: AppImages gebruiken op Linux