Cách trích xuất RPM từ cơ sở dữ liệu RPM trên Red Hat Enterprise Linux


8

Có cách nào để trích xuất một RPM được cài đặt từ cơ sở dữ liệu RPM trên Red Hat Enterprise Linux để sao chép .rpmtệp gốc không?


Tại sao tiêu đề này được sửa đổi? Red Hat là tên của phần mềm không phải RedcHat
Ramhound

Câu trả lời:


7

Nếu bạn muốn lưu một bản sao của gói như đã cài đặt trước khi nâng cấp hoặc gỡ bỏ gói, hãy sử dụng rpm --repackage- nó sẽ lưu RPM trong / var / tmp hoặc / var / spool / repackage hoặc ở nơi khác, tùy thuộc vào cấu hình của bạn.

Nếu không, có tồn tại rpmrebuild, mà chính xác những gì bạn yêu cầu.

Lời cảnh báo: với cả hai công cụ này, bạn không có được chính xác *.rpmnhư công cụ bạn đã bắt đầu. Mọi thay đổi đối với các tệp đã cài đặt thuộc về gói sẽ nằm trong RPM được tạo.


1
Tôi tin rằng đáng để lưu ý rằng rpm --repackagesẽ là Re-package the files before erasing rpm.org/max-rpm-snapshot/rpm.8.html Tôi gần như chạy lệnh này một cách mù quáng, nhưng trước tiên hãy xem các tài liệu được liên kết.
Kevin Meredith

rpm --repackagedường như không có sẵn trên các hệ thống mới hơn (ví dụ, RHEL 7). rpmrebuildcó sẵn trong EPEL cho RHEL 7 và đã lừa tôi.
jayhendren

1

Sản xuất tệp vòng / phút gốc là không thể, nó đã được trích xuất và có thể bị loại bỏ. Cơ sở dữ liệu vòng / phút có thông tin về những tập tin được cài đặt và tổng kiểm tra, quyền và tập lệnh postinst của chúng:

# verify package contents
rpm -q packagename --verify
# read the scripts that run on installation and removal
rpm -q packagename --scripts

sẽ cung cấp cho bạn một số thông tin.

Nếu bạn muốn có được một vòng / phút từ kho lưu trữ, tôi khuyên bạn nên sử dụng yumdoader, từ gói yum-utils.

yum install yum-utils
yumdownloader packagename

Điều này sẽ tải xuống vòng / phút mới nhất, không phải là cái được cài đặt hiện tại.

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.