Software installeren in Mint – Welke tools kan je het beste gebruiken?

About

Software installeren in Mint – Welke tools kan je het beste gebruiken?

Linux Mint bevat een aantal ingebouwde tools om software te installeren, zoals Programmabeheer en Synaptic pakketbeheer. Daarnaast bestaan er nog alternatieve app installers, bijvoorbeeld Snap of Flatpak. Maar wat is het verschil tussen al deze tools? Dat zoeken we uit in deze workshop.

Auteur: Filip Vervloesem

De afgelopen jaren zijn er voor Linux-gebruikers heel wat nieuwe methodes ontwikkeld om software te installeren. Vroeger bevatte elke Linux-distributie gewoon één package manager. Dat programma stond in voor alle software-gerelateerde taken. Vergelijken we dat met de laatste versie van Linux Mint, dan zien we dat die taken verdeeld zijn over maar liefst zes (!) programma’s. En dan spreken we nog niet over extra tools, zoals Snap of Flatpak. De bedoeling van al die programma’s is natuurlijk om het installeren van software gebruiksvriendelijker te maken. Maar door de wildgroei aan extra tools dreigen de ontwikkelaars hun doel voorbij te schieten. Veel beginners raken snel de weg kwijt tussen al die tools met soms overlappende functionaliteit. In deze workshop zetten we daarom alles even op een rijtje voor jou. We beginnen met een stukje geschiedenis, want zo begrijp je beter hoe Linux Mint in de huidige situatie is beland. Je vindt alle programma’s terug in het Beheer-menu, behalve het eerste (daarvoor is geen menu entry aanwezig).

Pakketten

Software voor Debian, Ubuntu en Linux Mint wordt gebundeld in pakketbestanden met de extensie .deb. Vóór de introductie van package managers -inmiddels alweer zo’n 20 jaar geleden- installeerde je software door handmatig een aantal pakketbestanden te downloaden en in de juiste volgorde te installeren. Vandaag de dag kom je .deb-bestanden vooral tegen bij closed source software of bij minder bekende software die (nog) niet in een repository is opgenomen. Dubbelklik je op zo’n bestand, dan opent Mint het in de GDebi pakketinstalleerder. GDebi controleert of er nog extra pakketten nodig zijn om het programma te gebruiken: dat zijn de zogenaamde dependancies. Wil je het pakket installeren, dan downloadt en installeert GDebi meteen ook alle dependancies voor jou.

Pakketbronnen

Die dependancies haalt GDebi van de servers van Linux Mint en Ubuntu. Daar staan verschillende verzamelingen van pakketten die uitvoerig getest zijn voor één specifieke distributie. Zo’n verzameling pakketten noemt men een repository. In het programma Pakketbronnen zie je welke repositories jouw systeem gebruikt en schakel je specifieke repositories in of uit. De repositories zijn onderverdeeld in drie categorieën:

  • officiële pakketbronnen: bevat de repositories van Linux Mint (voor Mint-specifieke pakketten) en Ubuntu (voor alle andere pakketten). Voor beide repositories kan je een server dichter bij huis selecteren om pakketten sneller te downloaden.
  • PPA’s: dit zijn persoonlijke repositories van allerlei vrijwilligers. Vaak vind je op webpagina’s instructies om een PPA toe te voegen als je een splinternieuw programma wilt installeren. Besef wel dat pakketten uit PPA’s niet getest zijn door de ontwikkelaars van Linux Mint. Inschakelen op eigen risico dus!
  • extra pakketbronnen: grotere projecten bieden vaak een eigen repository aan met up-to-date software. Zulke repositories activeer je door hier de repository-url toe te voegen. Pakketten uit dergelijke repositories zijn over het algemeen betrouwbaarder en uitvoeriger getest dan die uit PPA’s. Ook closed source pakketten worden soms via extra repositories verspreid.

Repositories bieden heel wat voordelen in vergelijking met het manueel downloaden van .deb-pakketten:

  • je hoeft niet voor elk programma naar een andere website surfen;
  • je hoeft geen tientallen dependancies te downloaden voordat je een programma kan installeren;
  • na installatie krijg je automatisch updates zodra ze beschikbaar zijn,

Synaptic pakketbeheer

Met een package manager doorzoek je de geconfigureerde repositories om nieuwe software te installeren. Synpatic pakketbeheer was de eerste package manager voor Ubuntu en Linux Mint en is nog altijd aanwezig op elk systeem. Voor beginners is Synaptic niet zo interessant. Het toont veel technische details van het package management systeem en blinkt niet uit in gebruiksvriendelijkheid. Synaptic is immers opgebouwd rond individuele pakketten en niet rond applicaties. Zoek je bijvoorbeeld op “Gimp”, dan vind je 35 pakketten terug. Daarvan heb je er minstens 7 nodig voor een bruikbare Gimp-installatie in het Nederlands. Synaptic is dus vooral geschikt om specifieke, individuele pakketten te installeren of om problemen met het package management op je systeem op te lossen. In normale omstandigheden heb je Synaptic dus zelden nodig.

Programmabeheer

Zoek je extra software, open dan eerst het nieuwere ‘Programmabeheer’. Dat programma probeert de gigantische hoeveelheid pakketten op een overzichtelijke manier te ordenen. In het startscherm kies je een categorie, waarna je een lijst van populaire programma’s te zien krijgt. Bij elk programma vind je een score (op basis van beoordelingen door gebruikers), een korte beschrijving, enkele screenshots en een link naar de website ervan. Helaas zijn niet alle categorieën verder onderverdeeld. Zo vind je onder ‘Grafisch’ wel de categorieën 3D, Tekenen, Fotografie, etc., maar onder ‘Hulpmiddelen’ staan back-upprogramma’s, rekenmachines en programma’s voor systeembeheer kriskras door elkaar. Gelukkig vind je met de zoekfunctie altijd wel iets van je gading. Let wel op dat de zoekfunctie slechts binnen de gekozen categorie zoekt, tenzij je ze op het startscherm gebruikt.

Programmabeheer is de standaard package manager in Linux Mint

 

Overige

Tot slot willen we nog twee kleinere tools vermelden. ‘Stuurprogrammabeheer’ is specifiek ontwikkeld om de juiste drivers voor jouw hardware te installeren. Voor bijvoorbeeld videokaarten heb je de keuze uit open source of closed source drivers. Die laatste zijn vooral interessant voor gaming. Stuurprogrammabeheer helpt je om gemakkelijk te wisselen tussen de open source en closed source drivers. Via ‘Bijwerkbeheer’ configureer en installeer je dan weer beveiligingsupdates op je systeem. Meestal start je dat programma niet manueel: een notificatie in de taakbalk toont je wanneer updates beschikbaar zijn.

Moeilijk voor ontwikkelaars

Ook al heeft Linux Mint nu veel meer tools voor pakketbeheer dan vroeger, in wezen is in de laatste 20 jaar niet zoveel veranderd. Voor ontwikkelaars is het nog steeds véél moeilijker om software te verspreiden voor Linux dan voor Windows of macOS. Bij die commerciële besturingssystemen hoeft men maar rekening te houden met een beperkt aantal versies. Windows 7, 8 en 10 hebben elk hun eigen versies van systeembibliotheken, hulpprogramma’s, enzovoorts. Maar je software testen (en eventueel aanpassen) voor drie systemen is nog te overzien. Onder Linux heeft elke distributie mogelijk een andere combinatie van kernelversie, systeembibliotheken, enz. Bovendien bestaan er nog verschillende desktopomgevingen (met hun grafische bibliotheken) én uiteenlopende pakketformaten zoals .deb en .rpm. Je ziet meteen waarom het voor de meeste ontwikkelaars onbegonnen werk is om hun programma voor álle distributies aan te bieden. Het klaarmaken en aanpassen van een programma voor een bepaalde distributie is traditioneel dan ook een taak voor de ontwikkelaars van de distributie en niet voor de maker van het programma.

Oudere programma’s

Die aanpak heeft nadelen. Zo duurt het wel even voor een programma populair genoeg is om opgenomen te worden in de repository van een Linux-distributie. Het is dan soms erg omslachtig om dat programma in jouw distributie te installeren. Ook zit je tijdens de levensduur van jouw distributie vast aan een bepaalde versie van elk programma. De tussentijdse updates dienen immers enkel om beveiligingslekken te dichten. Is er net een nieuwe versie van Gimp uitgekomen met enkele leuke features? Jammer, maar je zal moeten wachten tot er een nieuwe versie van jouw distributie verschijnt. Via PPA’s en extra pakketbronnen kan je deze nadelen deels omzeilen. Toch blijf je afhankelijk van de goodwill van anderen om installatiepakketten voor bepaalde programma’s te maken voor jouw distributie. Om die reden zijn verschillende package managers ontwikkeld die één package aanmaken dat op alle Linux-distributies werkt, zoals Flatpak, Snap en AppImage. Programmeurs kunnen dan snel en eenvoudig zélf een installatiepakket aanmaken. Als gebruiker ben je dus niet meer afhankelijk van jouw distributie en krijg je sneller toegang tot nieuwe applicaties.

Universele pakketten

Dergelijke universele pakketten functioneren natuurlijk alleen correct als het pakket meteen alle dependancies bevat. Ze zijn dan ook heel wat groter dan applicaties uit de repository van je distributie. Dat zie je bijvoorbeeld heel duidelijk bij de Gimp. Linux Mint bevat Gimp versie 2.8. Het pakket ‘gimp’ heeft een 40-tal dependancies, die elk uiteraard ook nog hun eigen dependancies hebben. De meeste van die dependancies worden echter gedeeld met andere programma’s. Ze vormen dus eerder een deel van het besturingssysteem dan van de Gimp. Kijken we enkel naar de specifieke pakketten voor Gimp, dan vereist de installatie ongeveer 137MB. Via Flatpak installeer je de nieuwere versie 2.10-versie, maar die heeft een stevige 2.7GB schijfruimte nodig. Een tweede nadeel van die aanpak is dat alle ontwikkelaars hun eigen app moeten updaten bij elk beveiligingslek in één van hun dependancies. Krijg je bijvoorbeeld een update binnen van openssl, dan gebruiken de applicaties uit de Linux Mint repository meteen die nieuwe versie. Maar elke Flatpak-app bevat mogelijk zijn eigen versie van openssl. In dat geval moet je alle apps één voor één updaten om de laatste openssl-versie te gebruiken.

Flatpak

In de rest van deze workshop bespreken we drie alternatieven voor Programmabeheer voor Linux Mint. We beginnen met Flatpak, dat sinds versie 18.3 standaard geïnstalleerd is in Linux Mint. In het startscherm van ‘Programmabeheer’ klik je rechtsonder op de Flatpak-knop om de lijst van beschikbare apps te tonen. Helaas is die niet verder onderverdeeld in categorieën, al kan je de lijst uiteraard doorzoeken op trefwoorden. Flatpak werkt achterliggend ook met repositories. De standaard reposity is FlatHub. De website https://flathub.org/apps biedt een gebruiksvriendelijkere methode om de apps in die repository door te bladeren. Heb je een leuke applicatie gevonden op die website? Klik dan op ‘Install’ om het .flatpakref-bestand te downloaden en te openen in Programmabeheer. Daar klik je nogmaals op ‘Installeren’ om de installatie te starten.

Flatpak-apps installeer je gewoon via Programmabeheer.

 

Flatpak gebruikt eigenlijk ook een soort dependancies, zij het minder granulair dan een klassieke package manager. Zo installeert de Flatpak Gimp-app bijvoorbeeld een afzonderlijke Flatpak-app met het volledige Gnome-platform. Gnome-apps die je via Flatpak installeert, gebruiken dan gedeelde Gnome-bibliotheken. Je hebt dus nog steeds twee Gnome-installaties op jouw systeem (één van Mint zelf en één van Flatpak), maar dat is natuurlijk al beter dan pakweg vijf installaties. Flathub bevat een 850-tal applicaties, zowel nieuwere versies van applicaties uit Linux Mints repository als extra applicaties. Flatpak-apps verschijnen netjes naast bestaande apps in het startmenu en krijgen ook automatisch updates. Installeer je een nieuwere versie van een bestaande app? Dan verwijder je het beste de oudere versie, anders heb je twee identieke snelkoppelingen in het startmenu. Uiteraard kunnen ontwikkelaars ook Flatpak-apps aanbieden buiten Flathub om of via een eigen Flatpak-repository.

Snap

De Snap package manager -Ubuntu’s alternatief voor Flatpak- is beschikbaar vanaf Linux Mint 18.2, maar je moet die wel nog installeren. Open ‘Programmabeheer’ en installeer het “snapd”-pakket. Software vind je in de Snap Store op https://snapcraft.io/store. Standaard bevat Linux Mint geen grafische applicatie om Snap-pakketten (kortweg snaps) te zoeken of te installeren. Klik je op ‘Install’ in de Snap Store-webpagina, dan krijg je een commando om te kopiëren in een terminalvenster. Bijvoorbeeld:

sudo snap install gimp

Maar dat los je op door de Snap Store te installeren via het snap-commando:

sudo snap install snap-store

Daarna start je die via Beheer > Snap-winkel. (Tijdens onze test moesten we even uitloggen en opnieuw inloggen om de menu-entries voor snaps te zien.) De Snap Store bevat ongeveer drie keer zoveel pakketten als Flathub. Let wel goed op als je onbekende programma’s installeert, want je vindt zelfs Windows-programma’s terug die via Wine draaien. Dergelijke programma’s zijn verre van ideaal om onder Linux te gebruiken, tenzij je écht niet zonder die ene specifieke applicatie kan. Een voordeel van de Snap Store is wel dat je eenvoudig permissies van elke applicatie kan instellen. Zo kies je bijvoorbeeld per applicatie of die toegang mag hebben tot jouw home directory, verwisselbare opslagmedia (zoals een usb-stick) of je printer. Flatpak bevat een gelijksoortig permissiesysteem, maar dat is momenteel alleen via de commandline aan te passen. Ook snaps worden automatisch up-to-date gehouden.

Snaps installeer je via een aparte package manager, de Snap-winkel.

 

AppImage

AppImage is niet echt een package manager voor Linux, maar eerder een bestandsformaat voor zogenaamde “single file applications”. Een AppImage applicatie hoef je zelfs niet te installeren: je downloadt een bestand, maakt het executable en start de applicatie. AppImages vergelijk je nog het beste met de bekende PortableApps voor Windows. Er is dus geen applicatie om apps te installeren en eigenlijk zelfs geen centrale repository met alle apps. Op https://appimage.github.io/apps vind je wel een -waarschijnlijk onvolledig- overzicht van beschikbare AppImages met links naar de downloadpagina’s. AppImage lijkt vooral een populaire keuze te zijn voor hobby-programmeurs die hun applicaties snel beschikbaar willen maken voor alle Linux-distributies. Standaard is er nauwelijks integratie met de rest van je systeem: geen snelkoppelingen in het startmenu en geen manier om AppImages te updaten. Daarvoor moet je appimaged en AppImageUpdate installeren en configureren. Meer informatie daarover lees je op https://github.com/AppImage/appimaged en https://github.com/AppImage/AppImageUpdate.

Een AppImage hoef je alleen maar te downloaden en uitvoerbaar te maken.

 

Veel keuze

Programmabeheer zou nog steeds de eerste keuze moeten zijn om extra software te installeren in Linux Mint. Toch is het goed dat er alternatieven bestaan om nieuwe applicaties -of nieuwere versies van bekende apps- te installeren. Flatpak is het eenvoudigst te gebruiken: het is immers standaard al aanwezig. Vind je de gewenste app niet in terug in de Flathub? Zoek dan zeker ook eens via de website van de Snap Store en installeer die package manager eventueel in Linux Mint. Je kan probleemloos apps van verschillende package managers naast elkaar installeren, zélfs verschillende versies van dezelfde app. AppImage is een goed initiatief dat hobby-programmeurs eenvoudig toelaat om hun app voor verschillende distributies beschikbaar te stellen. AppImages integreren minder goed in het systeem dan Flatpak-apps of snaps, al kan je dat met een beetje configuratiewerk wel oplossen. Kortom, zowel Flatpak, Snap én AppImage zijn waardevolle aanvullingen op het softwarebeheer in Linux Mint. We hopen dat je na het lezen van deze workshop beter weet in welke situatie je elke toepassing gebruikt.

Share
June 2024
July 2024
No event found!

Related Topics