Où vont les RPM installés?

27

Je télécharge et installe des packages sur ma machine Red Hat Enterprise Linux Server 6 à l'aide du gestionnaire de packages YUM en mode ligne de commande.

Lorsque j'installe des fichiers apk sur mon téléphone Android , ils vont dans le /data/apprépertoire, je me demande où RHEL6 conserve ses fichiers rpm installés ?

Easl
la source

Réponses:

26

Yum maintient un cache des RPM qu'il télécharge ici:

/var/cache/yum/<you architecture>/<OS version>/

Par exemple, ma boîte est Fedora 14, architecture x86_64, j'ai donc les éléments suivants:

$ ls /var/cache/yum/x86_64/14/
adobe-linux-i386        lamolabs                                  rpmfusion-nonfree
adobe-linux-x86_64      lamolabs-noarch                           rpmfusion-nonfree-debuginfo
Dropbox                 nautilus-flickr-uploader                  rpmfusion-nonfree-rawhide-debuginfo
fedora                  qm                                        rpmfusion-nonfree-source
...
...

Mais les RPM qui sont installés sont essentiellement comme un fichier zip ou tar. Ainsi, le contenu de ces fichiers est vidé dans le système et RPM maintient une base de données des packages qu'il a installés. La "base de données" RPM se trouve dans ce répertoire:

$ ls /var/lib/rpm
Basenames     __db.002  Dirnames     Installtid    Packages        Pubkeys         Sha1header
Conflictname  __db.003  Filedigests  Name          Providename     Requirename     Sigmd5
__db.001      __db.004  Group        Obsoletename  Provideversion  Requireversion  Triggername

Vous pouvez voir où les fichiers sont installés pour chaque RPM avec ces commandes.

quels fichiers sont dans un RPM installé

$ rpm -ql rpm
/bin/rpm
/etc/rpm
/usr/bin/rpm2cpio
/usr/bin/rpmdb
/usr/bin/rpmquery
/usr/bin/rpmsign
/usr/bin/rpmverify
/usr/lib/rpm
/usr/lib/rpm/macros
/usr/lib/rpm/platform
/usr/lib/rpm/platform/amd64-linux
...
...

informations sur le package d'un RPM donné

$ rpm -qi rpm
Name        : rpm                          Relocations: (not relocatable)
Version     : 4.8.1                             Vendor: Fedora Project
Release     : 7.fc14                        Build Date: Tue 04 Oct 2011 03:49:08 AM EDT
Install Date: Tue 25 Oct 2011 09:36:34 AM EDT      Build Host: x86-05.phx2.fedoraproject.org
Group       : System Environment/Base       Source RPM: rpm-4.8.1-7.fc14.src.rpm
Size        : 2035701                          License: GPLv2+
Signature   : RSA/SHA256, Tue 04 Oct 2011 12:14:48 PM EDT, Key ID 421caddb97a1071f
Packager    : Fedora Project
URL         : http://www.rpm.org/
Summary     : The RPM package management system
Description :
The RPM Package Manager (RPM) is a powerful command line driven
package management system capable of installing, uninstalling,
verifying, querying, and updating software packages. Each software
package consists of an archive of files along with information about
the package like its version, a description, etc.
slm
la source
ça alors, c'était tellement difficile pour moi de comprendre! parce que comme exemple vous avez donné rpm;) donc, si vous voulez voir, où sont les fichiers installés pour disons le paquet java-11-openjdk-src , vous utilisez rpm -ql java-11-openjdk-src;)
Ligne
1
@Line - désolé, RPM est également un package légitime. Il est également sûr car tout le monde l'a, c'est la principale raison pour laquelle je l'ai choisi.
slm
1
Je comprends, c'était juste déroutant, parce que je ne savais pas cette chose. J'espère que la recommandation ci-dessus aidera si quelqu'un sans cette connaissance examinera cela;)
Ligne
12

Les fichiers rpm eux-mêmes sont téléchargés puis installés. Une fois ces fichiers installés, ils sont suivis par la base de données rpm. Pour voir où les fichiers d'un rpm particulier ont été installés, vous pouvez exécuter rpm -ql.

Par exemple

[z@localhost ~]# rpm -ql bash |head
/bin/bash
/bin/sh
/etc/skel/.bash_logout
/etc/skel/.bash_profile
/etc/skel/.bashrc
/usr/bin/bashbug-64
/usr/share/doc/bash-4.1.2/COPYING
/usr/share/info/bash.info.gz
/usr/share/locale/af/LC_MESSAGES/bash.mo
/usr/share/locale/bg/LC_MESSAGES/bash.mo

Affiche les dix premiers fichiers installés par le bash rpm. Cela étant dit, les rpms contiennent également des scripts pré et post et certains packages mal construits peuvent supprimer des fichiers qui ne seraient pas suivis dans la base de données rpm.

Si ce n'était pas ce que vous demandiez, yumpeut mettre en cache les rpms lors du téléchargement pour une installation. Essayez de regarder autour /var/cache/yum/- mais cela ne s'applique que si vous avez keepcache=1installé votre /etc/yum.conf.

zje
la source
+1 à zje pour avoir mentionné la configuration de keepcache = 1. Si keepcache = 0, alors les packages ne seront pas présents sous / var / cache / yum /
Binita Bharati