¿A dónde van los RPM instalados?

27

Descargo e instalo paquetes en mi máquina Red Hat Enterprise Linux Server 6 usando el administrador de paquetes YUM en modo de línea de comandos.

Cuando instalo archivos apk en mi teléfono Android , van al /data/appdirectorio, me pregunto dónde guarda RHEL6 sus archivos rpm instalados .

easl
fuente

Respuestas:

26

Yum mantiene un caché de los RPM que descarga aquí:

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

Por ejemplo, mi caja es Fedora 14, arquitectura x86_64, así que tengo lo siguiente:

$ 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
...
...

Pero los RPM que se instalan son básicamente como un archivo zip o tar. Entonces, el contenido de estos archivos se vierte en el sistema y RPM mantiene una base de datos de los paquetes que ha instalado. La "base de datos" RPM se encuentra en este directorio:

$ 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

Puede ver dónde se instalan los archivos por cada RPM con estos comandos.

qué archivos están en un RPM instalado

$ 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
...
...

información del paquete sobre un RPM dado

$ 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
fuente
¡Dios mío, fue tan difícil para mí entender! porque como ejemplo le diste rpm;) entonces, si quieres ver, dónde están instalados los archivos para el paquete java-11-openjdk-src , usa rpm -ql java-11-openjdk-src;)
Línea
1
@Line: lo siento, RPM es un paquete legítimo también. También es seguro porque todos lo tienen, esa es la razón principal por la que lo elegí.
slm
1
Entiendo, fue confuso, porque no sabía esa cosa. Espero que el elogio anterior ayude si alguien sin ese conocimiento echa un vistazo a esto;)
Línea
12

Los archivos rpm se descargan y luego se instalan. Una vez que estos archivos están instalados, la base de datos rpm los rastrea. Para ver dónde se instalaron los archivos para un rpm en particular, puede ejecutar rpm -ql.

P.ej

[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

Muestra los primeros diez archivos instalados por bash rpm. Dicho esto, los rpms también contienen scripts previos y posteriores y algunos paquetes mal construidos pueden soltar archivos que no serían rastreados en la base de datos rpm.

Si eso no era lo que estaba preguntando, yumpuede almacenar en caché rpms al descargar para una instalación. Intenta mirar alrededor /var/cache/yum/, pero esto solo se aplica si has keepcache=1configurado tu /etc/yum.conf.

zje
fuente
+1 a zje por mencionar la configuración de keepcache = 1. Si keepcache = 0, los paquetes no estarán presentes en / var / cache / yum /
Binita Bharati