IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Actualment RPM vol dir RPM Package Manager (acrònim recursiu com GNU). Originalment anomenat Red Hat Package Manager.

RPM és una eina d'administració de paquets GNU/Linux capaç d'instal·lar, actualitzar, desinstal·lar, verificar i sol·licitar programes.

RPM és el format de paquet de Linux Standard Base (LSB).

Originalment va ser desenvolupat per a Red Hat i en l'actualitat moltes distribucions GNU/Linux l'utilitzen: Fedora Linux, Mandriva Linux, SuSE Linux.

Nom dels paquets rpm

Els noms de paquet RPM tenen la següents forma:

  • Nom del programari
  • Versió del programari
  • La versió del paquet

La sintaxi és:

<name>-<version>-<release>.<architecture>.rpm

Per exemple:

nano-0.98-2.i386.rpm

Paquet

L'ordre rpm es proporcionada pel paquet del mateix nom:

$ whereis rpm
rpm: /bin/rpm /etc/rpm /usr/lib/rpm ...
$ rpm -qf /bin/rpm
rpm-4.7.0-1.fc11.i586

Exemples

Instal·la un paquet

Per instal·lar un paquet:

$ sudo rpm -ivh paquet.rpm

On:

  • i: instal·la el paquet
  • v: opció verbose
  • -h: Mostra els hashes


Tornar a instal·lar un paquet

$ sudo rpm -ivh --force paquet.rpm

Desinstal·la un paquet

$ sudo rpm -e nom_paquet

Actualitzar un paquet ja instal·lat

S'actualitza a partir del fitxer rpm:

$ sudo rpm -U paquet.rpm

Mostrar tots els paquets del sistema

$ rpm -qa
gnome-python2-2.26.1-1.fc11.i586
libdv-1.0.0-7.fc11.i586
ConsoleKit-0.3.0-8.fc11.i586
dejavu-fonts-common-2.29-2.fc11.noarch
python-slip-dbus-0.1.15-3.fc11.noarch
...

Mostrar els continguts (fitxers) d'un paquet

Si el paquet NO està instal·lat:

$ rpm -qlp nom_paquet

Si el paquet està instal·lat:

 $ rpm -ql nom_paquet

Per exemple:

$ sudo rpm -ql upstart
/etc/event.d
/etc/event.d/logd
/sbin/halt
/sbin/init
/sbin/initctl
/sbin/logd
/sbin/poweroff
/sbin/reboot
/sbin/runlevel
/sbin/shutdown
/sbin/start
/sbin/status
/sbin/stop
/sbin/telinit
/usr/share/doc/upstart-0.3.9
/usr/share/doc/upstart-0.3.9/AUTHORS
/usr/share/doc/upstart-0.3.9/COPYING
/usr/share/doc/upstart-0.3.9/HACKING
/usr/share/doc/upstart-0.3.9/NEWS
/usr/share/doc/upstart-0.3.9/README
/usr/share/doc/upstart-0.3.9/TODO
/usr/share/locale/ca/LC_MESSAGES/upstart.mo
/usr/share/locale/en@boldquot/LC_MESSAGES/upstart.mo
/usr/share/locale/en@quot/LC_MESSAGES/upstart.mo
/usr/share/locale/fr/LC_MESSAGES/upstart.mo
/usr/share/locale/sv/LC_MESSAGES/upstart.mo
/usr/share/man/man5/events.5.gz
/usr/share/man/man8/halt.8.gz
/usr/share/man/man8/init.8.gz
/usr/share/man/man8/initctl.8.gz
/usr/share/man/man8/logd.8.gz
/usr/share/man/man8/poweroff.8.gz
/usr/share/man/man8/reboot.8.gz
/usr/share/man/man8/runlevel.8.gz
/usr/share/man/man8/shutdown.8.gz
/usr/share/man/man8/start.8.gz
/usr/share/man/man8/status.8.gz
/usr/share/man/man8/stop.8.gz
/usr/share/man/man8/telinit.8.gz

Per a sistemes Debian vegeu:

Mostrar els continguts d'un fitxer paquet

$ rpm -qpl {file.rpm}

Mostrar les dependències d'un paquet

$ rpm -q --whatrequires upstart
vpnc-0.5.3-3.fc11.i586
initscripts-8.95-1.i586
readahead-1.4.9-1.fc11.i586 


Comprovar la integritat dels paquets (checksum)

Es pot comprovar la integritat de tot el sistema amb:

$ sudo rpm -Va

També es pot comprovar només la integritat d'un paquet amb:

$ sudo rpm -V nmap

Per a sistemes Debian, vegeu el paquet debsums.

Mostrar informació sobre un paquet instal·lat

$ rpm -qi nmap
Name        : nmap                         Relocations: (not relocatable)
Version     : 5.00                              Vendor: Fedora Project
Release     : 1.fc11                        Build Date: dl 20 jul 2009 08:36:56 CEST
Install Date: ds 05 set 2009 14:26:04 CEST      Build Host: x86-6.fedora.phx.redhat.com
Group       : Applications/System           Source RPM: nmap-5.00-1.fc11.src.rpm
Size        : 5838679                          License: GPLv2
Signature   : RSA/8, dl 20 jul 2009 13:54:10 CEST, Key ID 1dc5c758d22e77f2
Packager    : Fedora Project
URL         : http://nmap.org/
Summary     : Network exploration tool and security scanner
Description :
Nmap is a utility for network exploration or security auditing.  It supports
ping scanning (determine which hosts are up), many port scanning techniques
(determine what services the hosts are offering), and TCP/IP fingerprinting
(remote host operating system identification). Nmap also offers flexible target
and port specification, decoy scanning, determination of TCP sequence
predictability characteristics, reverse-identd scanning, and more.

Mostrar informació d'un fitxer paquet

$ rpm -qpi {file.rpm}

Mostrar el canvis d'un paquet (changelog)

$ rpm -q -changelog nom_paquet

Per exemple:

$ rpm -q -changelog upstart | more
* dl abr 27 2009 Bill Nottingham <notting@redhat.com> - 0.3.9-24
- Apply the audit patch correctly (#470661)

* dv abr 03 2009 Casey Dahlin <cdahlin@redhat.com> - 0.3.9-23
- Add audit events patch from Steve Grubb <sgrubb@redhat.com> (Bug #470661) 

* dv gen 23 2009 Casey Dahlin <cdahlin@redhat.com> - 0.3.9-22
- Re-add 'telinit u' support along with patch to fix it (#450488). Patch due to
  <pspencer@fields.utoronto.ca>

Importar una clau

$ su -c "rpm --import ftp://ftp.links2linux.de/pub/packman/public-keys.asc"

Cercar quin paquet ens proporciona un fitxer o ordre

Permet cercar quin paquet ens ha proporcionat un fitxer

> whereis fdisk
fdisk: /sbin/fdisk /usr/share/man/man8/fdisk.8.gz
> rpm -qf /sbin/fdisk 
util-linux-2.14.1-10.2.1

És l'equivalent a:

$ dpkg -S

en sistemes Debian

Bases de dades de paquets

La trobareu en local a /var/lib/rpm. És una base de dades en format Berkeley DB que conté tota la metainformació del paquets rpm. Aquesta base de dades enregistra totes les operacions realitzades amb l'ordre rpm.

Si la base de dades esdevé corrupte (per un error en alguna aplicació) la base de dades es pot tornar a crear amb:

$ sudo rpm --rebuilddb

RPM versus dpkg

Vegeu la taula comparativa entre RPM i dpkg a:

Taula comparativa comandes RPM i dpkg

rpm2cpio

Segons el manual:

$ man rpm2cpio
...
   rpm2cpio  converts  the .rpm file specified as a single argument to a cpio archive on standard out. If a ’-’ argument is given, an rpm
       stream is read from standard in.

és una eina que serveix per convertir un fitxer rpm a format cpio:

$ yumdownloader nmap
$ rpm2cpio nmap-5.00-1.fc11.i586.rpm  > nmap.cpio

o

rpm2cpio - < nmap-5.00-1.fc11.i586.rpm > nmap.cpio

Vegeu també

Enllaços externs