Gebruiker:Eg-T2g/pijplijn
Het RPM-programma bewerken
De RPM-programma rpm
heeft veel opties en kan op talloze manieren toegepast worden. Via de rpm
-applicatie kan software geïnstalleerd en verwijderd worden en met deze applicatie kan in de database naar informatie over de geïnstalleerde software gezocht worden. De aanroep heeft een vorm die eruit ziet als:
gebruiker@laptop ~ $ rpm {-o|--optie} [meer opties] [...] <...>
Over het algemeen worden rpm
-opdrachten zelden door gebruikers uitgevoerd. Enkele opties kunnen voor softwareontwikkelaars, systeembeheerders en gewone gebruikers echter erg handig zijn, zoals de opties voor zoeken van geïnstalleerde pakketten in de database, het vinden van de locatie van configuratiefiles en voor de controle van de inhoud van de database.
Zoekfunctie bewerken
De zoekfunctie van rpm
wordt geactiveerd met de zoekoptie -q
of --query
. De eenvoudigste zoekopdracht luidt:
gebruiker@laptop ~ $ rpm -q pakketnaam
Met deze zoekopdracht wordt gekeken of een pakket met de naam pakketnaam op het systeem geïnstalleerd is en of de naam pakketnaam in de database opgeslagen is. Als er geen pakket met de naam pakketnaam in de database gevonden wordt dan geven alle rpm
-opdrachten de melding:
package pakketnaam is not installed
Pakketinformatie bewerken
Met de toevoeging van de informatie-optie -i
of --info
, aan de zoekfunctie wordt alle informatie over herkomst en de opbouw van een pakket afgedrukt.
gebruiker@laptop ~ $ rpm -qi grep
In de uitvoer wordt alle informatie van het pakket afgedrukt over de herkomst van de broncode, de versie, de compilatie, de URL van de machine waarop het pakket gecompileerd is, het tijdstip van compilatie, de checksum, etc.:
Versies bewerken
De zoekopdracht naar een pakketnaam geeft aan welke versies van een geïnstalleerd pakket op het systeem aanwezig zijn, zoals van de kernel in dit voorbeeld:
gebruiker@laptop ~ $ rpm -q kernel
De uitvoer van deze opdracht:
kernel-3.4.19-5.fc14.i686 kernel-3.6.7-5.fc14.i686 kernel-3.6.9-1.fc14.i686
vermeldt dat er drie versies van de kernel op het systeem geïnstalleerd zijn.
Bronpakket bewerken
Vaak wil men weten uit welk rpm-pakket een bestand of toepassing afkomstig is. Het bronpakket van een bestand wordt weergegeven door de -f
-optie of --file
-optie aan de zoekfunctie toe te voegen. De opdracht:
gebruiker@laptop ~ $ rpm -qf $(which Xorg)
laat zien dat de Xorg
-server uit het pakket xorg-x11-server-Xorg
afkomstig is.
Documentatie bewerken
Met de toevoeging van de optie, -d
of --docfiles
, aan de zoekfunctie worden de namen afgedrukt van alle documentatiebestanden in een pakket. Deze lijst wordt voor rpm
afgedrukt door de opdracht:
gebruiker@laptop ~ $ rpm -qd rpm
Bestandslijst bewerken
Met de toevoeging van de lijstoptie, -l
of --list
, aan de zoekfunctie worden de namen afgedrukt van alle bestanden en directories die door de toepassingen uit een pakket aangemaakt zijn. Deze lijst wordt voor rpm
afgedrukt door de opdracht:
gebruiker@laptop ~ $ rpm -ql rpm
De hoeveelheid uitvoer die door deze zoekopdacht wordt afgedrukt kan groot zijn. In de uitvoer van bovenstaande opdracht is onder andere de locatie van de RPM-database terug te vinden:
... /var/lib/rpm /var/lib/rpm/Basenames /var/lib/rpm/Conflictname /var/lib/rpm/Dirnames /var/lib/rpm/Filedigests ...
Configuratie bewerken
Met de toevoeging van de optie -c
of --configfiles
aan de zoekfunctie worden de locaties van configuratiebestanden afgedrukt:
gebruiker@laptop ~ $ rpm -qc bash
Voor de bash-shell zijn volgens de bovenstaande opdracht drie configuratiebestanden aangemaakt:
/etc/skel/.bash_logout /etc/skel/.bash_profile /etc/skel/.bashrc
Vereisten bewerken
gebruiker@laptop ~ $ rpm -q --requires pakketnaam
Ondersteuning bewerken
gebruiker@laptop ~ $ rpm -q --provides pakketnaam
Volledige lijsten bewerken
Een zoekopdracht voor alle pakketten kan uitgevoerd worden door de optie -a
toe te voegen. Omdat de volledige lijst met pakketten lang is kost het uitvoeren van zoekopdrachten met de -a
-optie meestal vrij veel tijd. Daarom kan de uitvoer het best opgeslagen worden in een tijdelijk bestand. De volledige lijst met de namen van geïnstallerde pakketten wordt afgedrukt en opgeslagen in het bestand tmp
, met de opdracht:
gebruiker@laptop ~ $ rpm -qa --last > tmp
Een lijst met ... wordt in het bestand tmp
opgeslagen met de opdracht:
gebruiker@laptop ~ $ rpm -qa --conflicts > tmp
Controlefunctie bewerken
gebruiker@laptop ~ $ sudo rpm -Va > tmp
... missing /var/run/pptp S.5....T. c /etc/logrotate.conf S.5....T. /usr/lib/python2.7/sysconfig.pyc .M....... /var/run/gdm missing /var/run/gdm/greeter .M....... /sys missing /var/log/sssd ...
SM5DLUGT
S
- verschil in grootte (size)M
- verschil in mode5
- verschil in MD5 checksumD
- verschil in versienummerL
- verschil in linkU
- verschil in gebruiker/eigenaar (user)G
- verschil in groep (group)T
- verschil in tijdstempel (timestamp)
Andere toepassingen bewerken
rpm -i naam.src.rpm
installeert broncoderpm -F [optie] [...] <...>
rpm -U [optie] [...] <...>
rpm -e pakketnaam
verwijdert een pakket