RPM-Gebruik Reggy Ekkebus, reggy@zeelandnet.nl v0.1, 22 januari 2000 Dit document beschrijft hoe je met RPM programma's installeert, unïnstalleert en informatie opvraagt. ______________________________________________________________________ Inhoudsopgave 1. Introductie 1.1 Nieuwe versies van dit document 1.2 Feedback 1.3 Standaard Disclaimer 1.4 Copyright Informatie 2. Wat is RPM 3. De thuis basis van RPM 4. Het Installeren, Upgraden en Un-installeren van software 4.1 Software Installeren 4.2 Software Upgraden 4.3 Software verwijderen 5. Informatie opvragen 5.1 Informatie over te installeren software 5.2 Informatie over geinstalleerde software 6. Probleem oplossingen 7. Aanvullende Tips ______________________________________________________________________ 1. Introductie Het belangrijkste doel van dit document is dat mensen RPM snel leren kennen en gebruiken. 1.1. Nieuwe versies van dit document Nieuwe versies van dit document zullen te vinden zijn tussen de Nederlandse howto's op . 1.2. Feedback Ik verwelkom beslist elke feedback over deze RPM-Gebruik-Mini Howto. Het zou leuk zijn als je een mailtje stuurde als je kritiek hebt, suggesties, verbeteringen, etc. Ik hoop dat ik mensen kan helpen met deze Mini Howto en als ik dat deed stuur me dan een mailtje reggy@zeelandnet.nl 1.3. Standaard Disclaimer Er kan geen aansprakelijkheid voor de inhoud van dit document worden geaccepteerd. Alles mag gebruikt worden, maar op eigen risico. Ik neem hiervoor geen verantwoordelijkheid. 1.4. Copyright Informatie Dit document valt onder het copyright (c)2000 Reggy Ekkebus en wordt onder de volgende voorwaarden gedistribueerd: Dit document mag geheel of gedeeltelijk worden gedistributeerd en gereproduceerd, via elektronisch of fysiek medium. Zolang de copyright vermelding op alle kopiën behouden blijft. Voor vragen mail: reggy@zeelandnet.nl 2. Wat is RPM RedHat Package Manager (RPM) is een open packaging systeem bruikbaar voor iedereen, en werkt op Red Hat Linux systemen, maar ook op andere Linux systemen bv Suse, Mandrake, etc voor rpm gebruik met slackware zie: RPM+Slackware Mini-Howto. RPM kan ook op andere Unix systemen zoals Tru64 Unix, AIX, Solaris en SunOS gebruikt worden. Met RPM kun je software met de extensie .rpm erachter installeren, unistalleren, verificeren, zoeken en zelf RPMS maken maar dit onderdeel wordt in dit document niet verder besproken. 3. De thuis basis van RPM Bij de meeste distibuties wordt RPM standaard geinstalleerd en kun je hier rpm.org eventueel de nieuwste versie ophalen. Tijdens het schrijven van deze Mini-Howto was de laatste versie rpm-3.0.3.tar.gz of rpm-3.0.3-6x.i386.rpm 4. Het Installeren, Upgraden en Un-installeren van software 4.1. Software Installeren Om software met RPM te installeren heb je om te beginnen software (packages) nodig die de .rpm extensie heeft. Deze zijn vooral te vinden op rpmfind.net · De simpelste manier om software (packages) te installeren is: # rpm -i foo-1.2-3.i386.rpm · Als je het verloop van de installatie wilt zien gebruik dan: # rpm -ivh foo-1.2-3.i386.rpm foo ################################################## · Ook kan het zijn dat de software (package) al is geinstalleerd, je krijgt dan: # rpm -ivh foo-1.2-3.i386.rpm package foo-1.2-3 is already installed · Indien er problemen zijn met dependies, wordt dit gemeld, en dien je de bewuste software (packages) ook te installeren. # rpm -ivh bar-1.2.3.i386.rpm error: failed dependencies: foo is needed by bar-1.2.3 · Om de problemen met dependies te negeren kun je de --nodeps optie meegeven: # rpm -ivh bar-1.2.3.i386.rpm --nodeps bar ################################################## · Je kan ook rechtstreeks vanaf een ftp server software (packages) installeren: # rpm -ivh ftp://ftp.redhat.com/pub/redhat/rh-6.1/RPMS/foo-1.2-3.i386.rpm foo ################################################## 4.2. Software Upgraden Ook Software Upgraden met RPM is heel simpel. · De simpelste manier om software (packages) te Upgraden is: # rpm -U foo-1.2-3.i386.rpm · Als je het verloop van de installatie wilt zien gebruik dan: # rpm -Uvh foo-1.2-3.i386.rpm foo ################################################## Ook tijdens het upgraden kunnen er dependies problemen zijn, deze kunnen ook hier worden genegeerd door de --nodeps optie mee te geven of de benodigde software installeren. 4.3. Software verwijderen Ook software (packages) verwijderen gaat met RPM heel eenvoudig. · Hiervoor gebruiken we: # rpm -e foo Hier dus niet de naam van het pakket file, maar de naam van het pakket. Ook kunnen tijdens het Un-installeren dependies problemen voorkomen, deze kunnen ook hier worden genegeerd door de --nodeps optie mee te geven, of de software (package) te laten staan omdat er anders problemen kunnen zijn met andere software. 5. Informatie opvragen 5.1. Informatie over te installeren software Met RPM kun je allerlei informatie opvragen over de te installeren software. · Als je software hebt gevonden maar je weet niet precies wat het is: # rpm -qpi ispell-3.1.20.i386.rpm Name : ispell Relocations: (not relocateable) Version : 3.1.20 Vendor: Red Hat Software Release : 22 Build Date: Tue 07 Sep 1999 07:03:29 PM CEST Install date: Thu 21 Oct 1999 10:15:50 PM CEST Build Host: porky.devel.redhat.com Group : Applications/Text Source RPM: ispell-3.1.20-22.src.rpm Size : 6351115 License: GPL Packager : Red Hat Software <http://developer.redhat.com/bugzilla> Summary : The GNU interactive spelling checker program. Description : Ispell is the GNU interactive spelling checker. Ispell will check a text file for spelling and typographical errors. When it finds a word that is not in the dictionary, it will suggest correctly spelled words for the misspelled word. You should install ispell if you need a program for spell checking (and who dosn't...). · Als je wilt kijken in welke directory's xearth alles gaat installeren : # rpm -qlp ispell-3.1.20.i386.rpm /usr/bin/buildhash /usr/bin/findaffix /usr/bin/icombine /usr/bin/ijoin /usr/bin/ispell /usr/bin/munchlist /usr/bin/spell /usr/bin/sq /usr/bin/tryaffix /usr/bin/unsq /usr/doc/ispell-3.1.20 /usr/doc/ispell-3.1.20/README /usr/info/ispell.info.gz /usr/lib/ispell /usr/lib/ispell/american.hash /usr/lib/ispell/americanmed+.hash /usr/lib/ispell/americanxlg.hash /usr/lib/ispell/british.hash /usr/lib/ispell/britishmed+.hash /usr/lib/ispell/britishxlg.hash /usr/lib/ispell/english.aff /usr/lib/ispell/english.hash /usr/man/man1/buildhash.1 /usr/man/man1/findaffix.1 /usr/man/man1/ispell.1 /usr/man/man1/munchlist.1 /usr/man/man1/sq.1 /usr/man/man1/tryaffix.1 /usr/man/man1/unsq.1 /usr/man/man5/english.5 /usr/man/man5/ispell.5 5.2. Informatie over geinstalleerde software Met RPM kun je ook allerlij informatie opvragen over geinstalleren software. · Om het versie (release) nummer van de software (package) op te vragen: # rpm -q foo foo-1.2-3.i386 · Om te kijken in welke package een bepaalde file hoort: # rpm -qf /usr/local/bin/foo foo-1.2-3.i386 · Als je software gebruikt en je wilt er meer informatie (documentatie) over: # rpm -qdf /usr/bin/ispell /usr/doc/ispell-3.1.20/README /usr/info/ispell.info.gz /usr/man/man1/buildhash.1 /usr/man/man1/findaffix.1 /usr/man/man1/ispell.1 /usr/man/man1/munchlist.1 /usr/man/man1/sq.1 /usr/man/man1/tryaffix.1 /usr/man/man1/unsq.1 /usr/man/man5/english.5 /usr/man/man5/ispell.5 · Als je meer wilt weten over software (een package) dat op je systeem staat: # rpm -qi ispell Name : ispell Relocations: (not relocateable) Version : 3.1.20 Vendor: Red Hat Software Release : 22 Build Date: Tue 07 Sep 1999 07:03:29 PM CEST Install date: Thu 21 Oct 1999 10:15:50 PM CEST Build Host: porky.devel.redhat.com Group : Applications/Text Source RPM: ispell-3.1.20-22.src.rpm Size : 6351115 License: GPL Packager : Red Hat Software <http://developer.redhat.com/bugzilla> Summary : The GNU interactive spelling checker program. Description : Ispell is the GNU interactive spelling checker. Ispell will check a text file for spelling and typographical errors. When it finds a word that is not in the dictionary, it will suggest correctly spelled words for the misspelled word. You should install ispell if you need a program for spell checking (and who dosn't...). · Als je meer wilt weten waar een applicatie (een package) al zijn files heeft gezet: # rpm -ql ispell /usr/bin/buildhash /usr/bin/findaffix /usr/bin/icombine /usr/bin/ijoin /usr/bin/ispell /usr/bin/munchlist /usr/bin/spell /usr/bin/sq /usr/bin/tryaffix /usr/bin/unsq /usr/doc/ispell-3.1.20 /usr/doc/ispell-3.1.20/README /usr/info/ispell.info.gz /usr/lib/ispell /usr/lib/ispell/american.hash /usr/lib/ispell/americanmed+.hash /usr/lib/ispell/americanxlg.hash /usr/lib/ispell/british.hash /usr/lib/ispell/britishmed+.hash /usr/lib/ispell/britishxlg.hash /usr/lib/ispell/english.aff /usr/lib/ispell/english.hash /usr/man/man1/buildhash.1 /usr/man/man1/findaffix.1 /usr/man/man1/ispell.1 /usr/man/man1/munchlist.1 /usr/man/man1/sq.1 /usr/man/man1/tryaffix.1 /usr/man/man1/unsq.1 /usr/man/man5/english.5 /usr/man/man5/ispell.5 · Als je wilt weten welke applicaties (packages) er allemaal op jou systeem zijn geinstalleerd: # rpm -qa 3c5x9utils-1.0-3 apmd-3.0beta9-3 arpwatch-2.1a4-16 ash-0.2-18 at-3.1.7-11 audiofile-0.1.9-1 audiofile-devel-0.1.9-1 aumix-1.22.1-6 authconfig-2.0-2 autoconf-2.13-5 automake-1.4-5 awesfx-0.4.3a-2 basesystem-6.0-4 bash-1.14.7-16 bc-1.05a-4 bdflush-1.5-10 bind-utils-8.2.1-7 binutils-2.9.1.0.23-6 bison-1.28-1 byacc-1.9-11 bzip2-0.9.5c-1 cdecl-2.5-9 .. enz Zoals je ziet wordt dit een lange onoverzichtelijke file. Je kan voor een complete lijst van de geinstalleerde software beter het onderstaande commando gebruiken: # rpm -qa | sort > software.txt Je hebt nu een file software.txt die alfabetisch is opgebouwd. 6. Probleem oplossingen · Stel je hebt per ongeluk een paar files weggegooid, maar je weet niet meer welke. Dan kun je je hele systeem doorzoeken om te kijken wat je mist: # rpm -Va S.5....T c /etc/host.conf S.5....T c /etc/printcap S.5....T c /etc/profile ..?..... c /etc/securetty S.5....T c /etc/services .M...... /opt missing /var/state missing /var/state/misc S.5....T c /etc/localtime missing /etc/default/useradd S.5....T c /etc/bashrc S.5....T c /etc/info-dir ..?..... /usr/X11R6/bin/xload S.5....T c /etc/X11/xdm/Xsession S.5....T c /etc/X11/xdm/Xsetup_0 ..?..... /usr/X11R6/bin/Xwrapper SM5....T c /usr/X11R6/lib/X11/fonts/misc/fonts.dir S.5....T c /etc/syslog.conf S.5....T c /etc/inittab S.5....T c /etc/rc.d/init.d/functions S.5....T c /etc/rc.d/rc.local S.5....T c /etc/sysconfig/network-scripts/ifcfg-lo S.5..UGT c /etc/X11/fs/config ..?..... c /etc/at.deny missing /var/spool/at/.SEQ missing /var/spool/at/spool Let wel dit duurt een tijdje. · Als er problemen zijn met de database van rpm kun je deze opnieuw aanmaken met: # rpm --rebuilddb · Voor meer en of geavanceerde opties typ --help achter rpm of man rpm: # rpm --help # man rpm 7. Aanvullende Tips Als je nog een tip hebt twijfel dan niet om hem te sturen, want als het een goed tip is komt hij in de Howto.