Kiểm tra bản cài đặt Ubuntu Server 20.04 stock, có vẻ như nâng cấp không giám sát
chạy được kích hoạt bởi apt-daily-upgrade.timer
. Điều này kích hoạt hàng ngày lúc 6 giờ sáng với độ trễ ngẫu nhiên lên đến một giờ.
root@ubuntu:~# systemctl cat apt-daily-upgrade.timer
# /lib/systemd/system/apt-daily-upgrade.timer
[Đơn vị]
Mô tả=Nâng cấp apt hàng ngày và các hoạt động dọn dẹp
Sau=apt-daily.timer
[Hẹn giờ]
OnCalendar=*-*-* 6:00
RandomizedDelaySec=60m
Kiên trì = đúng
[Cài đặt]
WantedBy=timers.target
Một giải pháp tiềm năng đơn giản là ghi đè lên OnCalendar
cài đặt để bộ hẹn giờ kích hoạt vào thời điểm có nhiều khả năng trực tuyến hơn. Ví dụ
mkdir /etc/systemd/system/apt-daily-upgrade.timer.d
con mèo <<EOF >/etc/systemd/system/apt-daily-upgrade.timer.d/override.conf
[Hẹn giờ]
OnCalendar=
OnCalendar=*-*-* 12:00
EOF
systemctl daemon-tải lại
Thay vào đó, thao tác này sẽ kích hoạt bộ hẹn giờ vào buổi trưa. nâng cấp không giám sát
chỉ nên chạy một lần mỗi ngày theo mặc định. Đó là do cài đặt cho APT::Periodic::Nâng cấp không giám sát
. Cherry chọn một bình luận từ /usr/lib/apt/apt.systemd.daily
# APT::Periodic::Unattended-Upgrade "0";
# - Chạy tập lệnh nâng cấp bảo mật "nâng cấp không giám sát"
# cứ sau n ngày (0=đã tắt)
Giá trị cấu hình chứng khoán cho điều này là 1
ngày.
root@ubuntu:~# apt-config dump APT::Periodic::Unattended-Upgrade
APT::Periodic::Unattended-Upgrade "1";
Bạn có thể định cấu hình bộ hẹn giờ thường xuyên hơn một lần mỗi ngày bằng cách thêm cấu hình apt. Liên kết nhận xét của https://unix.stackexchange.com/a/541426/147262 có một số gợi ý. Đây là một ví dụ đơn giản về việc thêm cấu hình apt
con mèo <<EOF > /etc/apt/apt.conf.d/90myuu
> APT::Periodic::Unattended-Upgrade "luôn luôn";
> EOF
Nếu bạn ghi đè lên apt-daily-upgrade.timer
sau đó bạn có thể muốn thực hiện ghi đè tương tự cho apt-daily.timer
. Điều này cũng có một giá trị cấu hình apt tương ứng APT::Periodic::Update-Package-Lists
.
CHỈNH SỬA Tôi đã thay đổi đề xuất từ chạy hàng giờ sang chạy một lần mỗi ngày vào thời điểm có nhiều khả năng trực tuyến hơn. Tôi nhận ra rằng cài đặt mặc định là chạy một lần mỗi ngày không bị ảnh hưởng bởi việc có hay không nâng cấp không giám sát
thực sự có bất kỳ gói nào để cập nhật. Vì vậy, nâng cấp không giám sát
vẫn có thể tiếp tục chỉ chạy khi không trực tuyến.
bình luận
Có bất kỳ nhược điểm tiềm ẩn nào khi ép xung bộ hẹn giờ hàng ngày như vậy không?
Các nâng cấp chạy qua đêm theo mặc định để tránh ảnh hưởng đến hoạt động của người dùng. Bạn sẽ không còn sự tiện lợi đó nữa.
Điều kiệnACPower=true không được đáp ứng. Bạn có thể thay đổi cài đặt đó
Bạn nên thay đổi cài đặt này bằng cách sử dụng tệp ghi đè chứ không phải bằng cách sửa đổi tệp dịch vụ đã cài đặt gói
mkdir /etc/systemd/system/apt-daily-upgrade.service.d
con mèo <<EOF > /etc/systemd/system/apt-daily-upgrade.service.d/override.conf
[Đơn vị]
Điều kiệnACPower=false
EOF
systemctl daemon-tải lại
Điều gì sẽ là lý do hoặc nhược điểm của việc ghi đè apt-daily.timer?
apt-daily.timer
kích hoạt các lệnh apt để cập nhật thông tin gói và tải xuống các bản cập nhật có sẵn. Nếu các lệnh này tiếp tục chạy khi không có mạng thì nâng cấp không giám sát
có thể không cập nhật bất cứ điều gì vì nó có thể không biết các bản cập nhật có sẵn.