20 Praktiske eksempler på RPM-kommandoer i Linux


RPM (Red Hat Package Manager) er en standard open source og mest populær pakkehåndteringsværktøj til Red Hat-baserede systemer som (RHEL, CentOS og Fedora). Værktøjet giver systemadministratorer og brugere mulighed for at installere, opdatere, afinstallere, forespørge, kontrollere og administrere systemsoftwarepakker i Unix/Linux-operativsystemer. RPM, tidligere kendt som .rpm-fil, der inkluderer kompilerede softwareprogrammer og biblioteker, der er nødvendige af pakkerne. Dette værktøj fungerer kun med pakker, der er bygget på .rpm-format.

Denne artikel indeholder nogle nyttige 20 RPM kommandoeksempler, der kan være nyttige for dig. Ved hjælp af denne rpm-kommando kan du klare at installere, opdatere, fjerne pakker i dine Linux-systemer.

Nogle fakta om RPM (RedHat Package Manager)

  1. RPM er gratis og frigivet under GPL (General Public License).
  2. RPM opbevarer oplysningerne om alle de installerede pakker under/var/lib/rpm-databasen.
  3. RPM er den eneste måde at installere pakker på under Linux-systemer. Hvis du har installeret pakker ved hjælp af kildekode, administrerer rpm det ikke.
  4. RPM beskæftiger sig med .rpm-filer, som indeholder de faktiske oplysninger om pakkerne, såsom: hvad det er, hvorfra det kommer, afhængighedsinformation, version info osv.

Der er fem grundlæggende tilstande til RPM-kommando

  1. Install: Det bruges til at installere enhver RPM-pakke.
  2. Fjern: Det bruges til at slette, fjerne eller afinstallere enhver RPM-pakke.
  3. Opgradering: Den bruges til at opdatere den eksisterende RPM-pakke.
  4. Bekræft: Det bruges til at verificere RPM-pakker.
  5. Forespørgsel: Det bruges til forespørgsel på enhver RPM-pakke.

Hvor finder du RPM-pakker

Nedenfor er listen over rpm-sider, hvor du kan finde og downloade alle RPM-pakker.

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

Læs også:

  1. 20 YUM kommandoeksempler i Linux
  2. 10 Wget-kommandoeksempler i Linux
  3. 30 mest nyttige Linux-kommandoer til systemadministratorer

Husk, at du skal være rootbruger, når du installerer pakker i Linux, med root-rettighederne kan du administrere rpm-kommandoer med deres passende muligheder.

1. Sådan kontrolleres en RPM-signaturpakke

Kontroller altid PGP-signaturen for pakker, inden du installerer dem på dine Linux-systemer, og sørg for, at dens integritet og oprindelse er OK. Brug følgende kommando med –checksig (check signatur) mulighed for at kontrollere signaturen til en pakke kaldet pidgin.

 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. Sådan installeres en RPM-pakke

Brug følgende kommando med -i-indstilling til installation af en rpm-softwarepakke. For eksempel at installere en rpm-pakke kaldet pidgin-2.7.9-5.el6.2.i686.rpm.

 rpm -ivh pidgin-2.7.9-5.el6.2.i686.rpm

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

  1. -i: installer en pakke
  2. -v: detaljeret til en pænere visning
  3. -h: udskriv hashmærker, når pakkearkivet er pakket ud.

3. Sådan kontrolleres afhængigheder af RPM-pakken inden installation

Lad os sige, at du gerne vil foretage en afhængighedskontrol, før du installerer eller opgraderer en pakke. Brug f.eks. Følgende kommando til at kontrollere afhængighederne af BitTorrent-5.2.2-1-Python2.4.noarch.rpm-pakken. Det viser listen over afhængigheder af pakken.

 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

  1. -q: Forespørgsel om en pakke
  2. -p: Listefunktioner, som denne pakke tilbyder.
  3. -R: Listefunktioner, som denne pakke afhænger af ..

4. Sådan installeres en RPM-pakke uden afhængigheder

Hvis du ved, at alle nødvendige pakker allerede er installeret, og RPM bare er dum, kan du ignorere disse afhængigheder ved at bruge indstillingen –nodeps (ingen afhængighedskontrol), før du installerer pakken.

 rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm

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

Ovenstående kommando installerer kraftigt rpm-pakken ved at ignorere afhængighedsfejl, men hvis disse afhængighedsfiler mangler, fungerer programmet slet ikke, før du installerer dem.

5. Sådan kontrolleres en installeret RPM-pakke

Brug af -q-indstillingen med pakkenavn viser, om en o/min er installeret eller ej.

 rpm -q BitTorrent

BitTorrent-5.2.2-1.noarch

6. Sådan vises en liste over alle filer i en installeret RPM-pakke

Hvis du vil se alle filerne i en installeret rpm-pakke, skal du bruge -ql (forespørgsleliste) med kommandoen rpm.

 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. Sådan vises en liste over nyligt installerede RPM-pakker

Brug følgende rpm-kommando med -qa (forespørgsel om alle) -funktion, viser alle de nyligt installerede rpm-pakker.

 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. Sådan vises alle installerede RPM-pakker

Skriv følgende kommando for at udskrive alle navnene på installerede pakker på dit Linux-system.

 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. Sådan opgraderes en RPM-pakke

Hvis vi vil opgradere en hvilken som helst RPM-pakke, anvendes “–U” (opgradering). En af de største fordele ved at bruge denne mulighed er, at den ikke kun opgraderer den nyeste version af enhver pakke, men den vil også opretholde sikkerhedskopien af den ældre pakke, så hvis den nyere opgraderede pakke ikke kører den tidligere installerede pakke kan bruges igen.

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

10. Sådan fjernes en RPM-pakke

For at afinstallere en RPM-pakke bruger vi for eksempel pakkenavnet nx, ikke det originale pakkenavn nx-3.5.0-2.el6.centos.i686.rpm. Indstillingen -e (sletning) bruges til at fjerne pakken.

 rpm -evv nx

11. Sådan fjernes en RPM-pakke uden afhængigheder

Indstillingen –nodeps (Kontroller ikke afhængigheder) fjerner rpm-pakken kraftigt fra systemet. Men husk at fjerne en bestemt pakke kan ødelægge andre arbejdsapplikationer.

 rpm -ev --nodeps vsftpd

12. Sådan forespørges en fil, der hører til hvilken RPM-pakke

Lad os sige, du har en liste over filer, og du vil gerne finde ud af, hvilken pakke der hører til disse filer. For eksempel viser følgende kommando med -qf (forespørgselsfil) dig, at en fil/usr/bin/htpasswd er egen efter pakken httpd-tools-2.2.15-15.el6.centos.1.i686.

 rpm -qf /usr/bin/htpasswd

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

13. Hvordan man forespørger om oplysninger om installeret RPM-pakke

Lad os sige, at du har installeret en rpm-pakke og vil vide oplysningerne om pakken. Følgende -qi (forespørgsel info) mulighed vil udskrive de tilgængelige oplysninger om den installerede pakke.

 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. Få oplysninger om RPM-pakken inden installation

Du har downloadet en pakke fra internettet og vil vide oplysningerne om en pakke, før du installerer. For eksempel vil følgende mulighed -qip (forespørgselsinfopakke) udskrive oplysningerne om en pakke sqlbuddy.

 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. Sådan forespørges dokumentation for installeret RPM-pakke

For at få listen over tilgængelig dokumentation for en installeret pakke skal du bruge følgende kommando med option -qdf (forespørgselsdokumentfil), der viser de manuelle sider relateret til vmstat-pakken.

 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. Sådan verificeres en RPM-pakke

Bekræftelse af en pakke sammenligner oplysninger om installerede filer i pakken med rpm-databasen. -Vp (verificer pakke) bruges til at verificere en pakke.

 rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm

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

17. Sådan verificeres alle RPM-pakker

Skriv følgende kommando for at kontrollere alle de installerede rpm-pakker.

 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. Sådan importeres en RPM GPG-nøgle

For at bekræfte RHEL/CentOS/Fedora-pakker skal du importere GPG-nøglen. For at gøre det skal du udføre følgende kommando. Det importerer CentOS 6 GPG-nøgle.

 rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

19. Sådan vises en liste over alle importerede RPM GPG-nøgler

Brug følgende kommando til at udskrive alle de importerede GPG-nøgler i dit system.

 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. Sådan genopbygges ødelagt RPM-database

Undertiden bliver rpm-databasen beskadiget og stopper al funktionaliteten af rpm og andre applikationer på systemet. Så på det tidspunkt skal vi genopbygge rpm-databasen og gendanne den ved hjælp af følgende kommando.

 cd /var/lib
 rm __db*
 rpm --rebuilddb
 rpmdb_verify Packages