20 exemples pràctics d'ordres RPM a Linux


RPM (Red Hat Package Manager) és un codi obert predeterminat i la utilitat de gestió de paquets més popular per a sistemes basats en Red Hat com (RHEL, CentOS i Fedora). L'eina permet als administradors i usuaris del sistema instal·lar, actualitzar, desinstal·lar, consultar, verificar i gestionar paquets de programari del sistema en sistemes operatius Unix/Linux. El fitxer RPM conegut anteriorment com a fitxer .rpm, que inclou programes de programari compilats i biblioteques que necessiten els paquets. Aquesta utilitat només funciona amb paquets construïts en format .rpm.

Aquest article ofereix alguns exemples útils d'ordres de 20 RPM que us poden ser útils. Amb l'ajuda d'aquestes ordres rpm, podeu instal·lar, actualitzar i eliminar paquets dels vostres sistemes Linux.

Alguns fets sobre RPM (Gestor de paquets RedHat)

  1. RPM és gratuït i es publica sota GPL (llicència pública general).
  2. RPM manté la informació de tots els paquets instal·lats a la base de dades /var/lib/rpm.
  3. RPM és l'única manera d'instal·lar paquets en sistemes Linux, si heu instal·lat paquets amb codi font, rpm no el gestionarà.
  4. RPM s'ocupa dels fitxers .rpm, que conté la informació real sobre els paquets, com ara: què és, d'on prové, informació de dependències, informació de versió, etc.

Hi ha cinc modes bàsics per a l'ordre RPM

  1. Instal·la: s'utilitza per instal·lar qualsevol paquet RPM.
  2. Elimina: s'utilitza per esborrar, eliminar o desinstal·lar qualsevol paquet RPM.
  3. Actualització: s'utilitza per actualitzar el paquet RPM existent.
  4. Verificar: s'utilitza per verificar un paquet RPM.
  5. Consulta: s'utilitza per consultar qualsevol paquet RPM.

On trobar paquets RPM

A continuació es mostra la llista de llocs RPM, on podeu trobar i descarregar tots els paquets RPM.

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

Llegeix també:

  1. 20 exemples d'ordres YUM a Linux
  2. 10 exemples d'ordres Wget a Linux
  3. 30 ordres Linux més útils per a administradors de sistemes

Recordeu que heu de ser usuari root quan instal·leu paquets a Linux, amb els privilegis root podeu gestionar les ordres rpm amb les seves opcions adequades.

1. Com comprovar un paquet de signatura RPM

Comproveu sempre la signatura PGP dels paquets abans d'instal·lar-los als vostres sistemes Linux i assegureu-vos que la seva integritat i origen siguin correctes. Utilitzeu l'ordre següent amb l'opció –checksig (comprova la signatura) per comprovar la signatura d'un paquet anomenat 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. Com instal·lar un paquet RPM

Per instal·lar un paquet de programari rpm, utilitzeu l'ordre següent amb l'opció -i. Per exemple, per instal·lar un paquet rpm anomenat 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 : instal·la un paquet
  2. -v : detallat per a una visualització més agradable
  3. -h: imprimeix les marques hash a mesura que l'arxiu de paquets es desempaqueta.

3. Com comprovar les dependències del paquet RPM abans d'instal·lar-lo

Suposem que voleu fer una comprovació de dependència abans d'instal·lar o actualitzar un paquet. Per exemple, utilitzeu l'ordre següent per comprovar les dependències del paquet BitTorrent-5.2.2-1-Python2.4.noarch.rpm. Mostrarà la llista de dependències del paquet.

 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 : consulta un paquet
  2. -p : llista les capacitats que ofereix aquest paquet.
  3. -R: llista les capacitats de les quals depèn aquest paquet...

4. Com instal·lar un paquet RPM sense dependències

Si sabeu que tots els paquets necessaris ja estan instal·lats i que RPM està sent estúpid, podeu ignorar aquestes dependències utilitzant l'opció –nodeps (no verificació de dependències) abans d'instal·lar el paquet.

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

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

L'ordre anterior instal·la força el paquet rpm ignorant els errors de dependències, però si falten aquests fitxers de dependència, el programa no funcionarà en absolut fins que no els instal·leu.

5. Com comprovar un paquet RPM instal·lat

Si feu servir l'opció -q amb el nom del paquet, es mostrarà si s'ha instal·lat un rpm o no.

 rpm -q BitTorrent

BitTorrent-5.2.2-1.noarch

6. Com llistar tots els fitxers d'un paquet RPM instal·lat

Per veure tots els fitxers d'un paquet rpm instal·lat, utilitzeu -ql (llista de consultes) amb l'ordre 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. Com llistar els paquets RPM instal·lats recentment

Utilitzeu l'ordre rpm següent amb l'opció -qa (consulta tot), llistarà tots els paquets rpm instal·lats recentment.

 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. Com llistar tots els paquets RPM instal·lats

Escriviu l'ordre següent per imprimir tots els noms dels paquets instal·lats al vostre sistema 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. Com actualitzar un paquet RPM

Si volem actualitzar qualsevol paquet RPM, s'utilitzarà l'opció “–U” (actualització). Un dels principals avantatges d'utilitzar aquesta opció és que no només actualitzarà l'última versió de qualsevol paquet, sinó que també mantindrà la còpia de seguretat del paquet anterior, de manera que en cas que el paquet actualitzat més recent no executi el paquet instal·lat anteriorment. es pot tornar a utilitzar.

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

10. Com eliminar un paquet RPM

Per desinstal·lar un paquet RPM, per exemple, utilitzem el nom del paquet nx, no el nom del paquet original nx-3.5.0-2.el6.centos.i686.rpm. L'opció -e (esborrar) s'utilitza per eliminar el paquet.

 rpm -evv nx

11. Com eliminar un paquet RPM sense dependències

L'opció –nodeps (No comproveu les dependències) elimina amb força el paquet rpm del sistema. Però tingueu en compte que eliminar un paquet determinat pot trencar altres aplicacions de treball.

 rpm -ev --nodeps vsftpd

12. Com consultar un fitxer que pertany a quin paquet RPM

Posem per cas que teniu una llista de fitxers i us agradaria saber quin paquet pertany a aquests fitxers. Per exemple, l'ordre següent amb l'opció -qf (fitxer de consulta) us mostrarà un fitxer /usr/bin/htpasswd propi del paquet 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. Com consultar una informació del paquet RPM instal·lat

Suposem que heu instal·lat un paquet rpm i voleu conèixer la informació sobre el paquet. La següent opció -qi (informació de consulta) imprimirà la informació disponible del paquet instal·lat.

 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. Obteniu la informació del paquet RPM abans d'instal·lar-lo

Heu descarregat un paquet d'Internet i voleu conèixer la informació d'un paquet abans d'instal·lar-lo. Per exemple, la següent opció -qip (paquet d'informació de consulta) imprimirà la informació d'un paquet 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. Com consultar la documentació del paquet RPM instal·lat

Per obtenir la llista de la documentació disponible d'un paquet instal·lat, utilitzeu l'ordre següent amb l'opció -qdf (fitxer de document de consulta) mostrarà les pàgines del manual relacionades amb el paquet 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. Com verificar un paquet RPM

La verificació d'un paquet compara la informació dels fitxers instal·lats del paquet amb la base de dades rpm. El -Vp (verificar paquet) s'utilitza per verificar un paquet.

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

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

17. Com verificar tots els paquets RPM

Escriviu l'ordre següent per verificar tots els paquets rpm instal·lats.

 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. Com importar una clau RPM GPG

Per verificar els paquets RHEL/CentOS/Fedora, heu d'importar la clau GPG. Per fer-ho, executeu l'ordre següent. Importarà la clau GPG de CentOS 6.

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

19. Com llistar totes les claus GPG RPM importades

Per imprimir totes les claus GPG importades al vostre sistema, utilitzeu l'ordre següent.

 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. Com reconstruir la base de dades RPM danyada

De vegades, la base de dades rpm es corromp i atura tota la funcionalitat de rpm i altres aplicacions del sistema. Per tant, en aquest moment hem de reconstruir la base de dades rpm i restaurar-la amb l'ajuda de la següent comanda.

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