Tình trạng nâng cấp không giám sát?


17

Có ai biết nếu có thể xác định trạng thái của một bản nâng cấp không giám sát? Có thể tìm ra gói nào đang được cài đặt hoặc nơi chúng tôi đang trong quá trình không?

Tôi đánh giá cao lợi ích của việc nâng cấp không giám sát, nhưng chúng có thể thực sự gây phiền nhiễu khi bạn có một hệ thống bị tắt trong một vài tháng và bạn muốn cài đặt một ứng dụng hoặc khi chúng ăn tài nguyên CPU trên các máy không có nhiều đầu tiên là.

Tôi không chỉ đơn giản là tìm cách giết những nâng cấp không giám sát. Tôi biết làm thế nào để làm điều đó. Tôi muốn họ chạy. Tôi chỉ muốn biết làm thế nào tôi có thể tìm hiểu những gì đang thực sự xảy ra và giai đoạn họ đang ở.


Chạy đi pgrep -fl apt, tôi cho là vậy.
muru

Câu trả lời:


22

Trên 16.04 và các hệ thống mới hơn, các bản nâng cấp không giám sát chạy hàng ngày vào một thời điểm ngẫu nhiên.

Làm thế nào để biết khi nào nâng cấp không giám sát sẽ chạy ngày hôm nay :

Thời gian ngẫu nhiên được đặt bởi một công việc định kỳ (/etc/cron.daily/apt.compat) và bạn có thể đọc thời gian ngẫu nhiên cho ngày hôm nay bằng cách hỏi systemd:

$ systemctl list-timers apt-daily.timer
NEXT                         LEFT     LAST                         PASSED      UNIT            ACTIVATES
Tue 2017-07-11 01:53:29 CDT  13h left Mon 2017-07-10 11:22:40 CDT  1h 9min ago apt-daily.timer apt-daily.service

Trong trường hợp này, bạn có thể thấy rằng uu đã chạy 1 giờ 9 phút trước.

Làm thế nào để biết nếu nâng cấp không giám sát vẫn đang chạy :

Một cách dễ dàng là kiểm tra các tệp dấu thời gian cho các thành phần apt khác nhau:

$ ls -l /var/lib/apt/periodic/
total 0
-rw-r--r-- 1 root root 0 Jul 10 11:24 unattended-upgrades-stamp
-rw-r--r-- 1 root root 0 Jul 10 11:23 update-stamp
-rw-r--r-- 1 root root 0 Jul 10 11:24 update-success-stamp
-rw-r--r-- 1 root root 0 Jul 10 11:24 upgrade-stamp

Bạn có thể thấy ở đây uu chỉ là một thành phần apt. apt đặt dấu thời gian ở đây bất kể apt đã bắt đầu như thế nào.

Đặt dữ liệu lại với nhau, bạn có thể thấy rằng bộ định thời bắt đầu apt (uu) lúc 11:22. Nó chạy một bản cập nhật hoàn thành lúc 11:23, sau đó nâng cấp hoàn thành lúc 11:24. Cuối cùng, bạn có thể thấy rằng apt coi việc nâng cấp là một thành công (không có lỗi hoặc thất bại khác).

Rõ ràng, nếu bạn thấy một bộ đếm thời gian gần đây không có dấu thời gian hoàn thành tương ứng, thì bạn có thể muốn kiểm tra psxem apt có còn chạy không.

Làm thế nào để biết bước apt nào đang chạy ngay bây giờ :

Một cách dễ dàng là kiểm tra loguile uu.

$ less /var/log/unattended-upgrades/unattended-upgrades.log
2017-07-10 11:23:00,348 INFO Initial blacklisted packages: 
2017-07-10 11:23:00,349 INFO Initial whitelisted packages: 
2017-07-10 11:23:00,349 INFO Starting unattended upgrades script
2017-07-10 11:23:00,349 INFO Allowed origins are: ['o=Ubuntu,a=zesty-security', 'o=Ubuntu,a=zesty-updates']
2017-07-10 11:23:10,485 INFO Packages that will be upgraded: apport apport-gtk libpoppler-glib8 libpoppler-qt5-1 libpoppler64 poppler-utils python3-apport python3-problem-report
2017-07-10 11:23:10,485 INFO Writing dpkg log to '/var/log/unattended-upgrades/unattended-upgrades-dpkg.log'
2017-07-10 11:24:20,419 INFO All upgrades installed

Tại đây, bạn có thể thấy quy trình hàng ngày thông thường, bao gồm các dòng 'bắt đầu' và 'đã hoàn thành' và danh sách các gói sắp được nâng cấp.

Nếu danh sách các gói chưa được ghi lại, thì apt có thể bị gián đoạn một cách an toàn. Khi danh sách các gói được ghi lại, KHÔNG làm gián đoạn apt.

Vì bạn có môi trường bị hạn chế về tài nguyên, hãy lưu ý rằng apt có thể được cấu hình theo nhiều cách để hoạt động một cách đáng tin cậy và không phô trương với thời gian chạy khác nhau, mức độ đẹp, giới hạn băng thông và nhiều cài đặt hữu ích khác.


4
Lệnh này hiển thị như thể bạn đang chạy trong thiết bị đầu cuối nếu nó chưa hoàn thành. tail -f /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
Adsy2010
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.