Para onde vão os RPMs instalados?

27

Eu baixa e instalo pacotes na minha máquina Red Hat Enterprise Linux Server 6 usando o gerenciador de pacotes YUM no modo de linha de comando.

Quando instalo arquivos apk no meu telefone Android , eles vão para o /data/appdiretório, eu me pergunto onde o RHEL6 mantém seus arquivos rpm instalados .

easl
fonte

Respostas:

26

O Yum mantém um cache dos RPMs baixados aqui:

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

Por exemplo, minha caixa é a arquitetura Fedora 14, x86_64, então eu tenho o seguinte:

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

Mas os RPMs instalados são basicamente como um arquivo zip ou tar. Portanto, o conteúdo desses arquivos é despejado no sistema e o RPM mantém um banco de dados de quais pacotes foram instalados. O "banco de dados" do RPM está localizado neste diretório:

$ 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

Você pode ver onde os arquivos são instalados por cada RPM com esses comandos.

quais arquivos estão em um 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
...
...

informações do pacote sobre um determinado RPM

$ 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
fonte
Deus, foi tão difícil para mim entender! porque como exemplo você deu o rpm;) então, se você quiser ver onde estão os arquivos instalados, digamos que o pacote java-11-openjdk-src , você use o rpm -ql java-11-openjdk-src;)
Line
11
@Line - desculpe por isso, o RPM também é um pacote legítimo. Também é seguro porque todo mundo tem, essa é a principal razão pela qual eu escolhi.
slm
11
Eu entendo, era apenas confuso, porque eu não sabia disso. Espero que o elogio acima ajude se alguém sem esse conhecimento der uma olhada nisso;)
Line
12

Os arquivos rpm são baixados e instalados. Depois que esses arquivos são instalados, eles são rastreados pelo banco de dados rpm. Para ver onde os arquivos de uma rpm específica foram instalados, você pode executar rpm -ql.

Por exemplo

[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

Mostra os dez primeiros arquivos instalados pelo bash rpm. Dito isto, o rpms também contém scripts pré e pós e alguns pacotes mal construídos podem soltar arquivos que não seriam rastreados no banco de dados rpm.

Se não era isso que você estava perguntando, yumpode armazenar em cache rpms ao fazer o download de uma instalação. Tente dar uma olhada /var/cache/yum/- mas isso só se aplica se você tiver keepcache=1definido o seu /etc/yum.conf.

zje
fonte
+1 a zje por mencionar sobre a configuração keepcache = 1. Se keepcache = 0, os pacotes não estarão presentes em / var / cache / yum / #
Binita Bharati