2013-05-16 35 views
18

thời gian gần đây tôi phát hiện ra về sự tồn tại của cpio và làm thế nào nó có thể được sử dụng, trong số rất nhiều những thứ khác, để trích xuất tập tin cá nhân từ một rpm kết hợp với các công cụ rpm2cpio, như thế này:Làm thế nào để trích xuất một tập tin từ một rpm vào thư mục hiện hành?

rpm2cpio mypackage.rpm | cpio -idmv ./path/to/individual/file/inside/the/rpm/filename.txt 

Vấn đề là lệnh này sẽ tạo thư mục khớp với vị trí của tệp bên trong vòng/phút, tức là nó sẽ tạo thư mục /path/to/individual/file/inside/the/rpm/ bên trong thư mục hiện tại trước khi thực sự giải nén tệp.

Có cách nào để trích xuất tệp vào thư mục hiện tại mà không cần tạo toàn bộ cấu trúc thư mục không?

Cảm ơn trước !!

+0

https://www.linux-noob.com/forums/index.php?/topic/355-extract-1-file-from-rpm/ – pa4080

Trả lời

27

Bạn có thể sử dụng --to-stdout cho cpio. Ví dụ:

# rpm2cpio id3lib-3.8.3-28.fc18.x86_64.rpm | cpio -iv --to-stdout ./usr/share/doc/id3lib-3.8.3/README > /tmp/README 
./usr/share/doc/id3lib-3.8.3/README 
2173 blocks 
# 
+0

làm việc này Allright, nhưng xin vui lòng không phải là các đuôi tệp (và có thể các khoảng trống khác) có thể khác với tệp gốc –

Các vấn đề liên quan