Score:0

อะไรจะทำให้การอัปเกรดแบบอัตโนมัติทำงานได้อย่างน่าเชื่อถือบนแล็ปท็อป

ธง cn

ฉันต้องดิ้นรนในรูปแบบต่างๆปีแล้วปีเล่า ดู ที่นี่ และ ที่นี่. ฉันกำลังกำหนดค่าบางอย่างผิด (ไม่น่าเป็นไปได้) หรือฉันใช้คอมพิวเตอร์ในทางที่แปลกประหลาด (ฉันไม่เห็น)

คอมพิวเตอร์ของฉันคือแล็ปท็อป:

  1. ก่อนหน้านี้ฉันปิดตอนกลางคืน - เป็นผลให้ อัพเกรดแบบอัตโนมัติ มักไม่สามารถเชื่อมต่ออินเทอร์เน็ตได้เมื่อต้องการ ผลลัพธ์: คอมพิวเตอร์ของฉันไม่ได้อัปเกรดและไม่ปลอดภัยเป็นเวลาหลายเดือน
  2. ทุกวันนี้ฉันอยู่ในระบบเป็นส่วนใหญ่ แต่การเชื่อมต่อฮอตสปอตไม่สามารถใช้งานได้ในตอนกลางคืน ดังนั้นตอนนี้ อัพเกรดแบบอัตโนมัติ ทำงาน แต่ไม่พบสิ่งใดให้อัปเดต เห็นได้ชัดว่าเป็นเพราะ การปรับปรุงที่เหมาะสม ไม่สามารถดำเนินการได้สำเร็จ ผลลัพธ์: คอมพิวเตอร์ของฉันไม่ได้อัปเกรดและไม่ปลอดภัยเป็นเวลาหลายเดือน

ฉันจะมั่นใจได้อย่างไรว่า ระบบ จับเวลาสำหรับ การปรับปรุงที่เหมาะสม ไม่ไปสัปดาห์และเดือนระหว่างการวิ่ง?

เอาต์พุตทั่วไปของ /var/log/unattended-upgrades/unattended-upgrades.log

2022-02-09 06:30:27,331 INFO กำลังเริ่มสคริปต์การอัปเกรดแบบอัตโนมัติ
2022-02-09 06:30:27,334 INFO ต้นทางที่อนุญาตคือ: 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 ข้อมูล บัญชีดำเริ่มต้น: 
2022-02-09 06:30:27,336 INFO รายการที่อนุญาตเริ่มต้น (ไม่เข้มงวด): 
2022-02-09 06:30:40,279 ข้อมูล ไม่พบแพ็คเกจที่สามารถอัพเกรดได้โดยไม่ต้องใส่ข้อมูล และไม่มีการลบอัตโนมัติที่รอดำเนินการ

sudo systemctl สถานะ apt-daily:

* apt-daily.service - กิจกรรมดาวน์โหลด apt รายวัน
     โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/apt-daily.service; คงที่; การตั้งค่าล่วงหน้าของผู้ขาย: เปิดใช้งาน)
     ใช้งาน: ไม่ใช้งาน (ตาย)
ทริกเกอร์โดย: * apt-daily.timer
  เงื่อนไข: เงื่อนไขเริ่มต้นล้มเหลวในวันพุธที่ 2022-02-09 20:42:17 EET; 4 ชม. 17 นาทีที่แล้ว
             ââ ConditionACPower=true ไม่ตรง
       เอกสาร: man:apt(8)

9 ก.พ. 20:42:17 tbox systemd[1]: การตรวจสอบเงื่อนไขส่งผลให้กิจกรรมการดาวน์โหลด apt รายวันถูกข้าม>
บรรทัดที่ 1-9/9 (จบ)

sudo systemctl list-timers apt-daily:

ถัดไป ซ้าย ผ่านไปล่าสุด หน่วย เปิดใช้งาน>
พฤ. 2022-02-10 16:15:14 EET 15 ชม. เหลือ พ. 2022-02-09 20:42:17 EET 4 ชม. 22 นาที ที่ผ่านมา apt-daily.timer apt-daily>

แสดงตัวจับเวลา 1 ตัว
ผ่าน --all เพื่อดูตัวจับเวลาที่โหลดแต่ไม่ได้ใช้งานเช่นกัน
บรรทัดที่ 1-5/5 (จบ)

หมายเหตุ: มีการรีบูตเมื่อไม่กี่ชั่วโมงก่อน ไม่ได้เสียบปลั๊ก แต่เชื่อมต่อกับเครือข่าย

บทสรุปสุดท้าย ใช้เวอร์ชันของโซลูชันที่ยอมรับด้านล่าง เปลี่ยน apt-daily.timer จนถึงเวลาที่การเชื่อมต่ออินเทอร์เน็ตน่าจะใช้งานได้มากขึ้น ขอบคุณสำหรับคนที่ช่วย ตอนจบ.

Organic Marble avatar
us flag
ทำไมไม่เรียกใช้การอัปเกรดด้วยตนเองสัปดาห์ละครั้ง
Nmath avatar
ng flag
ฉันไม่แน่ใจว่าปัญหาคืออะไร อุปกรณ์ของคุณไม่สามารถอัปเดตได้เมื่อถูกระงับหรือไม่ได้เชื่อมต่อกับอินเทอร์เน็ต นอกจากนี้ การอัปเกรดแบบอัตโนมัติจะอัปเดตเฉพาะเพื่อความปลอดภัยและจุดบกพร่องที่สำคัญเท่านั้น คุณยังคงต้องทำการบำรุงรักษาตามปกติ ดังนั้นการที่ระบบของคุณไม่ได้รับการอัปเดตครั้งละหลายเดือนจึงไม่ใช่ความผิดของการอัปเกรดแบบอัตโนมัติ
us flag
คุณจะพูดได้อย่างไรว่าการปิดแล็ปท็อปในช่วงเวลาที่มีการอัปเดตตามกำหนดเวลาหรือปิดการเชื่อมต่ออินเทอร์เน็ตเป็นปัญหาของระบบปฏิบัติการ Canonical สามารถรู้ได้หรือไม่ว่าอินเทอร์เน็ตของคุณเปิดใช้งานเมื่อใด แก้ไขตัวจับเวลา systemd เพื่อจัดตำแหน่งเมื่อคุณทราบว่าการเชื่อมต่อเครือข่ายเปิดอยู่ หรือเรียกใช้การอัปเดตด้วยตนเอง
Sqerstet avatar
cn flag
@OrganicMarble เนื่องจาก "แค่" การดูแลคอมพิวเตอร์ส่วนบุคคลเพื่อรับการอัปเดตความปลอดภัยดูเหมือนจะไม่ดีหรือคุณไม่เห็นด้วย
Organic Marble avatar
us flag
ฉันไม่เห็นด้วยว่าการสละเวลา 30 นาทีสัปดาห์ละครั้งเป็นการ "เลี้ยงเด็ก" อย่างน้อยก็สำหรับลูกของฉัน
Sqerstet avatar
cn flag
@Nmath คำถามสามข้อเกี่ยวข้องกันแต่แตกต่างกัน: ที่นี่ฉันกำลังกลับบ้านโดยเฉพาะเกี่ยวกับวิธีแก้ไขต้นตอของปัญหาซึ่งดูเหมือนว่าจะเป็นตัวจับเวลา `apt update` - ฉันเชื่อว่า UU ควรทำสิ่งนี้ ดังนั้นชื่อเรื่อง หากคุณไม่เห็นว่าทั้งหมดนี้เป็นปัญหาจริง ๆ ฉันไม่รู้จะพูดอะไร ผู้ใช้ Joe Ubuntu จำเป็นต้อง "ทำการบำรุงรักษาตามปกติ" บนแล็ปท็อปตั้งแต่เมื่อใดเมื่อเปิดการอัปเดตความปลอดภัย ฉันพลาดอะไรไปรึเปล่า? ฉันรู้ว่า UU ใช้งานได้ดีบนเซิร์ฟเวอร์ แต่ฉันคิดว่าฉันยอมรับแล้วว่ามันไม่ได้ใช้กับแล็ปท็อปของผู้ใช้ปลายทาง
Sqerstet avatar
cn flag
@doneal24 เห็นได้ชัดว่าเราไม่เห็นด้วยกับสิ่งที่ระบบปฏิบัติการสำหรับผู้บริโภคควรทำ ฉันเชื่อว่าควรรักษาแล็ปท็อปให้ปลอดภัย ตามความหมายแล้ว แล็ปท็อปไม่ได้เสียบปลั๊กหรือเชื่อมต่อกับอินเทอร์เน็ตตลอดเวลา นี่เป็นสถานการณ์ซ้ำซากและธรรมดาอย่างแน่นอน และ Ubuntu ไม่สามารถจัดการได้ BTW มีข้อผิดพลาดที่โพสต์บน Canonical tracker - บรรทัดของพวกเขาคือพวกเขากำลังตรวจสอบ แต่ในขณะเดียวกันก็เป็น "ความผิดของ apt" หากคุณสามารถขยายคำแนะนำสุดท้ายของคุณให้เป็นคำตอบที่ใช้ได้จริง นั่นอาจเป็นประโยชน์มาก
us flag
ฉันจะบอกด้วยว่า Windows หรือ Mac OS ไม่สามารถจัดการการเชื่อมต่ออินเทอร์เน็ตเป็นระยะและอาจสั้นสำหรับการอัปเดต ดังนั้นปัญหาไม่ได้จำกัดเฉพาะ Ubuntu ระบบปฏิบัติการสำหรับผู้บริโภคไม่ได้ทำให้แล็ปท็อปปลอดภัย เว้นแต่ว่าคุณจะสามารถเชื่อมต่อกับเซิร์ฟเวอร์การอัปเดตได้ ฉันไม่มีระบบ Ubuntu ที่มีประโยชน์ดังนั้นฉันจึงไม่สามารถพูดได้ว่าจะแก้ไขตัวจับเวลา systemd ได้อย่างไร - ง่ายพอที่จะค้นคว้า การอัปเดตด้วยตนเองทุกสัปดาห์ไม่ใช่งานหลัก
Sqerstet avatar
cn flag
@doneal24 เราจะไม่เห็นด้วยต่อไป การขอให้ผู้ใช้ทั่วไปอย่าลืมทำการอัปเดตความปลอดภัยบนพีซีสำหรับผู้บริโภคถือเป็นช่องโหว่ด้านความปลอดภัยระดับ Windows-98 ที่ร้ายแรงสำหรับฉัน Mac OS ไม่สามารถทำได้? ถ้าคุณว่างั้น. ผิดปกติ ไคลเอนต์การซิงค์ของฉัน *สามารถ* ทำได้ ไม่ว่านิสัยการใช้แล็ปท็อปของฉันจะไม่ได้รับอนุญาตแค่ไหน - การเสียบเข้าและออก, wifi และไม่ใช้ wifi, ความบ้าคลั่งทุกประเภท! - รูปภาพของฉันจะอยู่ที่นั่นเสมอในวันถัดไป มันใช้งานได้จริง การอัปเกรดแบบไม่ต้องใส่ข้อมูลไม่ได้
Sqerstet avatar
cn flag
@Nmath และยังมีคำถามอยู่ที่นั่น มันสมเหตุสมผลกว่าคนอื่น ๆ ในเว็บไซต์ คุณมีคำตอบหรือไม่?
user535733 avatar
cn flag
เอาต์พุตบันทึก Unattended Upgrades อยู่ที่ไหน เอาต์พุตการประทับเวลาอยู่ที่ไหน สถานะ systemctl สำหรับ apt-daily-upgrade อยู่ที่ไหน เราสามารถแก้ปัญหาได้มากมาย แต่เราไม่มีพลังจิต -- เราต้องการข้อมูลในการทำงานด้วย
Sqerstet avatar
cn flag
@ user535733 เพิ่มเอาต์พุตบันทึกทั่วไปของ UU บันทึก apt-daily-upgrade อยู่ที่ไหน
user535733 avatar
cn flag
บันทึกของคุณแสดงว่า Unattended Upgrades ทำงานอย่างถูกต้องเมื่อเวลา 06:30 น. ไม่พบการอัปเกรดความปลอดภัยให้ดาวน์โหลดในวันนี้ ดูเหมือนพฤติกรรมปกติ อะไรทำให้คุณเชื่อว่ามีบางสิ่งที่แตกต่างออกไป? คุณได้ทบทวนส่วนที่เหลือของเดือนนี้หรือไม่? คุณทบทวนเมื่อเดือนที่แล้วด้วยหรือไม่? ใช้เวลาเพียงครู่เดียวฉันได้รับการอัปเกรดความปลอดภัยครั้งใหญ่ประมาณวันที่ 21 มกราคม (libreoffice ในวันที่ 21.10) และค่อนข้างเงียบทั้งก่อนและหลัง คุณกำลังเรียกใช้ 20.04 ดังนั้นของคุณอาจแตกต่าง...และเงียบกว่า
Sqerstet avatar
cn flag
@ user535733 ใช่แล้ว แน่นอน ฉันจึงพูดถึง "เดือน" ไม่พบสิ่งใด - ดังที่แสดง - ซ้ำแล้วซ้ำอีก เนื่องจากแหล่งที่มาไม่ได้รับการอัปเดต เมื่อฉันเรียกใช้ `apt update` ด้วยตนเอง มันจะทำงานในครั้งต่อไป ปัญหาคือ UU และ `apt` ไม่ฉลาดพอที่จะฟังเหตุการณ์การเชื่อมต่ออินเทอร์เน็ต - หรืออาจจัดตารางเวลาใหม่แบบสุ่มและบ่อยขึ้นเรื่อย ๆ จนกว่าจะได้รับ และเห็นได้ชัดว่าพวกเขาไม่คุยกัน ฉันไม่เข้าใจรายละเอียด ฉันไม่ใช่นักเทคนิค คุณช่วยบอกฉันได้ไหมว่าจะหาบันทึก apt-daily-upgrade ได้ที่ไหน
user535733 avatar
cn flag
คุณเห็นแล้ว: "apt-daily-upgrade" คือ Unattended Upgrades ตอนนี้คุณกำลังบอกว่า apt-daily (ไม่ใช่ apt-daily-upgrade ไม่ใช่ Unattended Upgrades) เป็นปัญหา โอเค แสดงเอาต์พุตทั้งหมดของ `systemctl status apt-daily' และ 'systemctl list-timers apt-daily' ให้เราดู นั่นคือเอาต์พุตแบบกว้าง ดังนั้นตรวจสอบให้แน่ใจว่าเทอร์มินัลของคุณกว้างพอที่จะรับเอาต์พุตทั้งหมด
Sqerstet avatar
cn flag
@user535733 เสร็จแล้ว เทอร์มินัลกว้างที่สุดเท่าที่จะเป็นไปได้ดูเหมือนจะบีบ
user535733 avatar
cn flag
ผลลัพธ์ของคุณแสดงว่า apt-daily พยายามรันเวลา 20:42 น. และจะลองอีกครั้งในวันพรุ่งนี้เวลา 16:15 น. ไม่มีอะไรผิดปกติที่นั่น สาเหตุที่ไม่เชื่อมต่อกับเครือข่ายคือระบบใช้แบตเตอรี่: `ConditionACPower=true is not met` คุณสามารถเปลี่ยนการตั้งค่านั้นได้หากต้องการ โดยแสดงความคิดเห็นในบรรทัดที่เหมาะสมใน `/lib/systemd/system/apt-daily.service`
Sqerstet avatar
cn flag
@ user535733 ตกลง สิ่งนี้มีประโยชน์มาก ขอบคุณ
Score:1
ธง jp

ตรวจสอบสต็อกการติดตั้ง Ubuntu Server 20.04 ดูเหมือนว่า อัพเกรดแบบอัตโนมัติ การวิ่งถูกกระตุ้นโดย apt-daily-upgrade.timer. สิ่งนี้จะเกิดขึ้นทุกวันเวลา 6.00 น. โดยมีความล่าช้าแบบสุ่มถึงหนึ่งชั่วโมง

root@ubuntu:~# systemctl cat apt-daily-upgrade.timer
# /lib/systemd/system/apt-daily-upgrade.timer
[หน่วย]
คำอธิบาย=การอัปเกรด apt รายวันและกิจกรรมที่สะอาด
หลังจาก = apt-daily.timer

[ตัวจับเวลา]
ในปฏิทิน=*-*-* 6:00
RandomizedDelaySec=60m
ถาวร = จริง

[ติดตั้ง]
WantedBy=timers.target

วิธีแก้ปัญหาง่ายๆ ที่อาจเป็นไปได้คือการแทนที่ บนปฏิทิน การตั้งค่าเพื่อให้ตัวจับเวลาทริกเกอร์ในเวลาที่มีแนวโน้มออนไลน์มากขึ้น ตัวอย่างเช่น

mkdir /etc/systemd/system/apt-daily-upgrade.timer.d
แมว <<EOF >/etc/systemd/system/apt-daily-upgrade.timer.d/override.conf
[ตัวจับเวลา]
ในปฏิทิน=
ในปฏิทิน=*-*-* 12:00 น
อฟ
systemctl daemon-โหลดซ้ำ

การดำเนินการนี้จะเรียกตัวจับเวลาตอนเที่ยงแทน อัพเกรดแบบอัตโนมัติ ควรเรียกใช้เพียงครั้งเดียวต่อวันตามค่าเริ่มต้น นั่นเป็นเพราะการตั้งค่าสำหรับ APT::Periodic::Unattended-Upgrade. เชอร์รี่เลือกความคิดเห็นจาก /usr/lib/apt/apt.systemd.daily

# APT::Periodic::Unattended-Upgrade "0";
# - เรียกใช้สคริปต์อัปเกรดความปลอดภัย "แบบไม่ต้องใส่ข้อมูล"
# ทุก n วัน (0=ปิดใช้งาน)

ค่าการกำหนดค่าสต็อกสำหรับสิ่งนี้คือ 1 วัน.

root@ubuntu:~# apt-config dump APT::Periodic::Unattended-Upgrade
APT::Periodic::Unattended-Upgrade "1";

คุณสามารถกำหนดค่าตัวจับเวลาให้บ่อยกว่าหนึ่งครั้งต่อวันโดยเพิ่มการกำหนดค่า apt ลิงค์แสดงความคิดเห็นของ https://unix.stackexchange.com/a/541426/147262 มีข้อเสนอแนะหลายประการ นี่คือตัวอย่างง่ายๆ ของการเพิ่มการกำหนดค่า apt

แมว <<EOF > /etc/apt/apt.conf.d/90myuu
> APT::Periodic::Unattended-Upgrade "เสมอ";
> สพป

หากคุณแทนที่ apt-daily-upgrade.timer จากนั้นคุณอาจต้องการแทนที่แบบเดียวกันสำหรับ apt-daily.timer. นอกจากนี้ยังมีค่าการกำหนดค่า apt ที่สอดคล้องกัน APT::Periodic::Update-Package-Lists.

แก้ไข ฉันได้เปลี่ยนคำแนะนำจากเรียกใช้ทุกชั่วโมงเป็นทำงานวันละครั้งในเวลาที่มีแนวโน้มออนไลน์มากขึ้น ฉันรู้ว่าการตั้งค่าเริ่มต้นของการทำงานวันละครั้งไม่ได้รับผลกระทบจากการทำงานหรือไม่ อัพเกรดแบบอัตโนมัติ จริง ๆ แล้วมีแพ็คเกจใด ๆ ให้อัปเดต ดังนั้น, อัพเกรดแบบอัตโนมัติ ยังคงสามารถทำงานต่อเมื่อไม่ได้ออนไลน์เท่านั้น

ความคิดเห็น

มีข้อเสียที่อาจเกิดขึ้นในการโอเวอร์คล็อกตัวจับเวลารายวันเช่นนั้นหรือไม่?

การอัปเกรดจะทำงานข้ามคืนตามค่าเริ่มต้นเพื่อหลีกเลี่ยงการแทรกแซงกิจกรรมของผู้ใช้ คุณจะไม่ได้รับความสะดวกนั้นอีกต่อไป

ไม่ตรงตามเงื่อนไข ACPower=true คุณสามารถเปลี่ยนการตั้งค่านั้นได้

คุณควรเปลี่ยนการตั้งค่านี้โดยใช้ไฟล์แทนที่ ไม่ใช่โดยการแก้ไขไฟล์บริการที่ติดตั้งแพ็คเกจ

mkdir /etc/systemd/system/apt-daily-upgrade.service.d
แมว <<EOF > /etc/systemd/system/apt-daily-upgrade.service.d/override.conf
[หน่วย]
เงื่อนไขACPower=เท็จ
อฟ
systemctl daemon-โหลดซ้ำ

อะไรคือเหตุผลหรือข้อเสียของการเอาชนะ apt-daily.timer ด้วย

apt-daily.timer ทริกเกอร์คำสั่ง apt เพื่ออัพเดตข้อมูลแพ็คเกจและดาวน์โหลดการอัพเดตที่มีอยู่ หากคำสั่งเหล่านี้ยังคงทำงานต่อไปเมื่อเครือข่ายไม่พร้อมใช้งาน อัพเกรดแบบอัตโนมัติ อาจไม่อัปเดตอะไรเลยเพราะอาจไม่รู้ว่ามีการอัปเดต

Sqerstet avatar
cn flag
สิ่งนี้มีประโยชน์มาก ขอบคุณ. มีข้อเสียที่อาจเกิดขึ้นในการโอเวอร์คล็อกตัวจับเวลารายวันเช่นนั้นหรือไม่?
Sqerstet avatar
cn flag
ที่เกี่ยวข้อง: https://unix.stackexchange.com/a/541426/147262
Sqerstet avatar
cn flag
จำเป็นต้องทำตามคำแนะนำของ @user535733 ด้วยใช่ไหม: "เหตุผลที่มันไม่เชื่อมต่อกับเครือข่ายคือระบบใช้พลังงานจากแบตเตอรี่: ไม่ตรงตาม ConditionACPower=true คุณสามารถเปลี่ยนการตั้งค่านั้นได้หากต้องการโดยการแสดงความคิดเห็น บรรทัดที่เหมาะสมใน /lib/systemd/system/apt-daily.service"
Sqerstet avatar
cn flag
อะไรคือเหตุผลหรือข้อเสียของการเอาชนะ `apt-daily.timer` ด้วย
Andrew Lowther avatar
jp flag
@Sqerstet ฉันได้แก้ไขเพื่อโพสต์เพื่อแก้ไขข้อเสนอแนะของฉันและแสดงความคิดเห็นของคุณ
Sqerstet avatar
cn flag
ตอนนี้ทุกอย่างชัดเจนขึ้นมาก สิ่งสุดท้ายที่ฉันไม่ได้รับอย่างที่คุณพูด การอัปเกรดจริงสามารถทำงานได้เมื่อออฟไลน์ ตราบใดที่แหล่งที่มาได้รับการอัปเดตแล้ว เหตุใดจึงไม่เพียงแค่เปลี่ยน `apt-daily.timer` เป็นเที่ยง แล้วปล่อย `apt-daily-upgrade.timer` ไว้คนเดียวล่ะ
Andrew Lowther avatar
jp flag
@Sqerstet ฉันชอบความคิดที่จะอัปเดต `apt-daily.timer` ฉันไม่ได้พิจารณา แต่ในทางทฤษฎีฉันคิดว่าน่าจะใช้ได้กับสถานการณ์ของคุณ ทั้งหมดนี้ต้องมีการทดสอบจริง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา