설치된 RPM은 어디에 있습니까?


27

명령 행 모드에서 YUM 패키지 관리자를 사용하여 Red Hat Enterprise Linux Server 6 머신에 패키지를 다운로드하여 설치 합니다.

안드로이드 폰 에 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.)
Line

1
@Line-죄송합니다. RPM도 합법적 인 패키지입니다. 또한 모든 사람들이 가지고있는 안전한 b / c입니다. 이것이 내가 선택한 주요 이유입니다.
slm

1
이해가 안 되었기 때문에 혼란 스러웠습니다. 지식이없는 사람이 이것을 살펴보면 위의 칭찬이 도움이되기를 바랍니다.)
Line

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 개의 파일을 표시합니다. 즉, rpms에는 사전 및 사후 스크립트가 포함되어 있으며 제대로 구축되지 않은 패키지는 rpm 데이터베이스에서 추적되지 않는 파일을 삭제할 수 있습니다.

그것이 당신이 요구 한 것이 아닌 경우 yum, 설치를 위해 다운로드 할 때 rpm을 캐시 할 수 있습니다. 주위를 둘러보십시오. /var/cache/yum/하지만 keepcache=1설정 한 경우에만 적용됩니다 /etc/yum.conf.


keepcache = 1 구성에 대해 언급하면 ​​+1 ~ zje입니다. keepcache = 0이면 패키지가 / var / cache / yum / 아래에 존재하지 않습니다.
Binita Bharati
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.