Zoeken op website

20 praktische voorbeelden van RPM-opdrachten in Linux


RPM (Red Hat Package Manager) is een standaard open source en populairste hulpprogramma voor pakketbeheer voor op Red Hat gebaseerde systemen zoals (RHEL , CentOS en Fedora). Met de tool kunnen systeembeheerders en gebruikers installeren, bijwerken, verwijderen, query, verifiëren en beheer systeemsoftwarepakketten in Unix/Linux besturingssystemen. Het RPM-bestand, voorheen bekend als .rpm-bestand, bevat gecompileerde softwareprogramma's en bibliotheken die nodig zijn voor de pakketten. Dit hulpprogramma werkt alleen met pakketten die zijn gebouwd op het .rpm-formaat.

Dit artikel bevat enkele nuttige voorbeelden van 20 RPM-opdrachten die nuttig voor u kunnen zijn. Met behulp van deze rpm-opdracht kunt u pakketten op uw Linux-systemen installeren, bijwerken en verwijderen.

Enkele feiten over RPM (RedHat Package Manager)

  1. RPM is gratis en vrijgegeven onder GPL (General Public License).
  2. RPM bewaart de informatie van alle geïnstalleerde pakketten in de /var/lib/rpm database.
  3. RPM is de enige manier om pakketten te installeren onder Linux-systemen. Als je pakketten hebt geïnstalleerd met behulp van de broncode, kan rpm dit niet beheren.
  4. RPM werkt met .rpm-bestanden, die de feitelijke informatie over de pakketten bevatten, zoals: wat het is, waar het vandaan komt, >afhankelijkhedeninformatie, versie-informatie etc.

Er zijn vijf basismodi voor RPM-opdrachten

  1. Installeren: Het wordt gebruikt om elk RPM-pakket te installeren.
  2. Verwijderen: Het wordt gebruikt om elk RPM-pakket te wissen, verwijderen of de-installeren.
  3. Upgrade: Het wordt gebruikt om het bestaande RPM-pakket bij te werken.
  4. Verifiëren: Het wordt gebruikt om een RPM-pakket te verifiëren.
  5. Query: Het wordt gebruikt om elk RPM-pakket te doorzoeken.

Waar u RPM-pakketten kunt vinden

Hieronder vindt u de lijst met rpm-sites, waar u alle RPM-pakketten kunt vinden en downloaden.

  1. http://rpmfind.net
  2. http://www.redhat.com
  3. http://freshrpms.net/
  4. http://rpm.pbone.net/

Lees ook:

  1. 20 YUM-opdrachtvoorbeelden in Linux
  2. 10 Wget-opdrachtvoorbeelden in Linux
  3. 30 nuttigste Linux-opdrachten voor systeembeheerders

Houd er rekening mee dat u een root-gebruiker moet zijn wanneer u pakketten in Linux installeert. Met de root-rechten kunt u rpm-opdrachten beheren met de juiste opties.

1. Een RPM-handtekeningpakket controleren

Controleer altijd de PGP-handtekening van pakketten voordat u ze op uw Linux-systemen installeert en zorg ervoor dat de integriteit en oorsprong OK zijn. Gebruik de volgende opdracht met de optie –checksig (controleer handtekening) om de handtekening van een pakket met de naam pidgin te controleren.

[root@tecmint]# rpm --checksig pidgin-2.7.9-5.el6.2.i686.rpm

pidgin-2.7.9-5.el6.2.i686.rpm: rsa sha1 (md5) pgp md5 OK

2. Hoe u een RPM-pakket installeert

Om een rpm-softwarepakket te installeren, gebruikt u de volgende opdracht met de optie -i. Om bijvoorbeeld een rpm-pakket met de naam pidgin-2.7.9-5.el6.2.i686.rpm te installeren.

[root@tecmint]# rpm -ivh pidgin-2.7.9-5.el6.2.i686.rpm

Preparing...                ########################################### [100%]
   1:pidgin                 ########################################### [100%]
RPM-opdracht en opties
  1. -i : installeer een pakket
  2. -v: uitgebreid voor een mooiere weergave
  3. -h: druk streepjes af terwijl het pakketarchief wordt uitgepakt.

3. Hoe u de afhankelijkheden van het RPM-pakket kunt controleren vóór installatie

Stel dat u een afhankelijkheidscontrole wilt uitvoeren voordat u een pakket installeert of upgradet. Gebruik bijvoorbeeld de volgende opdracht om de afhankelijkheden van het BitTorrent-5.2.2-1-Python2.4.noarch.rpm pakket te controleren. Het zal de lijst met afhankelijkheden van het pakket weergeven.

[root@tecmint]# rpm -qpR BitTorrent-5.2.2-1-Python2.4.noarch.rpm

/usr/bin/python2.4
python >= 2.3
python(abi) = 2.4
python-crypto >= 2.0
python-psyco
python-twisted >= 2.0
python-zopeinterface
rpmlib(CompressedFileNames) = 2.6
RPM-opdracht en opties
  1. -q : Een pakket opvragen
  2. -p : Lijst met mogelijkheden die dit pakket biedt.
  3. -R: Lijst met mogelijkheden waarvan dit pakket afhankelijk is.

4. Een RPM-pakket installeren zonder afhankelijkheden

Als u weet dat alle benodigde pakketten al zijn geïnstalleerd en RPM gewoon stom is, kunt u deze afhankelijkheden negeren door de optie –nodes (geen controle op afhankelijkheden) te gebruiken voordat u de pakket.

[root@tecmint]# rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm

Preparing...                ########################################### [100%]
   1:BitTorrent             ########################################### [100%]

Met de bovenstaande opdracht wordt het rpm-pakket met kracht geïnstalleerd door afhankelijkhedenfouten te negeren, maar als deze afhankelijkheidsbestanden ontbreken, zal het programma helemaal niet werken, totdat u ze installeert.

5. Een geïnstalleerd RPM-pakket controleren

Als u de -q optie met pakketnaam gebruikt, wordt weergegeven of er een rpm is geïnstalleerd of niet.

[root@tecmint]# rpm -q BitTorrent

BitTorrent-5.2.2-1.noarch

6. Hoe u alle bestanden van een geïnstalleerd RPM-pakket kunt weergeven

Om alle bestanden van geïnstalleerde rpm-pakketten te bekijken, gebruikt u de -ql (querylijst) met het rpm-commando.

[root@tecmint]# rpm -ql BitTorrent

/usr/bin/bittorrent
/usr/bin/bittorrent-console
/usr/bin/bittorrent-curses
/usr/bin/bittorrent-tracker
/usr/bin/changetracker-console
/usr/bin/launchmany-console
/usr/bin/launchmany-curses
/usr/bin/maketorrent
/usr/bin/maketorrent-console
/usr/bin/torrentinfo-console

7. Hoe u onlangs geïnstalleerde RPM-pakketten kunt weergeven

Gebruik het volgende rpm-commando met de optie -qa (query all), om alle recent geïnstalleerde rpm-pakketten weer te geven.

[root@tecmint]# rpm -qa --last

BitTorrent-5.2.2-1.noarch                     Tue 04 Dec 2012 05:14:06 PM BDT
pidgin-2.7.9-5.el6.2.i686                     Tue 04 Dec 2012 05:13:51 PM BDT
cyrus-sasl-devel-2.1.23-13.el6_3.1.i686       Tue 04 Dec 2012 04:43:06 PM BDT
cyrus-sasl-2.1.23-13.el6_3.1.i686             Tue 04 Dec 2012 04:43:05 PM BDT
cyrus-sasl-md5-2.1.23-13.el6_3.1.i686         Tue 04 Dec 2012 04:43:04 PM BDT
cyrus-sasl-plain-2.1.23-13.el6_3.1.i686       Tue 04 Dec 2012 04:43:03 PM BDT

8. Hoe u alle geïnstalleerde RPM-pakketten kunt weergeven

Typ de volgende opdracht om alle namen van geïnstalleerde pakketten op uw Linux-systeem af te drukken.

[root@tecmint]# rpm -qa

initscripts-9.03.31-2.el6.centos.i686
polkit-desktop-policy-0.96-2.el6_0.1.noarch
thunderbird-17.0-1.el6.remi.i686

9. Een RPM-pakket upgraden

Als we een RPM-pakket willen upgraden, wordt de “–U” (upgrade) optie gebruikt. Een van de belangrijkste voordelen van het gebruik van deze optie is dat niet alleen de nieuwste versie van een pakket wordt geüpgraded, maar ook de back-up van het oudere pakket wordt bewaard, zodat het eerder geïnstalleerde pakket niet kan worden uitgevoerd als het nieuwere geüpgradede pakket kan opnieuw worden gebruikt.

[root@tecmint]# rpm -Uvh nx-3.5.0-2.el6.centos.i686.rpm
Preparing...                ########################################### [100%]
   1:nx                     ########################################### [100%]

10. Een RPM-pakket verwijderen

Om een RPM-pakket te de-installeren gebruiken we bijvoorbeeld de pakketnaam nx, niet de originele pakketnaam nx-3.5.0-2.el6.centos.i686.rpm >. De optie -e (wissen) wordt gebruikt om het pakket te verwijderen.

[root@tecmint]# rpm -evv nx

11. Een RPM-pakket verwijderen zonder afhankelijkheden

De optie –nodes (De afhankelijkheden niet controleren) verwijdert het rpm-pakket met geweld van het systeem. Maar houd er rekening mee dat het verwijderen van een bepaald pakket andere werkende applicaties kapot kan maken.

[root@tecmint]# rpm -ev --nodeps vsftpd

12. Een bestand opvragen dat bij welk RPM-pakket hoort

Stel dat u een lijst met bestanden heeft en u wilt weten welk pakket bij deze bestanden hoort. Het volgende commando met de optie -qf (query file) laat je bijvoorbeeld zien dat het bestand /usr/bin/htpasswd eigendom is van het pakket httpd-tools-2.2.15-15.el6.centos.1.i686.

[root@tecmint]# rpm -qf /usr/bin/htpasswd

httpd-tools-2.2.15-15.el6.centos.1.i686

13. Informatie over het geïnstalleerde RPM-pakket opvragen

Stel dat u een rpm-pakket hebt geïnstalleerd en de informatie over het pakket wilt weten. De volgende -qi (query info) optie zal de beschikbare informatie van het geïnstalleerde pakket afdrukken.

[root@tecmint]# rpm -qi vsftpd

Name        : vsftpd				   Relocations: (not relocatable)
Version     : 2.2.2				   Vendor: CentOS
Release     : 11.el6				   Build Date: Fri 22 Jun 2012 01:54:24 PM BDT
Install Date: Mon 17 Sep 2012 07:55:28 PM BDT      Build Host: c6b8.bsys.dev.centos.org
Group       : System Environment/Daemons           Source RPM: vsftpd-2.2.2-11.el6.src.rpm
Size        : 351932                               License: GPLv2 with exceptions
Signature   : RSA/SHA1, Mon 25 Jun 2012 04:07:34 AM BDT, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://vsftpd.beasts.org/
Summary     : Very Secure Ftp Daemon
Description :
vsftpd is a Very Secure FTP daemon. It was written completely from
scratch.

14. Zorg dat u de informatie over het RPM-pakket ophaalt voordat u met de installatie begint

U heeft een pakket van internet gedownload en wilt de informatie van een pakket weten voordat u het installeert. De volgende optie -qip (query info pakket) zal bijvoorbeeld de informatie van een pakket sqlbuddy afdrukken.

[root@tecmint]# rpm -qip sqlbuddy-1.3.3-1.noarch.rpm

Name        : sqlbuddy                     Relocations: (not relocatable)
Version     : 1.3.3                        Vendor: (none)
Release     : 1                            Build Date: Wed 02 Nov 2011 11:01:21 PM BDT
Install Date: (not installed)              Build Host: rpm.bar.baz
Group       : Applications/Internet        Source RPM: sqlbuddy-1.3.3-1.src.rpm
Size        : 1155804                      License: MIT
Signature   : (none)
Packager    : Erik M Jacobs
URL         : http://www.sqlbuddy.com/
Summary     : SQL Buddy â Web based MySQL administration
Description :
SQLBuddy is a PHP script that allows for web-based MySQL administration.

15. Documentatie van het geïnstalleerde RPM-pakket opvragen

Om de lijst met beschikbare documentatie van een geïnstalleerd pakket op te halen, gebruikt u de volgende opdracht met de optie -qdf (querydocumentbestand) om de handleidingpagina's met betrekking tot het vmstat-pakket weer te geven.

[root@tecmint]# rpm -qdf /usr/bin/vmstat

/usr/share/doc/procps-3.2.8/BUGS
/usr/share/doc/procps-3.2.8/COPYING
/usr/share/doc/procps-3.2.8/COPYING.LIB
/usr/share/doc/procps-3.2.8/FAQ
/usr/share/doc/procps-3.2.8/NEWS
/usr/share/doc/procps-3.2.8/TODO

16. Een RPM-pakket verifiëren

Bij het verifiëren van een pakket wordt de informatie van de geïnstalleerde bestanden van het pakket vergeleken met de rpm-database. De -Vp (pakket verifiëren) wordt gebruikt om een pakket te verifiëren.

[root@tecmint downloads]# rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm

S.5....T.  c /etc/httpd/conf.d/sqlbuddy.conf

17. Alle RPM-pakketten verifiëren

Typ de volgende opdracht om alle geïnstalleerde rpm-pakketten te verifiëren.

[root@tecmint]# rpm -Va

S.5....T.  c /etc/rc.d/rc.local
.......T.  c /etc/dnsmasq.conf
.......T.    /etc/ld.so.conf.d/kernel-2.6.32-279.5.2.el6.i686.conf
S.5....T.  c /etc/yum.conf
S.5....T.  c /etc/yum.repos.d/epel.repo

18. Een RPM GPG-sleutel importeren

Om RHEL/CentOS/Fedora pakketten te verifiëren, moet je de GPG sleutel importeren. Om dit te doen, voert u de volgende opdracht uit. Het importeert CentOS 6 GPG-sleutel.

[root@tecmint]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

19. Hoe u alle geïmporteerde RPM GPG-sleutels kunt weergeven

Gebruik de volgende opdracht om alle geïmporteerde GPG-sleutels in uw systeem af te drukken.

[root@tecmint]# rpm -qa gpg-pubkey*

gpg-pubkey-0608b895-4bd22942
gpg-pubkey-7fac5991-4615767f
gpg-pubkey-0f2672c8-4cd950ee
gpg-pubkey-c105b9de-4e0fd3a3
gpg-pubkey-00f97f56-467e318a
gpg-pubkey-6b8d79e6-3f49313d
gpg-pubkey-849c449f-4cb9df30

20. Hoe u een beschadigde RPM-database opnieuw kunt opbouwen

Soms raakt de rpm-database beschadigd en stopt alle functionaliteit van rpm en andere applicaties op het systeem. Dus op dat moment moeten we de rpm-database opnieuw opbouwen en herstellen met behulp van de volgende opdracht.

[root@tecmint]# cd /var/lib
[root@tecmint]# rm __db*
[root@tecmint]# rpm --rebuilddb
[root@tecmint]# rpmdb_verify Packages