2012-05-09 40 views
8

Tôi đang sử dụng Vagrant with Chef để xây dựng một máy ảo Ubuntu 12.04. Tôi đang sử dụng sách dạy nấu ăn opscode từ đây: https://github.com/opscode/cookbooksVagrant + Chef + apt: Có thể cài đặt phiên bản cụ thể của gói deb trên máy ảo Ubuntu không?

Tôi muốn sử dụng sách dạy nấu ăn apt opscode để cài đặt gói. Tôi muốn chắc chắn rằng nó cài đặt một phiên bản cụ thể của một gói, để đảm bảo môi trường xây dựng là nhất quán. Dưới đây là một ví dụ về những gì tôi đang cố gắng để làm:

package "git" do 
    action :install 
end 

Tôi biết rằng nếu bạn cài đặt các gói sử dụng apt từ dòng lệnh, bạn có thể chỉ định các phiên bản như sau:

apt-get install git=1:1.7.9.5-1 

Nhưng Tôi không thể tìm ra cách để làm điều này thông qua sách dạy nấu ăn. Điều này có thể không?

Trả lời

13

Tôi nghĩ rằng tôi đã tìm ra. Nó khá đơn giản:

package "git" do 
    version "1:1.7.9.5-1" 
    action :install 
end 
+4

Có thể nên đặt số phiên bản vào một thuộc tính. Bằng cách đó bạn có thể thực hiện nâng cấp (hoặc hạ cấp!) Mà không phải tải lên sách dạy nấu ăn mới. –

+1

Bạn có thể giải thích sâu hơn một chút không? Tôi hoàn toàn mới sử dụng hệ thống này. Cảm ơn! – wch

+1

Bạn có thể xem tài liệu về tài liệu đầu tư [tài nguyên gói] (http://wiki.opscode.com/display/chef/Resources#Resources-Package) –