Sau khi gỡ lỗi này tôi tìm thấy giải pháp.
Nguyên nhân cốt lõi của vấn đề này nằm ở thực tế là trong Ubuntu 16.04 trở lên, các bản nâng cấp không giám sát sử dụng systemd - không phải cron - để lên lịch cập nhật với độ trễ ngẫu nhiên rất lớn:
/lib/systemd/system/apt-daily.timer
được cấu hình với
OnCalendar=*-*-* 6,18:00
RandomizedDelaySec=12h
Điều này có nghĩa là nó sẽ chạy hai lần một ngày, vào lúc 6:00 và 18:00, với độ trễ ngẫu nhiên lên tới 12 giờ. Vì điều này không phải lúc nào cũng được chấp nhận cho môi trường sản xuất, tôi đã phải ghi đè các cài đặt này.
Để giữ cho các tệp cấu hình gói không bị ảnh hưởng, tôi đã xác định ghi đè của mình trong /etc/systemd/system/apt-daily.timer.d/override.conf
( Cập nhật : vui lòng đọc phần chỉnh sửa ở cuối câu trả lời này để biết thêm thông tin về tên tệp và vị trí, vì nó có vẻ hơi thay đổi).
Tôi đặt ở đó
[Timer]
OnCalendar=
OnCalendar=06:00
RandomizedDelaySec=1h
để có các nâng cấp không giám sát chạy lúc 6:00 cộng với độ trễ ngẫu nhiên lên đến một giờ.
Sau đó, tôi chỉ cần khởi động lại bộ đếm thời gian với systemctl restart apt-daily.timer
(cuối cùng cần tải lại daemon).
Không giám sát - các bản cập nhật hiện đang chạy ở thời điểm dự đoán một lần nữa!
Chỉnh sửa : Có vẻ như đối với Ubuntu 18.04, mọi thứ đã thay đổi một chút. Ghi đè nên được lưu trữ trong /etc/systemd/system/apt-daily-upgrade.timer.d/override.conf
và trông như thế này:
[Timer]
OnCalendar=*-*-* 6:00
RandomizedDelaySec=1h
@PerlDuck đã đề cập đến cách tạo tệp ghi đè với tên và vị trí phù hợp trong một nhận xét bên dưới. Thay vì tự tạo một tệp, vui lòng xem xét việc chạysudo systemctl edit apt-daily.timer