Rpm

From OLPC

'rpm' is a command-line utility for downloading, installing, and managing software packages that you run in the Terminal Activity. It is generally better to install packages via the yum utility, but not all software is available this way, so sometimes 'rpm' is the best option. If you are using 'rpm' to download software, the XO will need Wifi_Connectivity.

Querying installed packages

rpm is useful to determine what software is installed on the XO, and why.

rpm -q package

displays information about a package, but you have to know the package. You can query for all packages and search the output for a string:

rpm -qa | grep part

Then you can use rpm -q to query for information about a package, useful options to querying are -i, -l, --requires etc.

Example

There's a libpoppler library for PDF handling, is it on the XO, and what software uses it?

rpm -qa | grep poppler
poppler-0.6.2.5.olpc3.i386
rpm -q --whatrequires poppler
no package requires poppler
Let's see if anything depends on its filesrpm -q -l poppler
/usr/lib/libpoppler-glib.so.2
...
...
rpm -q --whatrequires libpoppler-glib.so.2
poppler-0.6.2-5.olpc3.i386
sugar-evince-2.20..1-3.olpc3.i386
rpm -qi sugar-evince
...
Summary : Document viewer
Description:
evince is a GNOME-based document viewer. This is the version developed for
OLPC. It is built as a library to support embedding.

Installing a package

Generally, you can install a package with 'rpm' like this:

sudo rpm -ivh 'desired_software_package.rpm'

That is, you use sudo to run a command as "superuser" (or "root"), and the command is 'rpm' to install the software. Note the single-quote characters (') around the filename. They are optional, but may be needed if the filename contains spaces or unusual characters.

You can also use 'rpm' to both download and install the software package in one step: