Điểm:0

Điều gì sẽ làm cho các bản nâng cấp tự động chạy đáng tin cậy trên máy tính xách tay?

lá cờ cn

Tôi đã phải vật lộn với nhiều hình thức khác nhau, năm này qua năm khác. Nhìn thấy đâyđây. Hoặc là tôi đang định cấu hình sai thứ gì đó (không chắc) hoặc tôi đang sử dụng máy tính của mình theo một cách kỳ lạ (tôi không nhìn thấy).

Máy tính của tôi là máy tính xách tay:

  1. Trước đây, tôi đã tắt nó vào ban đêm - kết quả là nâng cấp không giám sát thường không thể kết nối với internet khi nó muốn. Kết quả: máy tính của tôi không được nâng cấp và không an toàn trong nhiều tháng liên tục.
  2. Những ngày này, tôi chủ yếu duy trì trạng thái đăng nhập nhưng kết nối điểm phát sóng không khả dụng vào ban đêm. Vì vậy, bây giờ, các nâng cấp không giám sát chạy nhưng không thấy gì để cập nhật, rõ ràng là do cập nhật apt đã không thể chạy thành công. Kết quả: máy tính của tôi không được nâng cấp và không an toàn trong nhiều tháng liên tục.

Làm thế nào tôi có thể đảm bảo hệ thống hẹn giờ cho cập nhật apt không đi hàng tuần và hàng tháng giữa các lần chạy?

đầu ra điển hình của /var/log/unattended-upgrades/unattended-upgrades.log

2022-02-09 06:30:27,331 THÔNG TIN Bắt đầu tập lệnh nâng cấp không giám sát
2022-02-09 06:30:27,334 THÔNG TIN Nguồn gốc được phép là: o=Ubuntu,a=focal, o=Ubuntu,a=focal-security, o=UbuntuESMApps,a=focal-apps-security, o=UbuntuESM,a =focal-infra-security, o=UbuntuESM,a=focal-security
2022-02-09 06:30:27,335 THÔNG TIN Danh sách đen ban đầu: 
2022-02-09 06:30:27,336 THÔNG TIN Danh sách trắng ban đầu (không nghiêm ngặt): 
2022-02-09 06:30:40,279 THÔNG TIN Không tìm thấy gói nào có thể nâng cấp mà không cần giám sát và không có yêu cầu tự động xóa đang chờ xử lý

Sudo systemctl status apt-daily:

* apt-daily.service - Hoạt động tải xuống apt hàng ngày
     Đã tải: đã tải (/lib/systemd/system/apt-daily.service; tĩnh; giá trị đặt trước của nhà cung cấp: đã bật)
     Đang hoạt động: không hoạt động (đã chết)
TriggeredBy: * apt-daily.timer
  Điều kiện: điều kiện bắt đầu không thành công vào Thứ Tư 2022-02-09 20:42:17 EET; 4h 17phút trước
             ââ Điều kiệnACPower=true không được đáp ứng
       Tài liệu: man:apt(8)

Ngày 09 tháng 2 20:42:17 tbox systemd[1]: Kiểm tra tình trạng dẫn đến các hoạt động tải xuống apt hàng ngày bị bỏ qua>
dòng 1-9/9 (HẾT)

Sudo systemctl list-timers apt-daily:

TIẾP THEO TRÁI ĐƠN VỊ ĐÃ QUA CUỐI CÙNG KÍCH HOẠT>
Thứ năm 2022-02-10 16:15:14 EET 15 giờ bên trái Thứ tư 2022-02-09 20:42:17 EET 4 giờ 22 phút trước apt-daily.timer apt-daily>

1 giờ được liệt kê.
Vượt qua --all để xem cả bộ hẹn giờ đã tải nhưng không hoạt động.
dòng 1-5/5 (HẾT)

Lưu ý: đã có một lần khởi động lại cách đây vài giờ. Không được cắm vào nhưng đã được kết nối với mạng.

KẾT LUẬN CUỐI CÙNG. Đi với phiên bản của giải pháp được chấp nhận bên dưới, thay đổi apt-daily.timer đến thời điểm có nhiều khả năng kết nối internet hơn. Cảm ơn những người đã giúp đỡ. Kết thúc.

Organic Marble avatar
lá cờ us
Tại sao không chỉ chạy nâng cấp thủ công mỗi tuần một lần?
Nmath avatar
lá cờ ng
Tôi không chắc vấn đề là gì. Thiết bị của bạn không thể cập nhật khi bị treo hoặc không được kết nối với Internet. Ngoài ra, nâng cấp không giám sát chỉ cập nhật các lỗi nghiêm trọng và bảo mật. Bạn vẫn cần thực hiện bảo trì thường xuyên, vì vậy việc hệ thống của bạn không được cập nhật trong nhiều tháng không phải là lỗi của việc nâng cấp không giám sát.
lá cờ us
Làm sao bạn có thể nói rằng việc tắt máy tính xách tay trong thời gian các bản cập nhật được lên lịch chạy hoặc tắt kết nối internet là do hệ điều hành? Canonical có thể biết khi nào internet của bạn đang hoạt động không? Sửa đổi bộ hẹn giờ systemd để căn chỉnh khi bạn biết kết nối mạng đang hoạt động hoặc chạy các bản cập nhật theo cách thủ công.
Sqerstet avatar
lá cờ cn
@OrganicMarble Bởi vì "chỉ" trông coi máy tính cá nhân để nhận các bản cập nhật bảo mật có vẻ không tối ưu hay bạn không đồng ý?
Organic Marble avatar
lá cờ us
Tôi không đồng ý rằng việc dành 30 phút mỗi tuần một lần là "trông trẻ". Ít nhất là cho những đứa con của tôi.
Sqerstet avatar
lá cờ cn
@Nmath Ba câu hỏi có liên quan nhưng khác nhau: ở đây tôi đang tìm hiểu cụ thể về cách khắc phục gốc rễ của vấn đề có vẻ là bộ đếm thời gian `apt update` - Tôi tin rằng UU nên làm điều này, do đó có tiêu đề. Nếu bạn thực sự không thấy rằng tất cả những điều này là một vấn đề, thì tôi không biết phải nói gì. Từ khi nào Joe Ubuntu User cũng cần phải "thực hiện bảo trì thường xuyên" trên máy tính xách tay của mình khi bật các bản cập nhật bảo mật? Tui bỏ lỡ điều gì vậy? Tôi biết rằng UU hoạt động tốt trên các máy chủ nhưng tôi nghĩ rằng tôi đã xác định được rằng nó không hoạt động trên máy tính xách tay của người dùng cuối.
Sqerstet avatar
lá cờ cn
@doneal24 Rõ ràng là chúng tôi không đồng ý về những gì hệ điều hành tiêu dùng nên làm. Tôi tin rằng nó sẽ giữ an toàn cho máy tính xách tay. Theo định nghĩa, máy tính xách tay không phải lúc nào cũng được cắm hoặc kết nối với internet. Đây là một kịch bản hoàn toàn tầm thường và bình thường và Ubuntu không thể xử lý nó. BTW có một lỗi được đăng trên trình theo dõi Canonical - đại khái là dòng của họ là họ đang xem xét nó nhưng trong khi đó là "lỗi của apt". Nếu bạn có thể mở rộng mẹo cuối cùng của mình thành một câu trả lời khả thi, điều đó có thể rất hữu ích.
lá cờ us
Tôi cũng muốn nói rằng Windows hoặc Mac OS không thể xử lý các kết nối internet không liên tục và có thể ngắn để cập nhật, vì vậy sự cố không chỉ giới hạn ở Ubuntu. Hệ điều hành dành cho người tiêu dùng không giữ an toàn cho máy tính xách tay trừ khi bạn có thể giữ chúng kết nối với máy chủ cập nhật. Tôi không có sẵn hệ thống Ubuntu nên tôi không thể nói cách sửa đổi bộ hẹn giờ systemd - đủ dễ để nghiên cứu. Cập nhật thủ công hàng tuần không phải là một việc vặt lớn.
Sqerstet avatar
lá cờ cn
@doneal24 Chà, chúng tôi sẽ tiếp tục không đồng ý. Yêu cầu người dùng thông thường nhớ cập nhật bảo mật trên PC tiêu dùng đối với tôi là một lỗ hổng bảo mật cấp độ Windows-98 thảm khốc. Mac OS không thể làm điều này? Nếu bạn nói vậy. Thật kỳ lạ, ứng dụng khách đồng bộ hóa của tôi *có thể* làm điều đó. Cho dù thói quen sử dụng máy tính xách tay của tôi trái phép đến mức nào - cắm và rút, có wifi và không có wifi, tất cả các kiểu điên rồ! - hình ảnh của tôi luôn ở đó vào ngày hôm sau. Nó chỉ hoạt động. Nâng cấp không giám sát thì không.
Sqerstet avatar
lá cờ cn
@Nmath Và thực tế vẫn có một câu hỏi ở đó. Nó có ý nghĩa hơn nhiều người khác trên trang web. Bạn có một câu trả lời?
user535733 avatar
lá cờ cn
Đầu ra nhật ký Nâng cấp không giám sát ở đâu? Đầu ra dấu thời gian ở đâu? Trạng thái systemctl cho apt-daily-upgrade ở đâu? Chúng tôi có thể giải quyết rất nhiều vấn đề, nhưng chúng tôi không phải là nhà ngoại cảm -- chúng tôi cần dữ liệu để xử lý.
Sqerstet avatar
lá cờ cn
@ user535733 Đã thêm đầu ra nhật ký điển hình của UU. Nhật ký nâng cấp apt-hàng ngày ở đâu?
user535733 avatar
lá cờ cn
Nhật ký của bạn cho thấy rằng Nâng cấp không giám sát đã chạy bình thường vào lúc 06:30. Nó không tìm thấy bản nâng cấp bảo mật nào để tải xuống hôm nay. Đó trông giống như hành vi bình thường. Điều gì khiến bạn tin rằng có điều gì đó khác biệt đang diễn ra? Bạn đã xem lại phần còn lại của tháng này? Bạn cũng đã xem lại tháng trước phải không? Nó chỉ mất một chút thời gian.Tôi đã có một bản nâng cấp bảo mật lớn vào khoảng ngày 21 tháng 1 (libreoffice vào ngày 21.10) và khá yên tĩnh trước và sau đó. Bạn đang chạy 20.04, vì vậy phiên bản của bạn có thể khác...và yên tĩnh hơn.
Sqerstet avatar
lá cờ cn
@ user535733 Vâng, tất nhiên là tôi đã làm, do đó có cuộc nói chuyện về "tháng". Nó không tìm thấy gì - như được hiển thị - lặp đi lặp lại, bởi vì các nguồn không được cập nhật. Khi tôi chạy `apt update` theo cách thủ công, nó sẽ hoạt động vào lần tiếp theo. Vấn đề là UU và `apt` không đủ thông minh để lắng nghe sự kiện kết nối internet - hoặc có thể lên lịch lại vào những thời điểm ngẫu nhiên và ngày càng thường xuyên hơn cho đến khi chúng nhận được sự kiện. Và hình như họ không nói chuyện với nhau. Tôi không hiểu chi tiết, tôi không phải là kỹ thuật. Bạn có thể cho tôi biết nơi tìm nhật ký nâng cấp apt hàng ngày không?
user535733 avatar
lá cờ cn
Bạn đã thấy: "apt-daily-upgrade" là Nâng cấp không giám sát. Bây giờ bạn đang nói rằng apt-daily (không phải apt-daily-upgrade, not Unattended Upgrades) mới là vấn đề. Được rồi, hãy cho chúng tôi thấy đầu ra hoàn chỉnh của `systemctl status apt-daily` và của `systemctl list-timers apt-daily` Đó là các đầu ra rộng, vì vậy hãy đảm bảo thiết bị đầu cuối của bạn đủ rộng để bắt toàn bộ đầu ra.
Sqerstet avatar
lá cờ cn
@ user535733 Xong. Nhà ga càng rộng càng tốt, dường như là một sự siết chặt.
user535733 avatar
lá cờ cn
Đầu ra của bạn cho thấy rằng apt-daily đã cố chạy lúc 20:42 và sẽ thử lại vào lúc 16:15 ngày mai. Không có gì sai ở đó. Lý do nó không kết nối với mạng là hệ thống đã hết pin: `Điều kiệnACPower=true không được đáp ứng`. Bạn có thể thay đổi cài đặt đó, nếu muốn, bằng cách nhận xét dòng thích hợp trong `/lib/systemd/system/apt-daily.service`
Sqerstet avatar
lá cờ cn
@ user535733 OK, điều này rất hữu ích, cảm ơn.
Điểm:1
lá cờ jp

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.

Sqerstet avatar
lá cờ cn
Điều này là siêu hữu ích. Cảm ơ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?
Sqerstet avatar
lá cờ cn
Liên quan: https://unix.stackexchange.com/a/541426/147262
Sqerstet avatar
lá cờ cn
Cũng cần làm theo lời khuyên của @user535733 phải không?: "Lý do không kết nối được với mạng là do hệ thống hết pin: Điều kiệnACPower=true không được đáp ứng. Bạn có thể thay đổi cài đặt đó, nếu muốn, bằng cách bình luận dòng thích hợp trong /lib/systemd/system/apt-daily.service"
Sqerstet avatar
lá cờ cn
Điều gì sẽ là lý do hoặc nhược điểm của việc ghi đè `apt-daily.timer`?
Andrew Lowther avatar
lá cờ jp
@Sqerstet Tôi đã chỉnh sửa bài đăng để sửa đổi đề xuất của mình và giải quyết các nhận xét của bạn.
Sqerstet avatar
lá cờ cn
Tất cả trở nên rõ ràng hơn nhiều bây giờ. Chỉ một điều cuối cùng tôi không nhận được.Như bạn nói, bản nâng cấp thực tế có thể chạy khi ngoại tuyến miễn là các nguồn đã được cập nhật. Vậy tại sao không chuyển `apt-daily.timer` sang buổi trưa và để nguyên `apt-daily-upgrade.timer`?
Andrew Lowther avatar
lá cờ jp
@Sqerstet Tôi thích ý tưởng chỉ cập nhật `apt-daily.timer`. Tôi đã không xem xét nó, nhưng về lý thuyết tôi nghĩ rằng nó sẽ phù hợp với tình huống của bạn. Tất cả điều này yêu cầu thử nghiệm thực tế.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.