Куди йдуть встановлені RPM?


27

Я завантажую та встановлюю пакети на мою машину Red Hat Enterprise Linux Server 6 за допомогою менеджера пакетів YUM в режимі командного рядка.

Коли я встановлюю apk- файли на свій телефон Android , вони йдуть в /data/appкаталог, мені цікаво, де RHEL6 зберігає встановлені файли rpm ?

Відповіді:


26

Yum підтримує кеш обертів, які він завантажує тут:

/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 також є законним пакетом. Це також безпечно для всіх, хто має його, це головна причина, коли я його вибрав.
slm

1
Я розумію, це було просто заплутано, бо я цього не знав. Сподіваюсь, вищезгадана похвала допоможе, якщо хтось без цього знання погляне на це;)
Рядок

12

Самі файли 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. Незважаючи на це, rpms також містить сценарії до і після публікації, а деякі погано складені пакети можуть видалити файли, які не відстежуються в базі даних rpm.

Якщо це не те, про що ви питали, yumможе кешувати rpms під час завантаження для встановлення. Спробуйте озирнутися /var/cache/yum/- але це стосується лише тих випадків, коли ви їх keepcache=1встановили /etc/yum.conf.


+1 до zje для згадування про конфігурацію Keepcache = 1. Якщо Keepcache = 0, то пакети не будуть присутні в / var / cache / yum /
Binita Bharati
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.