Gebruiker:Eg-T2g/pijplijn

Uit Wikipedia, de vrije encyclopedie
Naar navigatie springen Naar zoeken springen

Het RPM-programma[bewerken | bron 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 | bron 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 | bron 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 | bron 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 | bron 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 | bron 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 | bron 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 | bron 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 | bron bewerken]

gebruiker@laptop ~ $ rpm -q --requires pakketnaam

Ondersteuning[bewerken | bron bewerken]

gebruiker@laptop ~ $ rpm -q --provides pakketnaam

Volledige lijsten[bewerken | bron 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 | bron 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 mode
  • 5 - verschil in MD5 checksum
  • D - verschil in versienummer
  • L - verschil in link
  • U - verschil in gebruiker/eigenaar (user)
  • G - verschil in groep (group)
  • T - verschil in tijdstempel (timestamp)

Andere toepassingen[bewerken | bron bewerken]

  • rpm -i naam.src.rpm installeert broncode
  • rpm -F [optie] [...] <...>
  • rpm -U [optie] [...] <...>
  • rpm -e pakketnaam verwijdert een pakket