$ rpm2cpio gnome-applet-gvid-0.3-1.i386.rpm > gnome-applet.cpio

You can then use cpio to examine or install the archive. Note that rpm2cpio removes the gzip compression on the archive contents, so the resulting file is larger than the original RPM file. If you want to extract a specific file from the archive, you can use the cpio command. However, this is not a good way to install the file, since none of the scripts and other install-time actions will be performed:

$ rpm2cpio gnome-applet-gvid-0.3- 1.i386.rpm | cpio -idv

5.1.3.2. ...a damaged RPM database?

Use rpm with the -- rebuilddb option to recover from most forms of database corruption (this can take a while to run). You will need to run it as root :

# rpm --rebuilddb

5.1.4. Where Can I Learn More?

? Maximum RPM (an online book about the RPM systemsomewhat out of date but still useful), Chapter 5 : http://www.rpm.org/max-rpm-snapshot/

? The RPM web site: http://www.rpm.org

? The manpages for rpm and cpio

5.2. Installing and Removing Software Using RPM

In addition to queries, rpm performs package installation, updating, and removal. As well as copying files to the correct locations (or deleting them), rpm checks file integrity, sets permissions, backs up configuration files, and executes scripts within the affected package and other packages that have asked to be notified of changes (trigger scripts). These scripts can in turn start or stop services, modify configuration files, or perform other operations.

5.2.1. How Do I Do That?

rpm provides four options for installing, upgrading, and removing software:

-i package_file

Installs a package that is not currently installed.

-U package_file

Upgrades an existing package version, or installs the package if it is not currently installed.

-F package_file

Freshens an existing installation of the package by upgrading the version. If the package is not currently installed, it remains uninstalled.

-e package

Erases the installed package. Unlike the other options, -e requires a package name ( httpd ), not a package filename ( httpd-2.0.54-10.i386.rpm ).

All of these operations must be performed as the root user (unlike queries, which may be performed by anyone). This prevents unwanted software, such as viruses and worms, from being installed in the normal course of activities.

To perform a basic installation of a package, use the -i option and supply the name of a package file:

# rpm -i httpd-2.0.54- 10.i386.rpm

To upgrade the package:

# rpm -U httpd-2.0.62- 3.i386.rpm

In this case, the upgrade would succeed even if httpd package weren't already present on the system; it would be installed.

To remove the package:

# rpm -e httpd

Note that in this case, only the package name is given, not a package filename.

No additional arguments are needed if the installation or removal does not affect any other packages, but frequently a package to be installed will depend on other packages:

# rpm -i ogle-0.9.2- 1.1.fr.i386.rpm

error: Failed dependencies:

 libdvdread >= 0.9.4 is needed by ogle-0.9.2-1.1.fr.i386

 libdvdread.so.3 is needed by ogle-0.9.2-1.1.fr.i386

 libmad.so.0 is needed by ogle-0.9.2-1.1.fr.i386

Likewise, when removing a package, other packages can depend on that package:

# rpm -e httpd

error: Failed dependencies:

 httpd-mmn = 20020903 is needed by (installed) mod_auth_kerb-5.0-6.i386

 httpd-mmn = 20020903 is needed by (installed) mod_auth_mysql-2.6.1-4.i386

...(Lines snipped)...

 httpd = 2.0.54-10.2 is needed by (installed) mod_ssl-2.0.54-10.2.i386

 httpd is needed by (installed) squirrelmail-1.4.6-0.cvs20050812.1.fc4.noarch

Вы читаете Fedora Linux
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату