In dit artikel laten wij zien hoe je software packages in CentOS Stream 8 installeert of verwijdert, en achterhaalt in welke repository (repo) de software te vinden is.
Voer de stappen in dit artikel uit via command-line als root-gebruiker, of als een gebruiker met root-rechten.
Een package installeren
In CentOS Stream 8 installeer je packages met het commando:
dnf -y install packagenaam
DNF is een meta package handler waarmee je bijvoorbeeld packages kunt beheren of repositories kunt aanmaken. Het is vergelijkbaar met 'yum' dat vroeger de standaard was voor CentOS en naast dnf standaard aanwezig is in CentOS Stream 8-installaties.
Door de toevoeging -y geef je automatisch toestemming wanneer er gevraagd wordt om toestemming om de betreffende package te installeren.
Achterhalen in welke package software is opgenomen
Wil je een commando gebruiken, maar krijg je een melding dat het commando niet gevonden kan worden? Dan kun je achterhalen of je die kunt installeren door te controleren of het onderdeel is van een package die is opgenomen in een repository die beschikbaar is in jouw CentOS Stream 8 installatie. Dit doe je met het commando:
dnf whatprovides */commandonaam
Wil je bijvoorbeeld controleren in welke package netstat is opgenomen, dan gebruik je het commando:
dnf whatprovides */netstat
De output bevat (naast een overzicht van de doorzochte repositories of een metadata-melding) de volgende output:
net-tools-2.0-0.52.20160912git.el8.x86_64 : Basic networking tools Repo : baseos Matched from: Filename : /usr/bin/netstat
De eerste regel in dit voorbeeld toont hier de package die je nodig hebt, namelijk net-tools. Om in dit voorbeeld het netstat-commando te gebruiken installeer je net-tools:
dnf -y install net-tools
Achterhalen in welke repository software is opgenomen
Het kan gebeuren dat de software die je wil installeren niet is opgenomen in een repository die je op het moment gebruikt. In dat geval kan de betreffende software niet geïnstalleerd worden. Dit geldt bijvoorbeeld bij een standaard installatie van CentOS Stream 8 wanneer je probeert Fail2Ban te installeren, wat een onderdeel is van de EPEL-repository.
Je kunt uitsluiten of dit het geval is door te kijken of de software een onderdeel is van een package die in je huidige repositories is opgenomen. Je gebruikt hiervoor ook het commando:
dnf whatprovides */softwarenaam
Krijg je de melding 'No matches found', of zie je geen resultaten met daarin de regel Filename : /bin/softwarenaam dan betekend dit dat de benodigde package niet bestaat, of onderdeel is van een andere repository.
In Linux is de gedachte dat je om veiligheidsredenen enkel in je eigen invloedssfeer software kunt zoeken en installeren, maar niet daarbuiten. Je hebt dus inzage in packages die zijn opgenomen in de repositories die je geïnstalleerd hebt, maar kunt geen zoekopdracht uitvoeren in niet geïnstalleerde repositories. De enige optie om dus te achterhalen in welke repository een package is opgenomen wanneer je de repository nog niet geïnstalleerd hebt, is door het op te zoeken via een search engine zoals Google / DuckDuckGo, of bijvoorbeeld op Gitlab.
Geinstalleerde software packages updaten
Alle geïnstalleerde software update je in CentOS Stream 8 eenvoudig met het commando:
dnf -y update
Het is aan te raden om na een update je VPS te herstarten zodat wijzigingen waar een herstart voor vereist is ook daadwerkelijk doorgevoerd worden.
Geinstalleerde software packages verwijderen
Een geïnstalleerde software package verwijder je met een simpel commando:
dnf -y remove packagenaam
Mocht je de package naam niet zeker meer weten, dan kun je ook hier het eerdere commando gebruiken om de packagenam te achterhalen:
dnf whatprovides */naamvancommando