Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door Krijn Soeteman

Freelanceredacteur

Ubuntu 19.04 Review

Wat is nieuw in Disco Dingo?

Verpakkingen: snaps, flatpaks en AppImages

Afhankelijk van je gebruik heb je in steeds mindere mate native programmatuur nodig, omdat veel gewoon via de browser draait. Toch wil je misschien niet alles via de browser gebruiken, want er zijn en blijven gewoon zaken die je offline wilt kunnen doen, die je standalone wil draaien of die gewoon nog te zwaar zijn voor het draaien via een browser. Alleen hoe installeer je die zaken dan op een Linux-systeem? Dat kan op veel verschillende manieren, waarvan de optie om de boel zelf te compileren de minst gebruiksvriendelijke is. De gebruiksvriendelijkste optie is gebruikmaken van het ingebouwde Ubuntu Software, maar dit is niet in alle gevallen zaligmakend, want soms wil je software die niet in het softwarecentrum staat óf die nog niet is geüpdatet, in de repositories.

Ubuntu Software, de 'officiële' naam van het softwarecentrum van Canonical, gebruikt via de repositories twee systemen: aan de ene kant de repositories met .deb-bestanden, het bestandsformaat van Debian-packages, en aan de andere kant snap-packages, het eigen formaat van Canonical.

Als je een applicatie installeert via het softwarecentrum of via de terminal met 'apt install', zorgt de achterliggende software voor het kijken naar alle afhankelijkheden van de applicatie, of de dependencies. Een applicatie heeft namelijk verschillende onderdelen nodig van een besturingssysteem om te functioneren. De rekenmachine heeft bijvoorbeeld negen afhankelijkheden, waaronder GTK 3. Als 'libgtk-3-0' niet is geïnstalleerd, kan het programma niet worden geïnstalleerd. Gelukkig zoekt een geautomatiseerd systeem de meeste van dat soort afhankelijkheden zelf uit en hoef je er niet over na te denken. Helaas gaat dit weleens mis, zeker bij oudere programmatuur of applicaties die heel specifieke eisen hebben. Zit zo'n 'libxxx' niet in de repositories van, in dit geval, Ubuntu, dan laat het programma zich niet installeren en moet je zelf aan de slag. Met een beetje kennis en vooral handigheid met zoekmachines kom je er wel uit, maar ideaal is het niet.

Andersom kan ook; de applicatie is te nieuw en het onderliggende besturingssysteem heeft de desbetreffende bibliotheken niet. Dat kan het nog lastiger maken. Daarom zijn in de loop van de jaren verschillende systemen bedacht om die problematiek te omzeilen. De oudste is AppImage, maar dit formaat kreeg nooit veel tractie, al lijkt daar sinds kort verandering in te komen. Waar deze 'hausse' aan AppImage-bestanden vandaan komt, is niet helemaal duidelijk, maar we durven met een voorzichtige vinger te wijzen naar de cryptovalutacommunity.

Waar de 'hausse' aan AppImage-bestanden vandaan komt, is niet helemaal duidelijkSnaps en flatpaks

Canonical kwam zelf enkele jaren geleden met een systeem dat is afgeleid van klik, een van de vroegere incarnaties van AppImage. Dat systeem heet nu al enkele jaren snappy met snaps als packages en is bedacht met het internet-of-things in het achterhoofd. Snaps bevatten alle benodigde bibliotheken en zijn daardoor groter dan alleen de benodigde applicatie zelf, maar hierdoor zijn ze niet afhankelijk van een wel of niet goed geüpdatet onderliggend besturingssysteem. Zo kan een iot-apparaat dus toch de laatste software draaien, al blijft het besturingssysteem misschien achter. Snaps draaien ook in principe in een sandbox, al hoeft dit niet. Snaps kom je als Ubuntu-gebruiker het meest tegen, ze zitten immers in de Software-winkel zelf, naast de 'normale' .debs die ook via Software geïnstalleerd kunnen worden.

Snaps starten wel over het algemeen veel trager dan 'normale' installaties van applicaties. Je kunt je misschien voorstellen dat een groot en zwaar programma er even over doet om te starten, maar de rekenmachine… dat zou geen milliseconde mogen duren in onze ogen. Die starttijden van snaps in een grafische omgeving zijn overigens sterk teruggebracht, schrijft Igor Ljubuncic, snapdeveloper bij Canonical, op zijn blog. Een van de redenen voor het traag starten was dat een snap bij het voor het eerst starten in een grafische omgeving de hele fontconfiguratie moest doorlopen. Met een fix voor de fontcache hopen de ontwikkelaars een eerste stap gezet te hebben naar het versneld starten van snaps. Alle grote Linux-distributies ondersteunen inmiddels snaps.

Flatpak is ontwikkeld door Fedora en wordt ook door vrijwel alle grote distro's, waaronder Ubuntu, ondersteund. Het grote verschil met snaps is dat de flatpak-repositories niet door een bedrijf worden gecontroleerd, wat wel het geval is bij snaps. Ook is een flatpak afhankelijk van bepaalde desktoponderdelen, waardoor er geen serverondersteuning is. Het is daarmee puur op de desktop gericht.

AppImages

In 2004 bedacht Simon Peter een systeem om een Linux-distributieagnostische softwareverpakking te maken. In eerste instantie heette dit systeem klik, het werd in 2011 omgedoopt tot PortableLinuxApps en in 2013 weer hernoemd naar AppImage. Het doel: simpel in gebruik, distributieonafhankelijk, geen installatie nodig, geen roottoegang nodig, portabiliteit en geen gerotzooi in het onderliggende besturingssysteem.

Een AppImage kun je vanaf elke locatie gebruiken. Dat kan een usb-drive zijn of een gedeelde directory in een onlinedienst. Heb je geen zin meer in de applicatie, dan delete je de .appimage gewoon. Alle configuratiebestanden worden op de standaardlocaties op het hostbesturingssysteem geplaatst. In feite draai je een AppImage in een virtueel bestandssysteem, in dit geval Fuse. Een script zorgt voor interactie met libraries op het gastsysteem. Bepaalde AppImages bieden ook de mogelijkheid om upgrades te draaien zonder dat de gebruiker daarvoor iets anders hoeft te doen dan de applicatie herstarten.

AppImages vielen nooit zo op. De meeste applicaties hadden standaard geen AppImage-versie, maar daarin lijkt sinds enige tijd snel verandering te komen, zeker als je naar de, onvolledige, lijst op AppImageHub kijkt. Voor iedereen die nog nooit met een AppImage in aanraking is gekomen: na het downloaden moet je de rechten nog aanpassen, zodat een .appimage-bestand ook kan worden uitgevoerd. Op de meeste Linux-systemen kun je dat doen door met de rechtermuisknop op een bestand te klikken, eigenschappen of properties te selecteren en vervolgens de rechten-tab, of permissions-tab, aan te klikken en daar 'Uitvoeren van bestand toestaan' aan te vinken.

Je kunt je voorstellen dat we hier niet alle informatie rond flatpaks, snaps en AppImages kunnen bespreken en er zit ook een 'geloofsovertuiging' in. Al met al is het fijn dat er verschillende formaten zijn die allemaal een eigen doel dienen, maar het maakt het voor de argeloze eindgebruiker niet duidelijker.

Software installeren op Ubuntu is voor de beginner het veiligst via Ubuntu Software zelf. Wil je zeker zijn van de laatste versies van een applicatie, installeer dan de Snap-versie. Wil je dat iets snel start of minder ruimte inneemt, kies dan voor de 'standaard'-versie. Welke versie je downloadt, kun je in Ubuntu Software zien bij het kopje Details. Bij source staat daar: ‘bron’ of ‘Snap Store’, of iets anders, zoals 'ubuntu-xxx-main'.

Wat vind je van dit artikel?

Geef je mening in het Geachte Redactie-forum.

Apple iPhone 12 Microsoft Xbox Series X LG CX Google Pixel 5 Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True