Cách cập nhật gói bằng cách sử dụng con rối và tệp .deb


27

Tôi đang cố gắng tìm ra cách thích hợp để cập nhật / nâng cấp gói gỡ lỗi bằng cách sử dụng con rối từ tệp gỡ lỗi nguồn cục bộ. Cấu hình hiện tại của tôi trông như thế này ...

class adobe-air-2-0-4 {

  file { "/opt/air-debs":
    ensure => directory
  }

  file { "/opt/air-debs/adobeair-2.0.4.deb":
    owner   => root,
    group   => root,
    mode    => 644,
    ensure  => present,
    source  => "puppet://puppet/adobe-air-2-0-4/adobeair-2.0.4.deb"
  }

  package { "adobeair":
    provider => dpkg,
    ensure => installed,
    source => "/opt/air-debs/adobeair-2.0.4.deb"
  }

}

Trước tiên tôi sao chép tệp gỡ lỗi xuống máy khách và sau đó sử dụng 'gói' với nhà cung cấp được đặt thành 'dpkg'. Điều này hoạt động và tôi nhận được phiên bản chính xác được cài đặt.

Câu hỏi của tôi là cách thích hợp để cập nhật gói này trong tương lai. Tôi có thể chỉ cần thay đổi tệp nguồn và con rối sẽ biết rằng đó là phiên bản khác và cập nhật gói này không? Làm thế nào con rối xác định phiên bản của gói mà nó đã cài đặt so với phiên bản của tệp gỡ lỗi nguồn?

Tôi khá mới mẻ với con rối, vì vậy nếu bạn có đề xuất cải tiến cấu hình hiện tại của tôi, chúng sẽ được đánh giá rất cao.

Câu trả lời:


36

Tôi cũng đã đăng câu hỏi này lên nhóm người dùng bù nhìn và đây là câu trả lời mà tôi đã nhận lại.

Nếu bạn thêm đảm bảo mới nhất, nó sẽ kiểm tra tệp nguồn so với gói hiện được cài đặt và cài đặt mới nếu nó là mới nhất. Tôi vẫn không chắc chắn làm thế nào bạn quay trở lại phiên bản cũ hơn, nhưng điều này dường như giải quyết vấn đề của tôi cho đến bây giờ.

package { "puppet-dashboard":
 provider => dpkg,
 ensure   => latest,
 source   => "/tmp/puppet-dashboard_1.0.4rc2-1_all.deb"
}

Đây là một liên kết đến bài đăng nhóm người dùng rối ... http://groups.google.com/group/puppet-users/browse_thread/thread/53f5e7119012fb3e/59e8596701fcaf3f


Không được thử nghiệm, nhưng nếu sử dụng apt là nhà cung cấp. bạn có thể thay đổi mới nhất thành một chuỗi có số phiên bản trong - ví dụ: Đảm bảo => '1.0.4rc2-1_all'
benlumley

Đã kiểm tra docs.puppetlabs.com/references/latest/type.html#package - có vẻ như phần thưởng của tôi ở trên không hợp lệ, nó nói dpkg không thể phiên bản được.
benlumley

Chà, @benlumley, apt-get là phiên bản và dpkg (dựa trên apt-get) thì không. Vì vậy, thật khó để kết hợp cả hai khi bạn muốn phiên bản như vậy. Đó là lý do tại sao trong những trường hợp này, bạn nên thiết lập một kho lưu trữ nhỏ và có apt-get quản lý nó (là nhà cung cấp mặc định trên các hệ thống debian)
Aktau
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.