2012-08-28 30 views
6

Có cách nào để chuyển một tham số vào dpkg -i mà sau đó có thể được sử dụng bởi preinst và postinst không? Tôi đã nhìn vào trong này và đã tự hỏi nếu tôi có thể tham khảo các thông số với $ 1 hoặc $ 2chuyển tham số vào dpkg -i?

Cảm ơn trước

Trả lời

7

Không, bạn không thể vượt qua một tham số như vậy.

Bạn có thể thiết lập một biến môi trường theo cách này

$ VARIABLE=foo dpkg --install package.deb 

hoặc (tốt hơn) sử dụng debconf để đặt câu hỏi cho người dùng.

+0

+1 cho liên kết debconf. Đó là những gì bạn nên làm. – tripleee

0

Bạn biết đấy, các thông số của ứng dụng hiển thị với lệnh debconf-get-selections. ví dụ: debconf-get-selections | grep myapp

Giả Có hai thông số sẵn sàng cho gói deb của bạn, vì vậy bạn có thể thực hiện không tương tác cài đặt như thế này:

echo myapp myapp/param1 string 8888 | debconf-set-selections 
echo myapp myapp/param2 boolean true | debconf-set-selections 
DEBIAN_FRONTEND=noninteractive dpkg -i blablabla.deb 

Bây giờ, bạn có thể sử dụng param1param2 trong preinst và postinst của bạn.