Kemana RPM yang terinstal pergi?

27

Saya mengunduh dan menginstal paket pada mesin Red Hat Enterprise Linux Server 6 menggunakan manajer paket YUM dalam mode baris perintah.

Ketika saya menginstal file apk di ponsel Android saya , mereka pergi ke /data/appdirektori, saya bertanya-tanya di mana RHEL6 menyimpan file rpm yang diinstal ?

mudah
sumber

Jawaban:

26

Yum menyimpan cache dari RPM yang diunduh di sini:

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

Misalnya kotak saya adalah Fedora 14, arsitektur x86_64 jadi saya punya yang berikut:

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

Tetapi RPM yang diinstal pada dasarnya seperti file zip atau tar. Jadi isi file-file ini dibuang ke sistem dan RPM memelihara database dari paket apa yang telah diinstal. RPM "database" terletak di direktori ini:

$ 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

Anda dapat melihat di mana file diinstal per setiap RPM dengan perintah ini.

file apa yang ada dalam RPM yang terinstal

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

paket info tentang RPM yang diberikan

$ 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
sumber
Astaga, sangat sulit bagiku untuk mengerti! karena sebagai contoh Anda memberi rpm;) jadi, jika Anda ingin melihat, di mana file diinstal untuk katakanlah paket java-11-openjdk-src , Anda menggunakan rpm -ql java-11-openjdk-src;)
Line
1
@ Baris - maaf tentang itu, RPM adalah paket yang sah juga. Ini juga aman, tapi semua orang memilikinya, itulah alasan utama saya mengambilnya.
slm
1
Saya mengerti, itu hanya membingungkan, karena saya tidak tahu hal itu. Semoga pujian di atas akan membantu jika orang yang tidak memiliki pengetahuan akan melihat ini;)
Baris
12

File-file rpm sendiri diunduh dan kemudian diinstal. Setelah file-file ini diinstal, mereka dilacak oleh database rpm. Untuk melihat di mana file untuk rpm tertentu diinstal, Anda dapat menjalankan rpm -ql.

Misalnya

[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

Menunjukkan sepuluh file pertama yang diinstal oleh bash rpm. Yang sedang dikatakan, rpms juga mengandung skrip pra dan posting dan beberapa paket yang dibangun dengan buruk mungkin menjatuhkan file yang tidak akan dilacak dalam basis data rpm.

Jika bukan itu yang Anda tanyakan, yumdapat men-cache rpms saat mengunduh untuk pemasangan. Coba cari di sekitar /var/cache/yum/- tetapi ini hanya berlaku jika Anda telah keepcache=1menetapkan di /etc/yum.conf.

zje
sumber
+1 ke zje untuk menyebutkan tentang keepcache = 1 konfigurasi. Jika keepcache = 0, maka paket tidak akan hadir di bawah / var / cache / yum /
Binita Bharati