Hoe installeert u apps op Linux

Hoe installeert u een applicatie op Linux? Zoals bij veel besturingssystemen is er niet slechts één antwoord op die vraag. Toepassingen kunnen van zoveel bronnen komen – het is bijna onmogelijk om ze te tellen – en elk ontwikkelteam kan zijn software leveren op de manier die zij het beste achten. Weten hoe je moet installeren wat je krijgt is onderdeel van het zijn van een echte power user van je OS.

Repositories

Sinds meer dan een decennium gebruikt Linux software repositories om software te distribueren. Een “repository” in deze context is een publieke server die installeerbare softwarepakketten host. Een Linux distributie levert een commando, en meestal een grafische interface voor dat commando, dat de software van de server haalt en op je computer installeert. Het is zo’n eenvoudig concept dat het als model heeft gediend voor alle grote besturingssystemen voor mobiele telefoons en, meer recentelijk, voor de “app stores” van de twee grootste closed source computerbesturingssystemen.

repo.png

Linux-repository

geen app-winkel

Installeren vanuit een software-repository is de primaire methode om apps onder Linux te installeren. Het zou de eerste plaats moeten zijn waar je zoekt naar een applicatie die je wilt installeren.

Om vanuit een software repository te installeren, is er meestal een commando:

$ sudo dnf install inkscape

Het daadwerkelijke commando dat je gebruikt, hangt af van welke distributie van Linux je gebruikt. Fedora gebruikt dnf, OpenSUSE gebruikt zypper, Debian en Ubuntu gebruiken apt, Slackware gebruikt sbopkg, FreeBSD gebruikt pkg_add, en het op Illumos gebaseerde OpenIndiana gebruikt pkg. Wat je ook gebruikt, de bezwering houdt meestal in dat je moet zoeken naar de juiste naam van wat je wilt installeren, want soms is wat je software noemt niet de officiële of eenduidige benaming ervan:

$ sudo dnf search pyqt
PyQt.x86_64 : Python bindings for Qt3
PyQt4.x86_64 : Python bindings for Qt4
python-qt5.x86_64 : PyQt5 is Python bindings for Qt5

Als je eenmaal de naam hebt gevonden van het pakket dat je wilt installeren, gebruik je het install subcommando om de eigenlijke download en geautomatiseerde installatie uit te voeren:

$ sudo dnf install python-qt5

Voor specifieke informatie over het installeren vanuit een software repository, raadpleeg de documentatie van je distributie.

Hetzelfde geldt over het algemeen voor de grafische gereedschappen. Zoek naar wat u denkt te willen, en installeer het dan.

apper.png

Apper

Apper

Net als het onderliggende commando hangt de naam van het grafische installatieprogramma af van welke distributie u draait. De betreffende toepassing wordt meestal aangeduid met de sleutelwoorden van de software of het pakket, dus zoek in uw startprogramma of menu op deze termen en u zult vinden wat u nodig hebt. Aangezien open source draait om de keuze van de gebruiker, als de grafische gebruikersinterface (GUI) die je distributie biedt je niet bevalt, kan er een alternatief zijn dat je kunt installeren. En nu weet u hoe u dat kunt doen.

Extra repositories

Uw distributie heeft zijn standaard repository voor software die het voor u verpakt, en er zijn meestal extra repositories die gemeenschappelijk zijn voor uw distributie. Bijvoorbeeld EPEL voor Red Hat Enterprise Linux en CentOS, RPMFusion voor Fedora, Ubuntu heeft verschillende ondersteuningsniveaus en een Personal Package Archive (PPA) netwerk, Packman biedt extra software voor OpenSUSE, en SlackBuilds.org biedt community build scripts voor Slackware.

Bestandaard is je Linux OS ingesteld om alleen naar de officiële repositories te kijken, dus als je extra software collecties wilt gebruiken, moet je zelf extra repositories toevoegen. Je kunt een repository meestal installeren alsof het een softwarepakket is. Wanneer u bepaalde software installeert, zoals GNU Ring videochat, de webbrowser Vivaldi, Google Chrome en vele anderen, installeert u in feite toegang tot hun privébewaarplaatsen, van waaruit de nieuwste versie van hun toepassing op uw machine wordt geïnstalleerd.

access.png

Installeren van een repo

Installeren van een repo

U kunt de repository ook handmatig toevoegen door een tekstbestand te bewerken en dit toe te voegen aan de configuratiemap van uw pakketbeheerder, of door een opdracht uit te voeren om de repository te installeren. Zoals gewoonlijk hangt het precieze commando dat je gebruikt af van de distributie die je draait; hier is bijvoorbeeld een dnf commando dat een repository aan het systeem toevoegt:

$ sudo dnf config-manager --add-repo=http://example.com/pub/centos/7

Apps installeren zonder repositories

Het repository model is zo populair omdat het een link vormt tussen de gebruiker (jij) en de ontwikkelaar. Als er belangrijke updates worden uitgebracht, vraagt je systeem je vriendelijk om de updates te accepteren, en je kunt ze allemaal accepteren vanaf één gecentraliseerde locatie.

Soms komt het echter voor dat er een pakket beschikbaar wordt gesteld zonder dat er een repository aan gekoppeld is. Deze installeerbare pakketten zijn er in verschillende vormen.

Linux-pakketten

Soms distribueert een ontwikkelaar software in een gangbaar Linux-verpakkingsformaat, zoals RPM, DEB, of de nieuwere maar zeer populaire FlatPak- of Snap-formaten. U krijgt geen toegang tot een repository met deze download; u krijgt misschien alleen het pakket.

De video editor Lightworks, bijvoorbeeld, biedt een .deb bestand voor APT gebruikers en een .rpm bestand voor RPM gebruikers. Wanneer je wilt updaten, ga je terug naar de website en download je het laatste geschikte bestand.

Deze eenmalige pakketten kunnen worden geïnstalleerd met dezelfde hulpmiddelen die worden gebruikt bij het installeren vanuit een repository. Als je dubbelklikt op het pakket dat je downloadt, wordt een grafisch installatieprogramma gestart dat je door het installatieproces leidt.

Aternatief kun je ook installeren vanaf een terminal. Het verschil hier is dat een eenzaam pakketbestand dat je van het internet hebt gedownload niet uit een repository komt. Het is een “lokale” installatie, wat betekent dat je pakketbeheersoftware het niet hoeft te downloaden om het te installeren. De meeste pakketbeheerders handelen dit transparant af:

$ sudo dnf install ~/Downloads/lwks-14.0.0-amd64.rpm

In sommige gevallen moet u extra stappen ondernemen om de applicatie te laten draaien, dus lees zorgvuldig de documentatie over de software die u installeert.

Generieke installatiescripts

Sommige ontwikkelaars geven hun pakketten uit in een van de verschillende generieke formaten. Veel voorkomende extensies zijn .run en .sh. NVIDIA grafische kaart drivers, Foundry visuele FX pakketten zoals Nuke en Mari, en veel DRM-vrije spellen van GOG gebruiken deze stijl van installeren.

Dit model van installeren vertrouwt op de ontwikkelaar om een installatie “wizard” te leveren. Sommige installatieprogramma’s zijn grafisch, terwijl andere gewoon in een terminal worden uitgevoerd.

Er zijn twee manieren om dit type installatieprogramma’s uit te voeren.

  1. U kunt het installatieprogramma rechtstreeks vanaf een terminal uitvoeren:
$ sh ./game/gog_warsow_x.y.z.sh
  1. U kunt het ook vanaf uw bureaublad uitvoeren door het als uitvoerbaar te markeren. Als u een installatieprogramma als uitvoerbaar wilt markeren, klikt u met de rechtermuisknop op het pictogram ervan en selecteert u Eigenschappen.

exec.jpg

Toestemming geven aan een uitvoerbaar installatieprogramma

Toestemming geven aan een uitvoerbaar installatieprogramma

Als u toestemming hebt gegeven om het installatieprogramma uit te voeren, dubbelklikt u op het pictogram om de installatie te starten.

gog.jpg

GOG-installatieprogramma

GOG-installatieprogramma

Voor de rest van de installatie volgt u gewoon de instructies op het scherm.

AppImage portable apps

Het AppImage formaat is relatief nieuw voor Linux, hoewel het concept is gebaseerd op zowel NeXT als Rox. Het idee is simpel: alles wat nodig is om een applicatie te draaien wordt in één directory geplaatst, en die directory wordt dan behandeld als een “app.” Om de applicatie te draaien, dubbelklik je op het icoontje, en het draait. Er is geen noodzaak of verwachting dat de applicatie wordt geïnstalleerd in de traditionele zin; het draait gewoon van waar je het hebt rondslingeren op uw harde schijf.

Ondanks zijn vermogen om te draaien als een op zichzelf staande app, een AppImage biedt meestal om te doen wat zachte systeemintegratie.

appimage.png

AppImage-systeemintegratie

AppImage-systeemintegratie

Als u dit aanbod accepteert, wordt een lokaal .desktop-bestand in uw homedirectory geïnstalleerd. Een .desktop-bestand is een klein configuratiebestand dat wordt gebruikt door het menu Toepassingen en het mimetype-systeem van een Linux-desktop. In wezen “installeert” het plaatsen van het bureaublad configuratiebestand in de lijst van toepassingen van uw home directory de toepassing zonder ze echt te installeren. Je krijgt alle voordelen van het installeren van iets, en de voordelen van het lokaal kunnen draaien van iets, als een “portable app.”

Applicatie-directory

Soms compileert een ontwikkelaar een applicatie en plaatst het resultaat als download, zonder installatiescript en zonder verpakking. Meestal betekent dit dat u een TAR-bestand downloadt, dit uitpakt en vervolgens dubbelklikt op het uitvoerbare bestand (meestal het bestand met de naam van de software die u hebt gedownload).

twine.jpg

Twine gedownload voor Linux

Twine gedownload voor Linux

Wanneer u wordt geconfronteerd met deze manier van software leveren, kun je de software laten staan waar je deze hebt gedownload en deze handmatig starten wanneer je deze nodig hebt, of je kunt zelf een snelle en vuile installatie uitvoeren. Dit omvat twee eenvoudige stappen:

  1. Bewaar de directory op een standaardlocatie en start het handmatig wanneer u het nodig hebt.
  2. Bewaar de directory op een standaardlocatie en maak een .desktop bestand om het in uw systeem te integreren.

Als u alleen toepassingen voor uzelf installeert, is het gebruikelijk om een bin directory (afkorting voor “binair”) in uw home directory te bewaren als opslaglocatie voor lokaal geïnstalleerde toepassingen en scripts. Als u andere gebruikers op uw systeem hebt die toegang tot de toepassingen nodig hebben, is het gebruikelijk om de binaire bestanden in /opt te plaatsen. Uiteindelijk is het aan u waar u de applicatie opslaat.

Downloads worden vaak geleverd in directories met versienamen, zoals twine_2.13 of pcgen-v6.07.04. Omdat het aannemelijk is dat u de applicatie op een bepaald moment zult updaten, is het een goed idee om het versienummer te verwijderen of een symlink naar de directory te maken. Op deze manier kan de launcher die u voor de applicatie maakt hetzelfde blijven, ook al werkt u de applicatie zelf bij.

Om een .desktop launcher bestand te maken, opent u een teksteditor en maakt u een bestand met de naam twine.desktop. De Desktop Entry Specificatie is gedefinieerd door FreeDesktop.org. Hier is een eenvoudige launcher voor een spel-ontwikkel IDE genaamd Twine, geïnstalleerd in de systeembrede /opt directory:


Encoding=UTF-8
Name=Twine
GenericName=Twine
Comment=Twine
Exec=/opt/twine/Twine
Icon=/usr/share/icons/oxygen/64x64/categories/applications-games.png
Terminal=false
Type=Application
Categories=Development;IDE;

De lastige regel is de Exec regel. Het moet een geldig commando bevatten om de applicatie te starten. Meestal is dat gewoon het volledige pad naar het ding dat je hebt gedownload, maar in sommige gevallen is het iets complexer. Bijvoorbeeld, een Java applicatie moet worden gestart als een argument voor Java zelf:

Exec=java -jar /path/to/foo.jar

Soms bevat een project een wrapper script dat je kunt uitvoeren zodat je niet het juiste commando hoeft te achterhalen:

Exec=/opt/foo/foo-launcher.sh

In het Twine voorbeeld is er geen icoon gebundeld met de download, dus het voorbeeld .desktop bestand wijst een generiek gaming icoon toe dat met de KDE desktop wordt meegeleverd. U kunt dit soort workarounds gebruiken, maar als u meer artistiek bent, kunt u gewoon uw eigen icoon maken, of u kunt op het Internet zoeken naar een goed icoon. Zolang de Icon regel naar een geldig PNG of SVG bestand wijst, erft je applicatie het icoontje.

Het voorbeeld script zet ook de applicatie categorie primair op Development, dus in KDE, GNOME, en de meeste andere Applicatie menu’s, verschijnt Twine onder de Development categorie.

Om dit voorbeeld in een toepassingsmenu te laten verschijnen, plaatst u het twine.desktop bestand op een van de volgende twee plaatsen:

  • Plaats het in ~/.local/share/applications als u de toepassing in uw eigen thuismap opslaat.
  • Plaats het in /usr/share/applications als u de toepassing in /opt of een andere systeembrede locatie opslaat en het in de Toepassingsmenu’s van al uw gebruikers wilt laten verschijnen.

En nu is de applicatie geïnstalleerd zoals het geïnstalleerd moet worden en geïntegreerd met de rest van uw systeem.

Compileren vanaf broncode

Ten slotte is er het echt universele installatieformaat: broncode. Het compileren van een applicatie vanaf de broncode is een geweldige manier om te leren hoe applicaties zijn opgebouwd, hoe ze samenwerken met uw systeem, en hoe ze kunnen worden aangepast. Maar het is zeker geen druk op de knop proces. Het vereist een build-omgeving, het gaat meestal om het installeren van afhankelijkheidsbibliotheken en header-bestanden, en soms een beetje debuggen.

Om meer te leren over compileren vanaf broncode, lees mijn artikel over het onderwerp.

Nu weet je het

Sommige mensen denken dat het installeren van software een magisch proces is dat alleen ontwikkelaars begrijpen, of ze denken dat het een applicatie “activeert”, alsof het binaire uitvoerbare bestand pas geldig is als het is “geïnstalleerd”. Hopelijk heeft het leren kennen van de vele verschillende manieren van installeren je laten zien dat installeren eigenlijk gewoon steno is voor “het kopiëren van bestanden van de ene plaats naar de juiste plaatsen op je systeem”. Er is niets mysterieus aan. Zolang je elke installatie benadert zonder verwachtingen van hoe het zou moeten gebeuren, en in plaats daarvan kijkt naar wat de ontwikkelaar heeft ingesteld als het installatieproces, is het over het algemeen gemakkelijk, zelfs als het anders is dan wat je gewend bent.

Het belangrijkste is dat een installateur eerlijk tegen je is. Als u een installatieprogramma tegenkomt dat probeert extra software te installeren zonder uw toestemming (of misschien om toestemming vraagt, maar op een verwarrende of misleidende manier), of dat zonder duidelijke reden controles op uw systeem probeert uit te voeren, ga dan niet verder met de installatie.

Goede software is flexibel, eerlijk, en open. En nu weet u hoe u goede software op uw computer krijgt.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *