20 Praktični primeri ukazov RPM v Linuxu


RPM (Red Hat Package Manager) je privzeti odprtokodni in najbolj priljubljen pripomoček za upravljanje paketov za sisteme, ki temeljijo na Red Hat, kot so (RHEL, CentOS in Fedora). Orodje sistemskim skrbnikom in uporabnikom omogoča namestitev, posodabljanje, odstranjevanje, poizvedovanje, preverjanje in upravljanje sistemskih paketov programske opreme v operacijskih sistemih Unix/Linux. RPM, prej znana kot .rpm datoteka, ki vključuje prevedeno programsko opremo in knjižnice, ki jih potrebujejo paketi. Ta pripomoček deluje samo s paketi, ki temeljijo na formatu .rpm.

Ta članek vsebuje nekaj uporabnih primerov ukazov za 20 vrtljajev na minuto, ki so vam lahko v pomoč. S pomočjo tega ukaza rpm vam je uspelo namestiti, posodobiti in odstraniti pakete v vaših sistemih Linux.

Nekaj dejstev o RPM (RedHat Package Manager)

  1. RPM je brezplačen in objavljen pod GPL (General Public License).
  2. RPM hrani podatke o vseh nameščenih paketih v zbirki podatkov/var/lib/rpm.
  3. RPM je edini način namestitve paketov v sistemih Linux. Če ste pakete namestili z izvorno kodo, ga rpm ne bo upravljal.
  4. RPM obravnava datoteke .rpm, ki vsebujejo dejanske informacije o paketih, kot so: kaj je, od kod prihaja, informacije o odvisnostih, informacije o različici itd.

Obstaja pet osnovnih načinov za ukaz RPM

  1. Namesti: Uporablja se za namestitev katerega koli paketa RPM.
  2. Odstrani: Uporablja se za brisanje, odstranjevanje ali odstranjevanje katerega koli paketa RPM.
  3. Nadgradnja: Uporablja se za posodobitev obstoječega paketa RPM.
  4. Preveri: Uporablja se za preverjanje paketov RPM.
  5. Poizvedba: Uporablja se za poizvedbe v katerem koli paketu RPM.

Kje najti pakete RPM

Spodaj je seznam rpm mest, kjer lahko najdete in prenesete vse pakete RPM.

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

Preberite tudi:

  1. 20 primerov ukazov YUM v Linuxu
  2. 10 primerov ukazov Wget v Linuxu
  3. 30 najbolj uporabnih ukazov za sistemske skrbnike Linuxa

Ne pozabite, da morate biti pri nameščanju paketov v Linux korenski uporabnik, s korenskimi privilegiji lahko upravljate ukaze rpm z ustreznimi možnostmi.

1. Kako preveriti paket podpisov RPM

Pred namestitvijo paketov v svoje sisteme Linux vedno preverite podpis PGP in se prepričajte, da sta njegova celovitost in izvor v redu. Z naslednjim ukazom z možnostjo –checksig (preveri podpis) preverite podpis paketa, imenovanega 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. Kako namestiti paket RPM

Za namestitev programskega paketa rpm uporabite naslednji ukaz z možnostjo -i. Na primer za namestitev paketa vrtljajev v minuti, imenovanega 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: namestite paket
  2. -v: podrobno za lepši prikaz
  3. -h: natisnite zgoščene oznake, ko je arhiv paketov razpakiran.

3. Kako preveriti odvisnosti paketa RPM pred namestitvijo

Recimo, da želite pred namestitvijo ali nadgradnjo paketa preveriti odvisnost. Na primer z naslednjim ukazom preverite odvisnosti paketa BitTorrent-5.2.2-1-Python2.4.noarch.rpm. Prikazal bo seznam odvisnosti paketa.

 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: Poizvedite paket
  2. -p: Seznam zmogljivosti, ki jih ponuja ta paket.
  3. -R: Seznam zmogljivosti, od katerih je odvisen ta paket ..

4. Kako namestiti paket RPM brez odvisnosti

Če veste, da so vsi potrebni paketi že nameščeni in je RPM samo neumen, lahko te odvisnosti prezrete tako, da pred namestitvijo paketa uporabite možnost –nodeps (brez preverjanja odvisnosti).

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

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

Zgornji ukaz prisilno namesti paket rpm z ignoriranjem napak odvisnosti, če pa te datoteke odvisnosti manjkajo, program sploh ne bo deloval, dokler jih ne namestite.

5. Kako preveriti nameščen paket RPM

Z uporabo možnosti -q z imenom paketa bo prikazano, ali je število vrtljajev na minuto nameščeno ali ne.

 rpm -q BitTorrent

BitTorrent-5.2.2-1.noarch

6. Kako našteti vse datoteke nameščenega paketa RPM

Če si želite ogledati vse datoteke nameščenih paketov rpm, uporabite -ql (seznam poizvedb) z ukazom 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. Kako seznam nedavno nameščenih paketov RPM

Uporabite naslednji ukaz rpm z možnostjo -qa (poizvedi vse), v katerem bodo navedeni vsi nedavno nameščeni paketi rpm.

 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. Kako seznam vseh nameščenih paketov RPM

Vnesite naslednji ukaz, da natisnete vsa imena nameščenih paketov v vašem sistemu Linux.

 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. Kako nadgraditi paket RPM

Če želimo nadgraditi kateri koli paket RPM, bo uporabljena možnost – –U (nadgradnja). Ena glavnih prednosti uporabe te možnosti je, da ne bo le nadgradila najnovejše različice katerega koli paketa, temveč bo ohranila tudi varnostno kopijo starejšega paketa, tako da v primeru, če novejši nadgrajeni paket ne bo zagnal prej nameščenega se lahko ponovno uporabi.

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

10. Kako odstraniti paket RPM

Za odstranitev paketa RPM, na primer, uporabimo ime paketa nx, ne prvotno ime paketa nx-3.5.0-2.el6.centos.i686.rpm. Možnost -e (brisanje) se uporablja za odstranjevanje paketa.

 rpm -evv nx

11. Kako odstraniti paket RPM brez odvisnosti

Možnost –nodeps (Ne preverjaj odvisnosti) na silo odstrani paket rpm iz sistema. Upoštevajte, da odstranitev določenega paketa lahko pokvari druge delujoče programe.

 rpm -ev --nodeps vsftpd

12. Kako povprašati po datoteki, ki pripada kateremu paketu RPM

Recimo, da imate seznam datotek in bi radi ugotovili, kateri paket pripada tem datotekam. Na primer, naslednja možnost ukaza z -qf (datoteka poizvedbe) vam bo pokazala, da je datoteka/usr/bin/htpasswd last paket 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. Kako povprašati po informacijah o nameščenem paketu RPM

Recimo, da ste namestili paket rpm in želite vedeti informacije o paketu. Naslednja možnost -qi (informacije o poizvedbi) bo natisnila razpoložljive informacije nameščenega paketa.

 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. Pred namestitvijo pridobite informacije o paketu RPM

Paket ste prenesli z interneta in želite pred namestitvijo vedeti informacije o paketu. Na primer, naslednja možnost -qip (paket informacij o poizvedbi) bo natisnila podatke o paketu 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. Kako povprašati po dokumentaciji nameščenega paketa RPM

Če želite dobiti seznam razpoložljive dokumentacije nameščenega paketa, uporabite naslednji ukaz z možnostjo -qdf (datoteka poizvedbe dokumenta) bo prikazala strani z navodili, povezane s paketom vmstat.

 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. Kako preveriti paket RPM

Preverjanje paketa primerja informacije o nameščenih datotekah paketa z bazo podatkov rpm. -Vp (preveri paket) se uporablja za preverjanje paketa.

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

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

17. Kako preveriti vse pakete RPM

Vnesite naslednji ukaz, da preverite vse nameščene pakete rpm.

 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. Kako uvoziti RPM GPG ključ

Če želite preveriti pakete RHEL/CentOS/Fedora, morate uvoziti ključ GPG. Če želite to narediti, izvedite naslednji ukaz. Uvozil bo ključ CentOS 6 GPG.

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

19. Kako seznam vseh uvoženih RPM GPG ključev

Če želite v sistem natisniti vse uvožene ključe GPG, uporabite naslednji ukaz.

 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. Kako obnoviti poškodovano bazo podatkov RPM

Včasih se baza podatkov rpm poškoduje in ustavi vse funkcije rpm in drugih aplikacij v sistemu. Torej, takrat moramo obnoviti bazo podatkov rpm in jo obnoviti s pomočjo naslednjega ukaza.

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