Cách kiểm tra khi cập nhật yum lần cuối


11

Có một cách kinh điển để tìm ra lần cuối cùng yum updateđược chạy trên một hệ thống?

Thiết lập của chúng tôi là chúng tôi có các máy chủ dàn chạy các bản cập nhật tự động và miễn là chúng không bị đổ, chúng tôi sẽ cập nhật thủ công các máy chủ sản xuất của chúng tôi khoảng một tháng một lần (chặn các cập nhật quan trọng). (Tôi nói thủ công, lý tưởng là tôi muốn kích hoạt thủ công một bản cập nhật trên tất cả chúng, nhưng đó là một vấn đề khác).

Nhưng bạn trở nên bận rộn, nhiệm vụ trượt, v.v. Vì vậy, tôi muốn thiết lập một kiểm tra nagios sẽ bắt đầu làm phiền chúng tôi nếu chúng tôi để nó quá lâu.

Tìm kiếm trên web đã không cho tôi rất xa. Chọc qua hệ thống, điều tốt nhất tôi tìm thấy cho đến nay sẽ là một cái gì đó như:

grep Updated /var/log/yum.log | tail -1 | cut -d' ' -f 1-2

mà cho tôi một cái gì đó Mar 12mà sau đó tôi có thể chuyển đổi thành một ngày. Có một vài biến chứng nhỏ về việc ngày này là năm nay hay năm ngoái, và tôi cũng cần kiểm tra /var/log/yum.log.1trong trường hợp kiểm tra ngay sau khi đăng nhập. Nhưng đó chỉ là chi tiết kịch bản.

Điều này tất nhiên có thể bị 'đánh lừa' bởi một bản cập nhật cho một gói chứ không phải là một bản cập nhật chung.

Vì vậy, có một cách kinh điển hơn để xem khi nào yum updateđược chạy?

Chỉnh sửa: Bây giờ tôi đã viết một plugin NagPE NRPE sử dụng ý tưởng mà tôi đưa ra trong câu hỏi. Bạn có thể lấy nó từ https://github.com/aptivate/check_yum_last_update

Câu trả lời:


19

Tùy chọn lịch sử yum cho phép người dùng xem những gì đã xảy ra trong các giao dịch trong quá khứ. Để đơn giản hơn, bạn có thể grep Cập nhật từ lịch sử yum

# yum  history
Loaded plugins: fastestmirror, refresh-packagekit
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    41 | root <root>              | 2012-04-27 20:17 | Install        |   19   
    40 | root <root>              | 2011-11-20 10:09 | Install        |   10   
    39 | root <root>              | 2011-11-20 08:14 | Install        |    1 E<
    38 | root <root>              | 2011-11-19 15:46 | Update         |    1 

1
Phiên bản nào của yum bạn đang sử dụng - Tôi dường như không có historysẵn lệnh. (Chúng tôi chủ yếu vẫn đang sử dụng CentOS 5). Trên thực tế, chỉ cần thử và CentOS 6 có nó. Nhưng nó không đủ phổ quát cho mục đích của chúng tôi - nhưng có vẻ hữu ích cho những người khác.
Hamish Downer

1
Có, đây là trên centos 6.x với phiên bản yum 3.2.29. Cảm ơn bạn
Chakri

1
Lưu ý rằng nếu có sự kết hợp giữa Cài đặt và Cập nhật, cột Hành động cho biết I, Uviệc grep phức tạp hơn một chút. Điều này có thể xảy ra nếu gói cập nhật phụ thuộc vào gói mới, khiến gói mới được cài đặt.
Hamish Downer

Vì đôi khi các bản cập nhật xảy ra trong khi cài đặt một cái gì đó khác, nếu bạn cũng muốn xem những bản cập nhật đó, có thể chuyển đầu ra qua grep như thế này: yum history | grep 'U' sẽ bắt tất cả các lần chạy liên quan đến một bản cập nhật.
JJC

2

Tôi nghĩ rằng cách duy nhất bạn có thể hoàn toàn chắc chắn là chạy psacct.

Điều này sẽ cho phép bạn chạy lastcomm yum. Nếu bạn phân tích cú pháp này, bạn sẽ biết ai đã điều hành nó và khi nào.


1

Tôi đoán bạn đang trỏ một bộ máy chủ 'Dev' đến một repo Dev yum?

Bạn có thể thực hiện nâng cấp tự động theo kịch bản cron / Puppet / Chef, khi thành công, ghi vào một tệp. (nói /etc/yum_last)

Sau đó, bạn có thể sử dụng yum check-updateđịnh kỳ bằng cron / khác trên các máy chủ Dev để xem có bản cập nhật nào không. Nếu lệnh này cho biết> 0 số bản cập nhật khả dụng, bạn so sánh ngày hiện tại với dấu thời gian của tệp bạn tạo khi bạn thực hiện nâng cấp tự động.

Nếu sự khác biệt ngày này tăng theo ngày, bạn có thể có cảnh báo Nagios.

Bạn cũng có thể nhìn vào Pulp nếu nó phù hợp với nhu cầu của bạn.


0

Các lệnh sau liệt kê các gói RPM được cài đặt hoặc cập nhật gần đây:

rpm -qa --last  | head

Nó có thể bao gồm các gói được cài đặt bên ngoài YUM. Lệnh này cũng có thể chạy mà không có quyền root.

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.