RPM được cài đặt đi đâu?


27

Tôi tải xuống và cài đặt các gói trên máy Red Hat Enterprise Linux Server 6 của mình bằng trình quản lý gói YUM ở chế độ dòng lệnh.

Khi tôi cài đặt các tệp apk trên điện thoại Android của mình , chúng vào /data/appthư mục, tôi tự hỏi không biết RHEL6 giữ các tệp vòng / phút được cài đặt ở đâu?

Câu trả lời:


26

Yum duy trì bộ đệm của RPM mà nó tải xuống ở đây:

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

Ví dụ: hộp của tôi là kiến ​​trúc Fedora 14, x86_64 vì vậy tôi có các mục sau:

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

Nhưng các RPM được cài đặt về cơ bản giống như một tệp zip hoặc tar. Vì vậy, nội dung của các tệp này được đổ vào hệ thống và RPM duy trì cơ sở dữ liệu về các gói đã cài đặt. "Cơ sở dữ liệu" RPM nằm trong thư mục này:

$ 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

Bạn có thể thấy nơi các tệp được cài đặt trên mỗi RPM với các lệnh này.

những tập tin nào trong một RPM được cài đặt

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

thông tin gói về một RPM nhất định

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

trời ạ, thật khó để tôi hiểu! bởi vì ví dụ bạn đã cho vòng / phút;) vì vậy, nếu bạn muốn xem, các tệp được cài đặt ở đâu cho giả sử gói java-11-openjdk-src , bạn sử dụng vòng / phút -ql java-11-openjdk-src;)
Dòng

1
@Line - xin lỗi về điều đó, RPM cũng là một gói hợp pháp. Nó cũng an toàn vì mọi người đều có nó, đó là lý do chính khiến tôi chọn nó.
slm

1
Tôi hiểu, điều đó thật khó hiểu, vì tôi không biết điều đó. Hy vọng những lời khen ngợi trên sẽ giúp ích nếu bất cứ ai không có kiến ​​thức đó sẽ xem xét điều này;)
Dòng

12

Các tập tin vòng / phút được tải xuống và sau đó cài đặt. Khi các tệp này được cài đặt, chúng được theo dõi bởi cơ sở dữ liệu vòng / phút. Để xem các tệp cho một vòng / phút cụ thể đã được cài đặt, bạn có thể chạy rpm -ql.

Ví dụ

[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

Hiển thị mười tệp đầu tiên được cài đặt bởi bash vòng / phút. Điều đó đang được nói, rpms cũng chứa các tập lệnh trước và sau và một số gói được xây dựng kém có thể bỏ các tệp không được theo dõi trong cơ sở dữ liệu vòng / phút.

Nếu đó không phải là những gì bạn yêu cầu, yumcó thể lưu trữ rpms khi tải xuống để cài đặt. Hãy thử nhìn xung quanh /var/cache/yum/- nhưng điều này chỉ áp dụng nếu bạn đã keepcache=1thiết lập /etc/yum.conf.


+1 đến zje để đề cập đến cấu hình keepcache = 1. Nếu keepcache = 0, thì các gói sẽ không xuất hiện dưới / var / cache / yum /
Binita Bharati
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.