インストールされたRPMはどこにありますか?


27

コマンドラインモードでYUMパッケージマネージャーを使用して、Red Hat Enterprise Linux Server 6マシンにパッケージをダウンロードしてインストールします。

Androidの携帯電話にapkファイルをインストールすると、ディレクトリに移動しますが、RHEL6がインストールされたrpmファイルをどこに保持するのでしょうか。/data/app

回答:


26

Yumは、ダウンロードしたRPMのキャッシュをここに保持します。

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

たとえば、私のボックスはFedora 14、x86_64アーキテクチャなので、次のものがあります。

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

しかし、インストールされるRPMは基本的にzipまたはtarファイルのようなものです。したがって、これらのファイルの内容はシステムにダンプされ、RPMはインストールされているパッケージのデータベースを維持します。RPMの「データベース」は次のディレクトリにあります。

$ 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

これらのコマンドを使用して、各RPMごとにファイルがインストールされる場所を確認できます。

インストールされたRPMに含まれるファイル

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

特定の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.

まあ、私には理解するのがとても難しかったです!たとえば、rpm;)を指定したため、たとえば、java-11-openjdk-srcパッケージのインストールファイルの場所を確認したい場合は、rpmを使用します-ql java-11-openjdk-src;)

1
@Line-ごめんなさい、RPMも合法的なパッケージです。誰もが持っているb / cも安全です。それが私が選んだ主な理由です。
slm

1
私はそのことを知らなかったので、それはただ混乱しているだけだと理解しています。その知識がなくても、誰もがこれを見て取る場合は、上記の称賛に役立つことを願っています。)
ライン

12

rpmファイル自体がダウンロードされ、インストールされます。これらのファイルがインストールされると、rpmデータベースによって追跡されます。特定のrpmのファイルがインストールされている場所を確認するには、を実行できますrpm -ql

例えば

[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

bash rpmによってインストールされた最初の10個のファイルを表示します。そうは言っても、rpmには事前および事後スクリプトが含まれており、一部の貧弱に構築されたパッケージは、rpmデータベースで追跡されないファイルをドロップする可能性があります。

それがあなたが求めていたものではなかった場合yum、インストールのためにダウンロードするときにrpmをキャッシュできます。周りを見てみてください/var/cache/yum/-しかし、これはあなたがにkeepcache=1設定した場合にのみ適用されます/etc/yum.conf


keepcache = 1の設定について言及する場合は、zjeに+1してください。keepcache = 0の場合、パッケージは/ var / cache / yum /に存在しません
Binita Bharati
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.