Làm cách nào để quản lý apt hiệu quả trên nhiều máy?


11

Tôi quản lý khoảng 30 máy chủ Ubuntu bằng cách sử dụng con rối. Tôi đã xem nhiều tài liệu tham khảo về cron-apt và apticron như các cách tiếp cận để giữ cho các gói của họ được cập nhật nhưng tôi không thể tìm ra cách quản lý tập trung quy trình. Với cront-apt / apticron, tôi vẫn cần đăng nhập vào từng máy chủ và chạy aptitude updateđể thực hiện cập nhật. Chưa kể thông báo xem xét từ tất cả 30 máy mỗi khi gói lõi được cập nhật.

Có phải là một cách tốt hơn. Bất kỳ đề xuất?

Câu trả lời:


3

Phong cảnh có thể được quan tâm đến bạn. Đây là công cụ quản lý "chính thức" để quản lý các triển khai Ubuntu lớn và Canonical có lẽ rất muốn nhận được tiền của bạn cho việc sử dụng nó.

ED-EDIT:

Đầu tiên, từ chối trách nhiệm; Tôi chưa sử dụng phản chiếu cho Debian hoặc Ubuntu, vì vậy tôi không quen với phần mềm này.

Thứ hai, có vẻ như gương apt sẽ là "giải pháp quá nặng", lời xin lỗi của tôi. Ý tưởng ban đầu là bạn sẽ có một máy kiểm tra riêng (hoặc môi trường thử nghiệm, có thể là máy ảo?) Để triển khai bản cập nhật trên. Khi bạn hài lòng với hiệu suất của bản cập nhật, bạn sẽ kéo / đặt gói vào gương "triển khai" của mình (sẽ có gương cục bộ từ các nguồn chính thức và gương phụ cho chỉ các bản cập nhật mà bạn muốn triển khai). Các máy từ xa sau đó sẽ chạy một bản cập nhật tại một thời điểm được cài đặt sẵn và kéo nó từ gương "triển khai" của bạn lên từng máy, một công việc định kỳ bao gồm:

apt-get update && apt-get upgrade --quiet --assume-yes

Thật không may, khi tôi bắt đầu đọc qua các chi tiết, có vẻ như nó apt-mirrorsẽ kéo tất cả các loại công cụ và không chỉ các gói bạn đang theo sau. Vì vậy, tôi sẽ từ bỏ ý tưởng này, mặc dù khái niệm này có một số giá trị.


Phong cảnh có vẻ thú vị. Tôi sẽ phải xem xét kỹ hơn về điều đó. Tôi không rõ về cách chạy một gương apt cục bộ (mà tôi hiện đang làm) sẽ giúp tôi phê duyệt / xem xét các bản cập nhật đang chờ xử lý. Bạn có thể làm rõ điều đó?
Insyte

14

Một đồng nghiệp đã phát hiện ra và đã xem xét ngắn gọn về apt-dater, đó là một "trình quản lý cập nhật gói từ xa dựa trên thiết bị đầu cuối".

Bạn sử dụng giao diện dựa trên lời nguyền để quản lý các bản cập nhật trên tất cả các máy chủ hoặc nhóm máy chủ của bạn, v.v. Hỗ trợ ghi nhật ký phiên apt đầy đủ, bao gồm mọi lỗi có thể gặp phải, v.v.

Dựa vào ssh và sudo trên các máy được quản lý.

xem http://www.ibh.de/apt-dater/

Không thể tự mình sử dụng nó, vì vậy tôi không thể xác nhận nó, nhưng nó có vẻ gần với những gì bạn đang tìm kiếm.


Điều này có vẻ rất hứa hẹn. Insyte, tôi sẽ đề nghị câu trả lời này cho riêng tôi. Trong khi bạn có thể thực hiện tất cả các bước tôi đã mô tả, bạn có muốn thực sự đầu tư thời gian vào đó không, khi nào bạn có thể thực hiện một thiết lập rất nhanh về điều này và tiếp tục với cuộc sống? @Jeff, +1 cho một gợi ý hay.
Avery Payne

4

Vì bạn đã sử dụng Puppet, cách dễ nhất để thực hiện việc này (và cách tốt nhất cho mục đích theo dõi / kiểm soát thay đổi) là chỉ định phiên bản gói bạn muốn cài đặt trong bảng kê khai con rối. Bạn để mắt đến danh sách thông báo bảo mật và khi có thứ gì đó bạn sử dụng xuất hiện, bạn chỉ cần cập nhật Puppet để nói "cài đặt phiên bản mới này của gói này". Giả sử bạn đang sử dụng kiểm soát sửa đổi trên bảng kê khai của mình, thì bạn sẽ biết khi nào "chính sách" được thay đổi và các báo cáo từ Puppet cho bạn biết chính xác khi nào thay đổi thực sự được thực hiện (để bạn có thể tương quan dễ dàng với mọi sự kiện đăng nhập sau này).


Đây là khá nhiều những gì chúng tôi làm. Chúng tôi không sử dụng loại gói rối vì điều đó sẽ khiến mọi máy chủ cài đặt mọi gói. Thay vào đó, chúng tôi viết một tệp trên máy chủ với tên và phiên bản gói và sau đó sử dụng tập lệnh để chạy qua chúng và kiểm tra xem chúng có được cài đặt không và sau đó thử cài đặt chúng. Phần thứ hai là một tập lệnh đọc thư mục thư của tôi với các email apticron và lấy tất cả các gói cần cập nhật và viết lại tệp kê khai. Chúng tôi không hoàn toàn chắc chắn phương pháp này hoạt động tốt như thế nào.
David Pashley

2
Tại sao loại gói Puppet sẽ cài đặt tất cả các gói trên mọi máy? Bạn đặt các khổ thơ cho mỗi gói vào loại có liên quan hoặc loại được xác định, để nó chỉ được cài đặt trên (các) máy thích hợp. Nếu bạn muốn tập trung danh sách phiên bản vào một tệp, hãy có một danh sách lớn các tài nguyên ảo và sau đó nhận ra chúng khi cần thiết.
womble

2

Có một cái nhìn về cl clustersh (apt-get install cl clustersh):

$ cssh server1 server2 server3 ...


1
Điều này thực sự vẫn hoạt động trong 10.9.3 ... thật là vui khi sử dụng nó
Jonathan S. Fisher

1

Không thực sự nghĩ về nó trước đây, ý tưởng đầu tiên của tôi sẽ là một cái gì đó tương tự như những gì avery đã đề xuất, đặc biệt là nếu bạn đã có một thử nghiệm.

Về cơ bản, bạn đặt máy sản xuất của mình tự động nâng cấp từ repo cục bộ của riêng bạn và bạn chỉ cập nhật repo này sau khi bạn nâng cấp môi trường thử nghiệm của mình lên phiên bản mới nhất của bất cứ thứ gì bạn chạy.

Apticron không có quy mô tốt, nó được thiết kế để chạy trong các môi trường nhỏ, nhưng nó có một số điểm tốt:

  • Nó không chỉ gửi cho bạn một danh sách, mà còn thay đổi cho các gói được nâng cấp.
  • Để có được các thay đổi, nó tải xuống các gói, vì vậy khi bạn nâng cấp, bạn không phải đợi chúng tải xuống.

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.