Software installeren van RPM-pakketten

Leer hoe u software van RPM-pakketten in Linux installeert. U leert ook hoe u de RPM-pakketten op uw systeem kunt upgraden, verwijderen en beheren.

Wat is RPM >

RPM staat voor Red Hat Package Manager. Tegenwoordig is RPM echter niet alleen Red Hat-specifiek, omdat veel andere Linux-distributies RPM gebruiken voor het beheer van hun software. Zowel Mandriva als SuSE gebruiken bijvoorbeeld RPM voor softwarebeheer. Met RPM kunt u software op Linux installeren, upgraden en verwijderen, en kunt u reeds geïnstalleerde RPM-pakketten op uw systeem volgen. Dit is mogelijk omdat RPM een database bijhoudt van alle software die ermee is geïnstalleerd.

RPM maakt gebruik van softwarepakketten met (verrassing) de .rpm uitbreiding. Een RPM-pakket bevat de daadwerkelijke software die wordt geïnstalleerd, misschien enkele extra bestanden voor de software, informatie over waar de software en de bijbehorende bestanden worden geïnstalleerd en een lijst met andere bestanden die u op uw systeem moet hebben om dit specifieke stuk uit te voeren van software.

Wanneer u RPM gebruikt voor het installeren van het softwarepakket, controleert RPM of uw systeem geschikt is voor de software die het RPM-pakket bevat, zoekt uit waar de bestanden van het pakket worden geïnstalleerd, installeert het op uw systeem en voegt dat stuk software toe aan de database van geïnstalleerde RPM-pakketten.

Merk op dat verschillende Linux-distributies hun software en de bestanden gerelateerd aan die software in verschillende mappen kunnen bewaren. Daarom is het belangrijk om het RPM-pakket te gebruiken dat is gemaakt voor uw distributie. Als u bijvoorbeeld een SuSE-specifiek softwarepakket op een Red Hat-systeem installeert, kan RPM de bestanden van dat pakket in verkeerde mappen plaatsen. In het ergste geval is het resultaat dat het programma niet alle bestanden vindt die het nodig heeft en niet goed werkt.

Er zijn een aantal goede grafische programma's voor het installeren van RPM-pakketten, maar in dit tuXfile zal ik de onfeilbare opdrachtregelmethode voor het installeren van software bespreken. Merk op dat je root moet zijn bij het installeren van software onder Linux. Als je de root-privileges hebt, gebruik je de rpm commando met de juiste opties om uw RPM-softwarepakketten te beheren.

RPM-pakketten installeren en upgraden >

Voor het installeren van een softwarepakket gebruikt u de rpm commando met -i optie (wat staat voor "install"). Als u bijvoorbeeld een RPM-pakket met de naam software-2.3.4.rpm:
rpm -i software-2.3.4.rpm

Als u al een versie op uw systeem hebt geïnstalleerd en deze wilt upgraden naar de nieuwe versie die u gebruikt -U optie in plaats daarvan (wat staat voor "upgrade"). Als u bijvoorbeeld software-2.3.3.rpm geïnstalleerd en wil het upgraden:
rpm -U software-2.3.4.rpm

Als alles goed gaat, worden de bestanden in uw pakket op uw systeem geïnstalleerd en kunt u met plezier uw nieuwe programma uitvoeren. Maar waar is je nieuwe programma? Let daar op rpm maakt gewoonlijk geen speciale map aan voor de bestanden van het softwarepakket. In plaats daarvan worden de verschillende bestanden uit het pakket in geschikte bestaande mappen op uw Linux-systeem geplaatst. Uitvoerbare programma's gaan meestal naar / bin, / usr / bin, / usr / X11 / bin of / usr / X11R6 / bin na installatie met rpm.

Maar hoe kunt u uw nieuwe programma uitvoeren als u niet weet waar het uitvoerbare bestand is? Soms wordt het programma automatisch aan uw menu toegevoegd, maar meestal kunt u het programma gewoon starten door de naam bij de opdrachtprompt te typen. In de meeste gevallen hoeft u niet te weten waar het programma is geïnstalleerd omdat u niet het hele pad hoeft in te typen wanneer u het programma uitvoert, alleen de naam van het programma is nodig.

Fout: mislukte afhankelijkheden >

Uitgevende rpm -i or rpm -U installeert de software en u kunt ermee aan de slag. RPM is heel gemakkelijk als het werkt. RPM kan echter een duivel zijn als het niet werkt. Er zijn veel redenen waarom het installeren van software fout gaat, maar meestal is dit vanwege mislukte afhankelijkheden.

Je ziet dat veel Linux-programma's andere bestanden of programma's nodig hebben om correct te kunnen werken. Met andere woorden, een bepaald stukje software afhankelijk op andere software. Wanneer u een RPM-pakket probeert te installeren, controleert RPM automatisch zijn database op andere bestanden die de te installeren software nodig heeft. Als RPM die bestanden niet in zijn database kan vinden, stopt het met het installeren van de software en klaagt het over mislukte afhankelijkheden.

Wanneer u een afhankelijkheidsfout krijgt, spuugt RPM een lijst met bestanden uit die het programma nodig heeft. Bekijk de lijst. De bestanden in de lijst zijn waarschijnlijk bestanden die u niet op uw systeem hebt staan, of bestanden die u heeft maar de verkeerde versies hebben. Wanneer je de gevreesde afhankelijkheidsfout krijgt, moet je de bestanden vinden waar RPM over klaagt, deze bestanden eerst installeren of upgraden, en dan proberen om het pakket dat je aan het installeren was, te installeren.

Soms is RPM echter gewoon dom. Zie je, alleen software die is geïnstalleerd met RPM wordt toegevoegd aan de database met geïnstalleerde software. Dit betekent dat als je een andere methode hebt gebruikt om een ​​bepaald programma te installeren, RPM niet weet dat het programma op je systeem bestaat. In dit geval klaagt RPM over mislukte afhankelijkheden, zelfs als het benodigde programma wel op uw systeem bestaat en er geen mislukte afhankelijkheden zijn!

als u om te weten wat de benodigde bestanden zijn er en RPM is gewoon dom, je kunt de afhankelijkheden negeren. Gebruik de --nodeps optie als u wilt dat RPM geen afhankelijkheden controleert voordat het pakket wordt geïnstalleerd:
rpm -i software-2.3.4.rpm --nodeps

Dit dwingt RPM om afhankelijkheidsfouten te negeren en toch software te installeren, maar merk op dat als de benodigde bestanden toch ontbreken, het programma niet goed of helemaal niet zal werken. Gebruik de --nodeps optie alleen als je weet wat je doet of als je bot genoeg bent 😉

Software verwijderen die is geïnstalleerd met RPM >

Als u software wilt verwijderen die met RPM is geïnstalleerd, gebruikt u de -e optie (wat staat voor "wissen"):
rpm -e software-2.3.4

Merk op dat wanneer installeren software, moet u de naam van het RPM-pakket typen. Maar wanneer het verwijderen van software, hoeft u niet de volledige naam van het pakket waarin de software zat in te typen. U hoeft het .rpm extensie bij het verwijderen van software. Waarschijnlijk hoef je het versienummer ook niet in te typen, dus dit zou precies hetzelfde doen als hierboven:
rpm -e software

Deze rpm -e commando gebruikt de RPM-database om te controleren waar alle bestanden met betrekking tot deze software zijn geïnstalleerd en verwijdert vervolgens automatisch al deze bestanden. Na het verwijderen van de programmabestanden verwijdert het ook het programma uit de database met geïnstalleerde software.

Dit is waarom het zo belangrijk is dat u RPM-software NOOIT handmatig verwijdert (bijvoorbeeld door afzonderlijke bestanden te verwijderen met rm). Als je gewoon rondloopt op je systeem en willekeurig bestanden verwijdert die met RPM zijn geïnstalleerd, raak je de software kwijt, maar RPM weet het niet en verwijdert het softwarepakket niet uit de database. Het resultaat is dat RPM nog steeds denkt dat het programma op uw systeem is geïnstalleerd, en u kunt later afhankelijkheidsproblemen tegenkomen.

Als u RPM hebt gebruikt voor het installeren van een bepaald stuk software, gebruikt u RPM ook voor het verwijderen van dat stuk software!

De RPM-database opvragen >

Zoals u al weet, bevat de RPM-database een lijst met alle geïnstalleerde RPM-pakketten op uw systeem. Je kunt deze database doorzoeken om informatie te krijgen over de pakketten op je Linux-systeem. Om een ​​enkel pakket te vragen, gebruikt u de -q optie. Als u bijvoorbeeld een pakket wilt opvragen met de naam 'software':
rpm -q software

Na het geven van deze opdracht, rpm ofwel vertelt u de versie van het pakket, of dat het pakket niet is geïnstalleerd.

Als je een lijst wilt met alle pakketten die op je systeem zijn geïnstalleerd, moet je ze allemaal opvragen met -qa:
rpm -qa

Hoogstwaarschijnlijk zal deze lijst erg lang zijn, dus je hebt een manier nodig om erin te scrollen. De beste manier is om de lijst naar less:
rpm -qa | less

Als u op zoek bent naar pakketten waarvan de naam een ​​specifiek woord bevat, kunt u grep voor het vinden van die pakketten. Om bijvoorbeeld een lijst te krijgen van alle geïnstalleerde RPM-pakketten waarvan de naam het woord "kde" bevat, zou je iets als dit kunnen doen:
rpm -qa | grep kde

Het bovenstaande commando maakt rpm lijst alle pakketten in de database en geef de lijst door aan grep. dan grep controleert elke regel op "kde" en laat tenslotte alle regels zien die het woord "kde" bevatten.

Als je geen idee hebt wat er is grep of piping, kijk eens naar de Redirecting standard input en output tuXfile.