สถานะการอัปเกรดแบบอัตโนมัติหรือไม่


17

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

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

ฉันไม่ได้แค่ต้องการฆ่าการอัพเกรดแบบไม่ต้องใส่ข้อมูล ฉันรู้วิธีการทำ ฉันต้องการให้พวกเขาทำงาน ฉันแค่อยากรู้ว่าฉันจะรู้ได้อย่างไรว่าเกิดอะไรขึ้นและอยู่ในช่วงใด


วิ่งpgrep -fl aptฉันคิดว่า
muru

คำตอบ:


22

สำหรับระบบ 16.04 และใหม่กว่านั้นการอัพเกรดแบบอัตโนมัติจะทำงานทุกวันในเวลาสุ่ม

จะบอกได้อย่างไรว่าจะทำการอัพเกรดแบบไม่ต้องใส่ข้อมูลในวันนี้ :

เวลาสุ่มถูกกำหนดโดยงาน cron (/etc/cron.daily/apt.compat) และคุณสามารถอ่านเวลาสุ่มสำหรับวันนี้โดยขอให้ 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

ในกรณีนี้คุณจะเห็นว่าคุณใช้เวลา 1 ชั่วโมงกับ 9 นาทีก่อน

จะทราบได้อย่างไรว่าการอัพเกรดแบบอัตโนมัติยังคงทำงานอยู่หรือไม่ :

วิธีง่าย ๆ อย่างหนึ่งคือการตรวจสอบไฟล์ประทับเวลาสำหรับส่วนประกอบ apt ต่างๆ:

$ 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

คุณสามารถดูได้ที่นี่ว่า uu เป็นเพียงองค์ประกอบที่ฉลาด apt วางการประทับเวลาที่นี่โดยไม่คำนึงถึงวิธีการเริ่มต้น apt

เมื่อรวมข้อมูลเข้าด้วยกันคุณจะเห็นว่าตัวจับเวลาเริ่มต้นที่เหมาะ (uu) เวลา 11:22 มันรันการอัปเดตซึ่งเสร็จสิ้นเวลา 11:23 จากนั้นอัปเกรดซึ่งเสร็จสิ้นเมื่อเวลา 11:24 น. สุดท้ายคุณจะเห็นว่า apt ถือว่าการอัพเกรดนั้นประสบความสำเร็จ (ไม่มีข้อผิดพลาดหรือความล้มเหลวอื่น ๆ )

เห็นได้ชัดว่าถ้าคุณเห็นตัวจับเวลาล่าสุดโดยไม่มีการประทับเวลาที่สอดคล้องกันคุณอาจต้องการตรวจสอบpsเพื่อดูว่า apt ยังทำงานอยู่หรือไม่

วิธีบอกขั้นตอนที่เหมาะสมที่กำลังทำงานอยู่ในขณะนี้ :

วิธีง่าย ๆ อย่างหนึ่งคือการตรวจสอบล็อกไฟล์ 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

ที่นี่คุณสามารถดูกระบวนการรายวันปกติรวมถึงรายการ 'เริ่ม' และ 'เสร็จสมบูรณ์' และรายการแพ็คเกจที่กำลังจะถูกอัปเกรด

หากรายการแพคเกจยังไม่ได้เข้าสู่ระบบดังนั้น apt สามารถถูกขัดจังหวะได้อย่างปลอดภัย เมื่อรายการแพคเกจถูกบันทึกอย่าขัดจังหวะ apt

เนื่องจากคุณมีสภาพแวดล้อมที่ จำกัด ทรัพยากรโปรดทราบว่า apt สามารถกำหนดค่าได้หลายวิธีในการทำงานที่เชื่อถือได้และไม่สร้างความรำคาญกับเวลาการทำงานที่ต่างกันระดับดีขีด จำกัด แบนด์วิดท์และการตั้งค่าที่มีประโยชน์อื่น ๆ


4
คำสั่งนี้แสดงราวกับว่าคุณกำลังใช้งานเครื่องเทอร์มินัลหากยังไม่เสร็จสมบูรณ์ tail -f /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
Adsy2010
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.