2012-06-26 23 views

Trả lời

6

RPM không có nghĩa là lấy đối số do người dùng xác định.

Xem RPM - Install time parameters

Một câu hỏi tương tự được đưa https://superuser.com/questions/408852/is-it-possible-to-get-users-input-during-installation-of-rpm

Một workaround là phải có kịch bản postinstall của rpm yêu cầu đầu vào từ stdin, trong trường hợp này bạn có thể vượt qua trong các câu trả lời bằng cách chuyển hướng stdio từ một tập tin hoặc ở đây tài liệu.

>rpm -i sample.rpm <<__NOT_RECOMMENDED__ 
somearg 
__NOT_RECOMMENDED__ 
+0

-Cảm ơn câu trả lời. – sakthi

0

Dường như bạn đang cố gắng để tạo ra một relocatable RPM.

Trong phần mở đầu của tệp .spec của bạn, đặt tiền tố của đường dẫn tệp có thể được di chuyển. Ví dụ, nếu đường dẫn đầy đủ đến tập tin của bạn là

/base/path/to/my/file 

sau đó /base có thể thay đổi trong khi cài đặt RPM nhưng /path/to/my/file sẽ vẫn như cũ.

Đây là những gì bạn đặt trong tập tin .spec của bạn:

#Preamble: Summary, Name, etc. 
Prefix: /base 

Đảm bảo rằng bạn đề cập đến tiền tố này trong khi liệt kê tất cả các file định vị trong %install%files phần trong file .spec. Có các điều kiện trong đó RPM có thể di chuyển có thể không hoạt động, vì vậy, hãy kiểm tra these things to consider.

%files 
%{prefix}/path/to/my/file 

Bây giờ, khi bạn cài đặt RPM, bạn có thể chỉ định tiền tố khác.

rpm -i sample.rpm --prefix /tmp 

Điều này sẽ cài đặt tệp trong /tmp/path/to/my/file.

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