Gdzie idą zainstalowane RPM?


27

Pobieram i instaluję pakiety na moim komputerze Red Hat Enterprise Linux Server 6 przy użyciu menedżera pakietów YUM w trybie wiersza poleceń.

Kiedy instaluję pliki APK na moim telefonie z Androidem , idą do /data/appkatalogu, zastanawiam się, gdzie RHEL6 przechowuje zainstalowane pliki RPM ?

Odpowiedzi:


26

Yum utrzymuje pamięć podręczną RPM, którą pobiera tutaj:

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

Na przykład moim pudełkiem jest architektura Fedora 14, x86_64, więc mam następujące elementy:

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

Ale zainstalowane RPM są w zasadzie jak plik zip lub tar. Tak więc zawartość tych plików zostaje zrzucona do systemu, a RPM utrzymuje bazę danych zainstalowanych pakietów. „Baza danych” RPM znajduje się w tym katalogu:

$ 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

Za pomocą tych poleceń możesz sprawdzić, gdzie pliki są instalowane na każde RPM.

jakie pliki są w zainstalowanym 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
...
...

informacje o pakiecie o danym 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.

Boże, tak trudno było mi to zrozumieć! ponieważ jako przykład podałeś rpm;) więc jeśli chcesz zobaczyć, gdzie są zainstalowane pliki, powiedzmy, że pakiet java-11-openjdk-src , używasz rpm -ql java-11-openjdk-src;)
Linia

1
@Line - przepraszam za to, RPM to także legalny pakiet. Jest również bezpieczny, bo wszyscy go mają, to główny powód, dla którego go wybrałem.
slm

1
Rozumiem, to było po prostu mylące, ponieważ tego nie wiedziałem. Mam nadzieję, że powyższe pochwały pomogą, jeśli ktoś bez tej wiedzy się temu przyjrzy;)
Linia

12

Same pliki RPM są pobierane, a następnie instalowane. Po zainstalowaniu tych plików są one śledzone przez bazę danych rpm. Aby zobaczyć, gdzie zostały zainstalowane pliki dla określonego rpm, możesz uruchomić rpm -ql.

Na przykład

[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

Pokazuje pierwsze dziesięć plików zainstalowanych przez bash rpm. To powiedziawszy, rpms zawiera również skrypty przed i po, a niektóre źle zbudowane pakiety mogą upuszczać pliki, które nie byłyby śledzone w bazie danych rpm.

Jeśli nie o to pytasz, yummożesz buforować RPM podczas pobierania instalacji. Spróbuj się rozejrzeć /var/cache/yum/- ale dotyczy to tylko sytuacji, gdy masz keepcache=1ustawione /etc/yum.conf.


+1 do zje za wzmiankę o konfiguracji keepcache = 1. Jeśli keepcache = 0, to pakiety nie będą obecne w / var / cache / yum /
Binita Bharati,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.