Kurulu RPM'ler nereye gidiyor?


27

Komut satırı modunda YUM paket yöneticisini kullanarak Red Hat Enterprise Linux Server 6 makineme paketleri indirip yüklüyorum .

Android telefonuma apk dosyalarını yüklediğimde , dizine giderler , RHEL6'nın kurulu rpm dosyalarını nerede sakladığını merak ediyorum ?/data/app

Yanıtlar:


26

Yum, burada indirdiği RPM'lerin önbelleğini korur:

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

Örneğin, kutum Fedora 14, x86_64 mimarisidir, bu yüzden aşağıdakiler var:

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

Ancak, yüklü olan RPM'ler temel olarak bir zip veya tar dosyası gibidir. Böylece bu dosyaların içeriği sisteme atılır ve RPM hangi paketlerin kurulu olduğuna dair bir veri tabanı oluşturur. RPM "veritabanı" bu dizinde bulunur:

$ 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

Bu komutlarla her RPM'de dosyaların nereye yüklendiğini görebilirsiniz.

yüklü bir RPM'de hangi dosyalar var

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

Belirli bir RPM hakkında paket bilgisi

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

Tanrım, anlamam çok zor oldu! ) dosyaların diyelim diyelim yüklü nerede, görmek istiyorum eğer öyleyse; çünkü örnek olarak size rpm verdi java-11-OpenJDK-src paketinde, sen rpm kullanmak -ql java-11-openjdk-src);
Çizgi

1
@ Line - Bunun için üzgünüm, RPM de okunaklı bir pakettir. Ayrıca güvenli b / c herkesin sahip olduğu, seçtiğim asıl sebep bu.
slm

1
Anladım, kafam karıştı, çünkü o şeyi bilmiyordum. Yukarıdaki bilginin, bu bilgiye sahip olmayanların buna bir göz atması durumunda yardımcı olacağını umarız;)
Line

12

Rpm dosyaları kendileri indirilir ve kurulur. Bu dosyalar yüklendikten sonra, rpm veritabanı tarafından izlenir. Belirli bir rpm'ye ait dosyaların nereye yüklendiğini görmek için çalıştırabilirsiniz rpm -ql.

Örneğin

[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 tarafından yüklenen ilk on dosyayı gösterir. Söylendiği gibi, rpms ayrıca öncesi ve sonrası komut dosyalarını içerir ve bazı zayıf oluşturulmuş paketler rpm veritabanında izlenmeyen dosyaları bırakabilir.

İstediğiniz şey bu değilse, yumyükleme için indirme yaparken RPM'leri önbelleğe alabilirsiniz. Etrafınıza bakmayı deneyin /var/cache/yum/- ancak bu yalnızca telefonunuzu keepcache=1ayarladıysanız geçerlidir /etc/yum.conf.


Keepcache = 1 yapılandırmasından bahsettiği için +1 ila zje. Keepcache = 0 ise, paketler / var / cache / yum /
Binita Bharati
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.