Cách cập nhật nhiều máy cùng lúc

Trong tình huống bạn quản lý nhiều máy, Apt có thể rất hữu ích vì nó làm cho quá trình cập nhật và áp dụng các bản vá bảo mật cho từng máy trở nên rất đơn giản. Vấn đề là, với phương pháp truyền thống, một khi bản cập nhật xuất hiện, bạn phải tải xuống bản sao của tất cả các gói mới cho mỗi máy, điều này ngụ ý mức tiêu thụ băng thông và băng thông của chúng ta một cách phi thường. từ máy chủ chính thức May mắn thay, có một phương pháp cho phép chúng tôi cập nhật một trong các máy và từ đó, cập nhật phần còn lại của các máy tạo nên mạng của chúng tôi. Phương pháp này, ngoài việc giảm chi phí và tối ưu hóa việc sử dụng băng thông của chúng tôi, tránh trùng lặp các gói trên các máy khác nhau: tất cả đều cài đặt các gói bằng "máy chủ bộ nhớ cache" của chúng tôi.


Khi bạn đang chạy cùng một bản phân phối trên các máy khác nhau (cho dù tại nơi làm việc, trong phòng máy tính, trên "trang trại" máy chủ, theo cụm hoặc thậm chí trên mạng gia đình nhỏ của bạn), có thể hữu ích để tạo một kho lưu trữ bộ nhớ cache trên mạng của bạn. khi một gói đã được tải xuống từ một kho lưu trữ chính thức, tất cả các máy khác tải xuống từ kho lưu trữ bộ đệm ẩn đó được lưu trữ trên một máy trên mạng của bạn mà chúng tôi gọi là "máy chủ". Bằng cách này, các bản cập nhật được tải xuống từ một máy có thể được cài đặt trên các máy khác mà không cần phải tải xuống lại từ kho lưu trữ chính thức.

Đầu tiên chúng ta hãy xem xét một số giải pháp "phi truyền thống" mà tôi KHÔNG khuyến nghị, nhưng điều đó chắc chắn sẽ xuất hiện khi giải quyết câu hỏi này.

Chia sẻ / etc / apt

Khi bạn cài đặt một gói trên bản phân phối Debian (hoặc các dẫn xuất của nó), gói đó được lưu trữ cục bộ trong thư mục '/ etc / apt'. Khi một gói được yêu cầu, Apt trước tiên sẽ tìm trong thư mục này để xem có bản sao cục bộ (tức là bộ nhớ đệm) hay không, do đó tránh tải xuống không cần thiết. Do đó, một số bạn chắc chắn sẽ nghĩ rằng một cách tốt để giải quyết vấn đề được đề cập có thể là chọn một máy tính, mà chúng tôi sẽ chỉ định là một loại máy chủ, sẽ được cập nhật bằng cách sử dụng các kho lưu trữ chính thức và chia sẻ thư mục '/ etc / apt' của bạn với các máy còn lại trên mạng. Tuy nhiên, phương pháp này có thể dẫn đến các vấn đề liên quan đến việc chặn tệp 'sources.list'. Nói chung, nó không phải là giải pháp được sử dụng rộng rãi nhất hoặc thuận tiện nhất.

Chuyển gói hàng

Thay vì chia sẻ một thư mục '/ etc / apt' thông thường, một giải pháp thay thế khác có thể là mỗi máy tính sử dụng thư mục bộ nhớ cache cục bộ của riêng nó nhưng tạo một tập lệnh đảm nhiệm việc sao chép các gói từ máy này sang máy khác để tất cả chúng vẫn còn đã cập nhật. Một công cụ để thực hiện nhiệm vụ này có thể là 'apt-move', nhưng tôi thành thật không khuyên dùng nó vì nó không đủ minh bạch cho người dùng cuối. Ngoài ra, nó có thể có nghĩa là sử dụng hoàn toàn không cần thiết dung lượng đĩa vì tất cả các gói sẽ phải được sao chép vào từng máy.

Hệ thống bộ nhớ đệm chuyên dụng

Giải pháp tốt nhất cho vấn đề này là sử dụng hệ thống bộ nhớ đệm chuyên dụng. Tóm lại, mục đích của nó là tạo một bản sao của các máy chủ chính thức trên một trong các máy trong mạng của bạn và sau đó định cấu hình phần còn lại của các máy đó để thay vì tìm kiếm các bản cập nhật từ các máy chủ chính thức, chúng sẽ làm điều đó. sử dụng bộ nhớ cache cục bộ này (hoặc bản sao).

Có nhiều hệ thống được thiết kế để hoạt động với Apt, bao gồm apt-cacher, apt-proxy và apt-cache.

Ở đây chúng ta sẽ xử lý apt-cacher, đây là cách dễ sử dụng nhất.

apt-cacher

Apt-cacher khá khác biệt so với các hệ thống bộ nhớ đệm của kho lưu trữ khác vì nó không phải là một chương trình độc lập mà chạy như một tập lệnh CGI dưới Apache. Điều này có một số lợi thế, chẳng hạn như làm cho nó trở thành một công cụ nhỏ và đơn giản nhưng đồng thời rất mạnh mẽ và do đó, mạnh mẽ hơn vì nó không yêu cầu mã riêng để xử lý các giao thức và nó rất linh hoạt vì bạn có thể sử dụng Cơ chế kiểm soát truy cập của Apache trong trường hợp bạn muốn giới hạn số lượng máy được kích hoạt truy cập vào bộ nhớ đệm.

Apt-cacher chỉ cần được cài đặt trên một máy, máy mà bạn quyết định sẽ hoạt động như bộ nhớ cache của kho lưu trữ cục bộ của bạn. Sau đó, phần còn lại của các máy tính trong mạng của bạn phải được định cấu hình để yêu cầu cập nhật từ bộ nhớ cache chứ không phải từ các máy chủ chính thức.

Cấu hình máy chủ

Để cài đặt chỉ

sudo apt-get cài đặt apt-cacher

Gói này có các phụ thuộc với apache, perl và wget, vì vậy nó sẽ cài đặt chúng nếu bạn chưa cài đặt trước đó.

Sau khi cài đặt, bạn nên khởi động lại Apache:

/etc/init.d/apache khởi động lại

Cuối cùng, tất cả những gì bạn phải làm là điều chỉnh các thông số mặc định của script. Tôi đã viết trong một thiết bị đầu cuối:

sudo gedit /etc/apt-cacher/apt-cacher.conf

Nói chung, tất cả các giá trị mặc định đều ổn, nhưng bạn nên điều chỉnh ba giá trị sau:

admin_email = mimail @ myserver generate_reports = 1 expire_hours = 24

Phần tử thứ hai là một biến kiểu Boolean xác định việc tạo báo cáo (0 không tạo báo cáo, 1 không tạo báo cáo). Thay vào đó, yếu tố đầu tiên là địa chỉ email mà các báo cáo đã tạo sẽ được gửi đến. Mục thứ ba và cuối cùng xác định số giờ Apt nên chờ để kiểm tra các bản cập nhật có sẵn trên các máy chủ chính thức.

Nếu bạn đang sử dụng proxy, đừng quên thêm các mục sau:

http_proxy = proxy.example.com: 8080 use_proxy = 1

Để xác minh rằng nó hoạt động, bạn có thể truy cập bộ nhớ cache cục bộ của mình thông qua url http: // server_name / apt-cacher / và một trang sẽ xuất hiện hiển thị cấu hình apt-cacher. Hãy nhớ rằng 'server_name' phải được thay thế bằng IP của máy mà bạn đã chỉ định là 'máy chủ', tức là kho lưu của bộ đệm gói cục bộ.

Cấu hình máy khách

Bây giờ tất cả những gì bạn phải làm là sửa đổi danh sách source.list của các máy khách để chuyển qua máy chủ. Nếu IP của máy chủ là 123.123.123.123, bạn phải thêm nó vào từng dòng của danh sách sources.list và cũng cẩn thận rằng tất cả chúng đều tham chiếu đến cùng một máy chủ, nếu không bộ nhớ cache sẽ không có tác dụng.

sudo gedit /etc/apt/sources.list
Lưu ý: Hãy cẩn thận! Trong Debian và các dẫn xuất của nó, 'sources.list' được lưu trữ trong '/ etc / apt'. Tuy nhiên, trong các bản phân phối khác, nó có thể được lưu trữ trong một đường dẫn khác. Trong trường hợp bạn không thể tìm thấy tệp, bạn luôn có thể tìm thấy tệp đó bằng cách nhập 'định vị nguồn.list' vào một thiết bị đầu cuối.

Khi tệp được mở, IP của máy chủ của chúng tôi là 123.123.123.123, tất cả các dòng phải được sửa đổi theo các tiêu chí sau:

# Original #deb http://ftp.us.debian.org/debian/ sid chính đóng góp không miễn phí # deb-src http://ftp.us.debian.org/debian/ sid chính đóng góp không miễn phí # Đã sửa đổi deb http://123.123.123.123/apt-cacher/ftp.us.debian.org/debian/ sid chính đóng góp không miễn phí deb-src http://123.123.123.123/apt-cacher/ftp.us.debian. org / debian / sid đóng góp chính không miễn phí

Như bạn có thể thấy, IP máy chủ + '/ apt-cacher /' phải được thêm vào đầu URL. Sau đó đến phần còn lại của dòng gốc.

Thống kê giao thông

Nếu bạn đã thêm phần tử 'create_reports = 1' trong tệp 'apt-cacher.conf', apt-cacher sẽ tạo thống kê truy cập mà bạn có thể truy cập bằng url '/ apt-cacher / report'.

Nếu vì bất kỳ lý do gì, bạn cần tạo thống kê trước số giờ được đặt trong 'apt-cacher.conf', hãy chạy lệnh sau:

/usr/share/apt-cacher/apt-cacher-report.pl

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   eduardo dijo

    Xin chào, đóng góp tuyệt vời, câu hỏi của tôi là nếu bạn biết bất kỳ ứng dụng nào cho phép bạn có một kho lưu trữ tập trung để áp dụng các bản vá nhưng cho các bản phân phối khác nhau, tức là giữ cho nhiều máy được cập nhật cùng một lúc nhưng có các bản phân phối khác nhau

  2.   Hãy sử dụng Linux dijo

    Chào Eduardo! Sự thật là tôi thấy rất khó. Nếu bạn phát hiện ra bất kỳ cách nào, đừng ngừng cho tôi biết.
    Một cái ôm lớn! Chúc mừng! Paul.

  3.   chiche dijo

    Tôi sử dụng con rối để quản lý từ xa các máy chủ mà tôi quản lý.

  4.   Hãy sử dụng Linux dijo

    Vâng, cảm ơn bạn rất nhiều về thông tin. Tôi đã sửa nó rồi.
    Ôm! Paul.

  5.   Geniutrixone dijo

    Xin chào,

    hướng dẫn này rất hay ... Tôi có một phạm vi .. trong Debian Lenny, source.lst nằm trong đường dẫn / etc / apt /

    liên quan

  6.   sepulvedamarcos dijo

    câu hỏi….

    nếu tôi có một vài máy có cùng bản phân phối… nhưng không có cùng chương trình…. Làm thế nào để bạn biết những gì để tải xuống từ các đại diện chính thức…. hạ thấp mọi thứ ??? ...

  7.   Hãy sử dụng Linux dijo

    Câu hỏi của bạn là tuyệt vời. Tôi tính toán rằng hệ thống sẽ hoạt động giống như trong Apt chung: nếu nó không tìm thấy nó trong bộ nhớ cache, nó sẽ tải nó xuống từ kho lưu trữ chính thức. Trong trường hợp này, một trong các máy "khách" thông báo cho "máy chủ" rằng nó cần cập nhật theo danh sách các bản cập nhật trên "máy chủ" trong mạng của bạn. Để cài đặt bản cập nhật đó, tôi tính toán rằng trước tiên nó sẽ tìm kiếm gói trong bộ đệm ẩn của máy chủ. Nếu nó không thể tìm thấy nó, nó sẽ tải nó xuống từ các kho lưu trữ chính thức, lưu nó trên máy chủ và từ đó, nó được cài đặt trên máy yêu cầu nó. Gói này sẽ có sẵn trong bộ nhớ cache của "máy chủ" để các máy khác trong mạng của bạn cũng có thể cài đặt nó từ đó.

    Xin đừng ngần ngại viết nếu tôi không đủ rõ ràng.

    Một cái ôm! Paul.

  8.   Mishudark dijo

    Tôi nghĩ có LỖI… các gói không được lưu trữ trong / etc / apt…. chúng thực sự ở trong / var / cache / apt / archives

  9.   Hãy sử dụng Linux dijo

    Sự thật là tôi không biết.
    Chắc chắn có một cách để làm điều đó. 🙁
    Nếu bạn phát hiện ra, hãy cho tôi biết và tôi sẽ bổ sung.
    Chúc mừng! Paul.

  10.   Alvaro dijo

    Không có gì với ip động, phải không?

  11.   Marce dijo

    Rõ ràng trong nhiều bản phân phối hiện tại, bạn phải thêm cổng (3142 theo mặc định) vào URL của mạng cục bộ. Nó sẽ trông như thế này: http://mi_servidor:3142/apt-cacher

  12.   alfredo torrealba dijo

    Tôi có lubuntu 16.04 ai đã làm điều đó theo hệ thống này và nếu nó đã hoạt động cho anh ta? Và điều tôi muốn hỏi sau đây là nếu tôi cài đặt máy chủ này và các máy khác của tôi không có cùng chương trình khi thực hiện yêu cầu trên máy khách của tôi để cài đặt chương trình mà tôi có trên máy chủ, bạn có nghĩ rằng tôi cài đặt nó trực tiếp từ máy chủ cục bộ hay không yêu cầu đến máy chủ kho lưu trữ chính thức ¿?