Handleidingen > Software installeren (Yum / DNF, Apt-get en zelf compilen)

Software installeren in Linux: inleiding

Software installeren gaat in Linux erg eenvoudig. Vrijwel iedere Linux-distributie maakt gebruik van een zogeheten package manager, in zeker opzicht te vergelijken met een App Store. In tegenstelling tot wij Windows en OS X, is het bij Linux doorgaans niet noodzakelijk om het internet af te struinen op zoek naar het juiste installatiebestand voor je gewenste software. Als je in je favoriete packagemanager aangeeft welke software je wilt installeren, dan gaat de rest vanzelf.

Om optimaal gebruik te kunnen maken van de mogelijkheden, is het van belang dat je package manager weet welke softwarebibliotheken (“repositories”) gebruikt kunnen worden. Iedere Linux-distributie maakt gebruik van een eigen package management systeem en heeft daardoor ook eigen softwarebibliotheken. Door het gebrek aan eenheid op dit gebied zal in deze handleiding uiteengezet worden hoe de packagemanager van de bekendse Linux-distributies werken en welke softwarerepositories een toevoeging kunnen zijn op de standaard repositories die al zijn ingesteld op je systeem.

Het overgrote deel van alle software is in repositories te vinden, maar niet alles. Daarnaast kunnen er redenen zijn om software handmatig te installeren. Soms kan je een bestand dat niet in een repository te vinden is alsnog met je package manager installeren, met als voordeel dat je conflicten tussen softwareversies kunt uitsluiten en altijd snel een overzicht van alle geinstalleerde software kunt opvragen. Het gaat hier van meestal om .rpm of .deb-bestanden. Soms is er geen kant en klaar bestand beschikbaar dat je kunt installeren, maar alleen een source code of broncode van een bestand. Dit zijn doorgaans bestanden eindigend op .tar.gz of .tar.bz2. Dit zijn gezipte bestanden die de broncode van de software bevatten. Om met de software te werken, zal deze code moeten worden omgezet in bit en bytes zodat je de software kan uitvoeren.

Software installeren in Red Hat Enterprise Linux / CentOS / Fedora

Yum is een van de populairste packagemanagers en wordt gebruikt in Fedora (t/m versie 21), CentOS en Red Hat Enterprise Linux. Het is een onmisbare tool bij het beheren van je besturingssysteem. Niet alleen voor het installeren van nieuwe software, maar ook bij het updaten en onderhouden van je systeem en om te voorkomen dat verschillende softwarepakketten- en versies op je besturingssysteem met elkaar conflicteren. Yum houdt namelijk een database bij waarin alle informatie over je software wordt opgeslagen. Voorwaarde daarbij is wel dat je alle software met Yum of handmatig door middel van .rpm-bestanden installeert.

RPM (‘Red Hat Packagemanager’) is het formaat waarin Linux-bestanden voor Red Hat-gebaseerde distributies worden aangeboden. Het kan gezien worden als een soort voorloper van Yum en gebruikt dezelfde database als Yum. Software die je handmatig middels een .rpm-bestand installeert is daardoor ook met Yum te onderhouden.

Software installeren met Yum (command-line)

Yum is een tool voor de commandline maar werkt erg eenvoudig. Enkele basiscommando’s zijn genoeg om het overgrote deel van je software te beheren. Tientallen andere commando’s worden incidenteel gebruikt. Op deze pagina zullen de meestvoorkomende yum-commando’s worden toegelicht. Voor een uitgebreidere handleiding over Yum verwijzen wij je naar deze pagina.

Onderstaand de meestvoorkomende commando’s voor yum. De commando’s moeten uitgevoerd worden in een terminal, met root-rechten.

Een softwarepakket installeren:

yum install softwarepakket

Een softwarepakket verwijderen:

yum remove softwarepakket 

Het is ook mogelijk naar een bepaald softwarepakket te zoeken. Voorbeeld: Wil je een browser, maar weet je niet welke browser, dan kan je een overzicht van alle browsers (of wat met browsers te maken heeft) opvragen met het commando:

yum search browser

Je kunt alle pakketten op je systeem in één keer updaten (dit kan enige tijd duren, afhankelijk van de snelheid van je computer en je internetverbinding):

yum update

Wil je slechts 1 pakket updaten naar de meest recente versie, dan kan dat met dit commando:

yum update softwarepakket

Voordat je gaat updaten moet je natuurlijk weten of er updates beschikbaar zijn voor je systeem, daarvoor is dit commando:

yum check-update

Informatie opvragen over een bepaald pakket kan ook:

yum info pakketnaam

Is dat niet alle informatie die je nodig hebt? Kijk dan eens op onze speciale pagina over Yum.

Yum in een grafische omgeving

Werkt je met Linux op de desktop en wil je graag een mooi programma waarin je zonder allerlei commando’s software kunt installeren en beheren? Als je Fedora, CentOS of RHEL met een grafische desktopomgeving gebruikt, dan kan je vanuit je menu de optie ‘Software’ selecteren.

Is deze optie er niet? Dan zal je via de commandline het softwarepakket gnome-software moeten installeren. Dit kan door een terminalvenster te openen, het commando ‘su’ in te voeren om systeembeheer-rechten te verkrijgen en vervolgens het commando ‘yum install gnome-software’ in te voeren. Wordt dit commando met succes uitgevoerd? Dan kan je daarna alsnog het programma Software uitvoeren vanuit je menu.

Met het programma ‘Software’ kan je zoeken op naam van het gewenste softwarepakket, je kunt een categorie doorzoeken of je kunt door de populairste applicaties bladeren. Onderstaand een screenshot van deze grafische schil voor Yum:

Software installeren kan eenvoudig met de grafische schil voor Yum

In Fedora 22 en latere versies zal in plaats van Yum gebruik gemaakt worden van DNF (‘dandified yum’), een verbeterde versie van Yum. In de toekomst zullen RHEL en CentOS hoogstwaarschijnlijk ook overstappen op DNF. De werking van dit programma is nagenoeg identiek, maar onder de motorkap zijn er wat verschillen.

RPM

Red Hat was een van de eerste spelers in de Linux-wereld. In 1997 lanceerde Red Hat een package management systeem, de Red Hat Packagemanager (RPM). Tot dat moment bestond je besturingssysteem uit allemaal losse softwarepakketten die allemaal apart onderhouden moeten worden. Er was geen centrale database waarin bijgehouden werd welke software op je systeem geinstalleerd was. Omdat Linux erg modulair is opgebouwd, is dat een bijzonder onhandige situatie. Met RPM werd dit opgelost. Sindsdien wordt veel software ook in .rpm-formaat uitgebracht. Als het om open source software gaat, is het in veel gevallen mogelijk om die software eenvoudig vanuit een repository (“softwarebibliotheek”) te downloaden met Yum.

Heb je software in .rpm gevonden? Dan kan je dit op twee manieren installeren, namelijk via de commandline of simpel door op je rpm-bestand te klikken. De laatste manier werkt niet altijd probleemloos, maar als het werkt, dan behoeft dit verder geen uitleg. Als het niet werkt, dan zal je alsnog je uitvlucht moeten nemen tot het installeren van de .rpm via de console.

Handmatig

Om RPM’s handmatig te installeren, kan je met het commando ‘rpm’ werken vanuit de terminal. Het commando ‘rpm’ kent vele opties, waarvan wij hier de meestvoorkomende zullen toelichten. Voordat je onderstaande commando’s kunt uitvoeren, is het belangrijk dat je weet op welke locatie je de rpm die je wilt installeren hebt opgeslagen. Zorg dat je root-rechten hebt en dat je je bevind in de map waarin je de rpm hebt opgeslagen en voor dan onderstaande commando’s uit:

Een rpm-bestand installeren kan met een simpel commando. Vaak werkt dit prima, maar in veel gevallen zul je de melding krijgen dat het softwarepakket dat je wilt installeren voor een goede werking de aanwezigheid van andere software vereist. Je zult dan op zoek moeten gaan naar de gevraagde softwarepakketten. Deze dependencies zorgen voor veel hoofdpijn. Indien mogelijk adviseren we daarom Yum of dnf te gebruiken, omdat deze programma de dependencies voor je kunnen oplossen. Om handmatig een rpm te installeren kan je het volgende commando uitvoeren:

rpm -ivh bestandsnaam.rpm

Een geinstalleerde rpm verwijderen kan ook met een enkel commando::

rpm -e naam-van-het-pakket-dat-je-wilt-verwijderen

Een rpm updaten kan als je beschikt over een nieuwere rpm dan de rpm die je eerder hebt geinstalleerd. Als dit het geval is, kan je onderstaande commando uitvoeren in de terminal:

rpm -U pakketnaam.rpm

Wil je de exacte versie weten van een geinstalleerd softwarepakket, dan kan dat door een lijst van alle geinstalleerde software te doorzoeken. Dat doe je met onderstaande combinatie van twee commando’s:

rpm -qa | grep softwarepakket

Bovenstaande commando bestaat uit twee delen: met het deel rpm -qa wordt de volledige lijst met geinstalleerde software getoond en met het deel grep softwarepakket zorg je ervoor dat alleen de regels uit die lijst worden getoond waarin de term softwarepakket voorkomt.

 

Software installeren in Ubuntu en Linux Mint

Ubuntu, Linux Mint en een paar andere distributies die van origine op Debian gebaseerd zijn kunnen niet overweg met yum / dnf of .rpm-bestanden maar maken gebruik van apt en .deb-bestanden. Software installeren op deze systemen kan op twee gangbbare manieren: door middel van Apt en handmatig met dpkg. Apt staat voor A Package Tool en was de eerste packagetool voor Linux die in staat was eenvoudig softwarepakketten te beheren en afhankelijkheden en conflicten tussen softwarepakketten en versies op te lossen. Apt wordt nog steeds gebruikt als packagemanager. Handmatig .deb-bestanden installeren kan natuurlijk ook, dit gaat het met het commando dpkg, een afkorting voor Debian package. Onderstaand worden beide mogelijkheden voor het installeren van software op Ubuntu, Linux Mint, Debian of een hiervan afgeleide distributie toegelicht.

Apt: A package tool op de commandline

Hoewel de commandline soms afschikt, is apt-get ontworpen voor eenvoud en het maakt het beheren van je softwarecollectie inderdaad stukken makkelijker. Apt maakt standaard gebruik van een aantal softwarebibliotheken die door de maker van je Linux-distributie worden onderhouden. Het is mogelijk om hier extra softwarebibliotheken, oftwel repositories, aan toe te voegen. Daardoor kan je meer software installeren. Zie de repositories-pagina voor meer informatie hierover.

De commandostructuur van apt is erg eenvoudig. Een voorbeeld van een apt-commando waarmee je de muziekspeler Xmms kunt installeren is:

meradin:/home/tempest# apt-get install xmms

Waar xmms natuurlijk te vervangen is door elke andere naam van een softwarepakket dat in de ingestelde repositories aanwezig is. De meestgebruikte commando’s van apt zijn:

Softwarepakket installeren:

apt-get install softwarepakket

De lijst van software die beschikbaar is in de ingesteld repositories moet regelmatig opnieuw opgehaald worden, om te voorkomen dat je oude software installeert of upgrades mist. De lijst van beschikbare software updaten kan met:

apt-get update

Alle op het systeem geinstalleerde software updaten kan met een enkel commando. Belangrijk om te weten is wel dat alleen de software die eerder met apt of een .deb-bestand is geinstalleerd, met dit commando geupgrade kan worden:

apt-get upgrade

Ben je op zoek naar een bepaald softwarepakket waarvan je een deel van de naam weet of een term hebt die het pakket omschrijft, dan kan je de naam van het softwarepakket zoeken met onderstaande commando:

apt-cache search zoekterm

Heb je een aantal softwarepakketten geinstalleerd op je systeem? De .deb-bestanden die apt download, blijven dan achter op je systeem. Het is raadzaam om deze bestanden met enige regelmaat op te ruimen. Dat kan met dit commando:

apt-get clean

Heb je een bepaald softwarepakket niet meer nodig? Dan kan je het eenvoudig weer verwijderen:

apt-get remove pakketnaam

Handmatig .deb-bestanden installeren met dpkg

Je kunt zelfgedownloade deb’s installeren door:

dpkg -i package.deb

Verwijderen kan met -r, van remove

dpkg -r package

Software installeren met Docker

De laatste trend op Linux servers is Docker: een techniek om software in een geïsoleerde omgeving (container) binnen je besturingssysteem te draaien, volledig onafhankelijk van het onderliggende besturingssysteem en met de mogelijkheid om een bepaalde hoeveelheid geheugen en CPU-kracht toe te wijzen aan de container waarbinnen de applicatie draait.

Heb je dockter op je server geïnstalleerd en wil je snel applicaties uitrollen? Het is in veel gevallen de moeite waard om eens te kijken of er een docker-image beschikbaar is van de applicatie waar je naar op zoek bent. Omdat met Docker een geheel nieuwe benadering van applicaties installeren en draaien kent,, verwijzen we je graag naar onze Docker-pagina voor meer informatie en hulp.

Zelf compileren

Je kunt ook software installeren door zelf te compileren (of op zijn Neder-Engels: compilen). Het compileren van software is soms noodzakelijk bij open source software, namelijk als er de software niet met yum, dnf of apt-get geinstalleerd kan worden en als er geen geschikt .rpm of .deb-bestand beschikbaar is. Het compileren of compilen van software is het omzetten van programmeertaal naar computertaal, d.w.z. nullen en enen en kan alleen vanuit de console.

Als je op de console geopend hebt, dan zal als eerste stap het gedownloade softwarepakket uitgepakt moeten worden.

Heb je een source code eindigend op .tar.bz2 ,dan kan je dit commando gebruiken om het uit te pakken:

tar -jxvf <programma-versie.tar.bz2>

Heb je een source code eindigend op .tar.gz ,dan kan je het volgende commando gebruiken om het uit te pakken:

tar -zxvf <programma-versie.tar.gz>

Nu krijg je heel veel regels achter elkaar te zien, dat betekent dat het uitpakken bezig is. Voor ieder bestand dat wordt uitgepakt zal er een regel getoond worden, het ziet er ongeveer zo uit:

programma-1.2.3/
programma-1.2.3/README
programma-1.2.3/AUTHORS
programma-1.2.3/configure
enz ….

Is dit proces klaar en bevatten de laatste regels geen foutmeldingen, dan kan je de zojuist automatisch aangemaakte map openen met het commando cd, wat voor change directory staat. Ga nu naar de map waar het programma uitgepakt is met dit commando:

cd programmanaam-versienummer

TIP: je kunt in de meeste gevallen alleen de eerste letters intypen van de map die je wilt openen en daarna op <tab> drukken, de rest van de naam wordt dan automatisch aangevuld.

Voordat je kunt installeren moet je eerst weten of je niet eerst andere programma’s ervoor nodig hebt en of je systeem aan de systeemeisen voldoet. Dit kan je controleren door het volgende in de console in te voeren en op enter te drukken:

./configure

Als je nu foutmeldingen krijgt moet je waarschijnlijk nog andere software installeren dat nodig is voor het programma dat je wil installeren. De opties zijn te talrijk om hier uiteen te zetten. Kom je er niet uit, dan helpen we je graag verder op het forum van Alleslinux.com of neem contact op voor professionele ondersteuning.

Is het configure-commando met succes afgerond? Dan weet je systeem nu welke software en configuratie er beschikbaar is om het te compilen programma mee te laten werken. Met onderstaande commando kan je de programmeercode omzetten naar computertaal:

make

Dit proces kan lang duren. Het kan geen kwaad om ondertussen iets anders te gaan doen. Zodra het commando zonder fouten is afgerond, zijn de zogeheten binaries, dat wil zeggen uitvoerbare bestanden, gemaakt. Nu moeten de bestanden nog verplaatst worden naar de juiste plek op de harde schijf om ze volledig op te nemen in je systeem. Zorg dat je de juiste rechten hebt om dit te doen door eerst root te worden d.m.v. het commando su (afkorting voor super user of switch user). :

su <enter>
< voer het wachtwoord van de gebruiker root in >

Nu ben je ingelogd als root en kun je make install uitvoeren om de installatie af te ronden:

make install

Ook hier is het van belang dat je controleert of er geen foutmeldingen verschijnen. Is dat niet het geval? Dan is je programma geinstalleerd. Je bent nog ingelogd als root. Door exit in te typen, gevolgd door enter, ben je weer uitgelogd als root. Wil je verderwerken in de console? Dan kan dat. Je kunt bijvoorbeeld proberen of het zojuist geïnstalleerde programma werkt door de naam van het programma in te typen en op enter te drukken. Wil je niet verder werken? Typ dan nogmaals exit om de console te sluiten.

Je kunt een programma dat je zelf hebt gecompileerd natuurlijk ook weer verwijderen, maar alleen als je de source-map niet hebt verwijderd. Daarom is het verstandig om altijd de sources te verplaatsen naar /usr/src. De sources staan dan op een centrale plek. Om een programma te verwijderen ga naar de source map, dat is de map waar je tijdens het installeren ook ‘./configure’, ‘make’ en ‘make install’ hebt uitgevoerd. Je moet in de source-directory het commando ‘make uninstall‘ typen om een programma te verwijderen.

Heb je nog vragen over het installeren van software? Dan kan je altijd terecht in het forum van AllesLinux.com. Wil je software installeren laten doen, dan kan je AllesLinux.com daarvoor inschakelen. Kijk op onze support-pagina voor de mogelijkheden. Heb je minder haast? Overweeg dan eens om je in te schrijven voor een cursus Linux!

Category: