จะทำอย่างไรใน CLI เพื่อตรวจสอบว่ามีการอัพเดทเกิดขึ้นทุก 4 สัปดาห์และติดตั้งโดยอัตโนมัติโดยไม่ต้องไปที่แหล่งซอฟแวร์?


10

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

ฉันต้องการสิ่งนี้ผ่านทางบรรทัดคำสั่งเพื่อให้ฉันสามารถตั้งค่าสำหรับผู้ใช้ปกติเมื่อฉันตั้งค่าคอมพิวเตอร์

คำสั่งแรกจะทำให้ตัวจัดการการอัพเดทตรวจสอบการอัพเดททุก 2 สัปดาห์เพราะมันไม่ได้มามากนักและเพื่อประหยัดแบนด์วิดท์ของเซิร์ฟเวอร์ Ubuntu

ฉันต้องตั้งค่าเพื่อไม่ให้ผู้ใช้คลิกเพื่อติดตั้งการอัปเดตเนื่องจากมันเหนื่อยทุกครั้งที่ฉันช่วยเพื่อนติดตั้งคอมพิวเตอร์

คำตอบ:


10

ก่อนเปิดใช้งานการอัปเดตอัตโนมัติเช่นนี้:

sudo apt-get install unattended-upgrades

จากนั้นคุณต้องแก้ไขการกำหนดค่าพิมพ์

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

(แทนที่nanoด้วยโปรแกรมแก้ไขข้อความที่คุณต้องการหากคุณต้องการ)

ไฟล์มีลักษณะดังนี้:

Unattended-Upgrade::Allowed-Origins {
        "Ubuntu maverick-security";
//      "Ubuntu maverick-updates";
};

//หมายถึงบรรทัดนี้เป็นความคิดเห็นและจะไม่ได้รับการพิจารณาโดยโปรแกรมเอาจังหวะที่จะรวมถึงการปรับปรุงรุ่นเสถียรนอกเหนือจากการแก้ไขความปลอดภัย นอกจากนี้ให้แทนที่maverickด้วยเวอร์ชันของ Ubuntu ที่คุณใช้งานอยู่

ในการตั้งช่วงเวลาที่ระบบตรวจหาการอัพเดทให้แก้ไข/etc/apt/apt.conf.d/10periodicไฟล์ด้วยโปรแกรมแก้ไขข้อความ:

APT::Periodic::Update-Package-Lists "14";
APT::Periodic::Download-Upgradeable-Packages "14";
APT::Periodic::AutocleanInterval "14";
APT::Periodic::Unattended-Upgrade "14";

ในตัวอย่างนี้ระบบจะอัพเดตทุกสองสัปดาห์

สำหรับคำอธิบายโดยละเอียดเพิ่มเติมดูการปรับปรุงอัตโนมัติในคู่มือเซิร์ฟเวอร์ Ubuntu


โปรดทราบว่าคำตอบของ papukaija กำลังพูดถึงช่วงเวลาที่บทสนทนา Update Manager ปรากฏขึ้นบนหน้าจอของคุณฉันเดาว่านั่นไม่ใช่สิ่งที่คุณไม่ต้องการ แต่ฉันไม่แน่ใจ :)


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

ฉันไม่แน่ใจว่าฉันเข้าใจคุณ คุณสามารถปิดใช้งานการแจ้งเตือนการอัปเดตได้โดยไปที่ระบบ→การตั้งค่า→แอปพลิเคชันเริ่มต้นและลบเครื่องหมายถูกที่ "Update Notifier" นั่นคือสิ่งที่คุณหมายถึงอะไร นอกจากนี้แน่นอนคุณสามารถตั้งค่าเป็น "30" แทน "14" วัน (หรือจำนวนที่คุณต้องการ)
Stefano Palazzo

และนั่นสามารถทำได้ด้วยหนึ่งบรรทัด? ถ้าใช่นั่นก็เป็นสิ่งที่ดีถ้าไม่ - มันไม่ใช่สิ่งสำคัญที่ฉันต้องการ สิ่งสำคัญคือการเอาชนะการไปที่แหล่งที่มาของซอฟต์แวร์เพื่อเปลี่ยนการตรวจสอบการอัปเดตและสิ่งที่ต้องทำ ฉันต้องการที่จะนำการตรวจสอบทุก ๆ 28 วันและติดตั้งการปรับปรุงโดยไม่ต้องถามอะไรใน terminal เพื่อให้เร็วขึ้น
Kangarooo

คำสั่งบรรทัดเดียวในคำตอบของฉัน: apt-get update && apt-get upgrade -y
luri

@luri นั่นไม่ใช่สิ่งที่คำถามนี้เกี่ยวกับ
Stefano Palazzo

2

หากคุณทุกอย่างการปรับปรุงค่าเฉลี่ย "อัพเดต" คืออัปเดตแพคเกจทั้งหมดของคุณผมคิดว่าคุณสามารถ cron (ภายใน cron ราก) กว่าทุก 28 วันapt-get update && apt-get upgrade -yเป็นระยะ

บางคนมีปัญหากับงาน crond เนื่องจากการPATHตั้งค่าที่จำกัด หากคุณมีปัญหาใด ๆ ที่คุณสามารถกำหนดของคุณPATHที่จุดเริ่มต้นของcrontab -eไฟล์ (ตามที่แนะนำในCronHowto )

นอกจากนี้เพื่อตรวจสอบว่าทุกอย่างเป็นไปอย่างเรียบร้อยฉันจะบันทึกผลลัพธ์เช่นนี้:

root@PORTATIL:/var/log$ crontab -l
* * */2 * * /usr/share/myupdate.sh > /var/log/myupdate.log

myupdate.sh อาจจะง่ายเหมือนนี้:

#!/bin/bash
#Testing updates
echo "$(date) Crond myupdate sarting."
apt-get update -y
apt-get upgrade -y
echo "$(date)Crond myupdate finished."

มันไม่ได้ผลสำหรับฉัน เมื่อฉันได้รับบันทึก cron ของฉันaptitude -y safe-upgradeบ่นเกี่ยวกับความต้องการ tty ควบคุมและจากนั้นข้อผิดพลาดเส้นทางมากมาย บางทีฉันควรตั้งคำถาม ..
djeikyb

คุณตั้งค่าไว้ภายในรูต cron หรือไม่?
luri

อ๋อ มันล้มเหลวเนื่องจากปัญหาเส้นทางที่แตกต่างกันดังนั้นฉันจึงสร้างสคริปต์ที่ / root / bin ด้วย #! / bin / bash และเส้นทางแบบเต็มไปยัง apt-get มันใช้งานได้ดีกว่า แต่ก็ยังไม่อัพเกรด
djeikyb

โพสต์ข้อผิดพลาดในบันทึก .... หรืออะไรก็ตามที่ล้มเหลว
luri

ฉันทำคำถามแยกต่างหาก: askubuntu.com/q/23795/8515
djeikyb

1

คุณสามารถเปลี่ยนช่วงเวลาระหว่างที่ update-manager ทำงานโดยเปิดgconf-editor (เช่น Alt + F2 และพิมพ์ gconf-editor) /apps/update-notifierแล้วค้นหา

ช่วงเวลาถูกกำหนดในคีย์regular_auto_launch_intervalโดยที่ค่าคือจำนวนวัน ฉันคิดว่าวิธีนี้จะไม่ส่งผลกระทบต่อตัวอัปเดตอัตโนมัติที่ไม่ใช่แบบกราฟิก

โปรดทราบว่าอูบุนตูอาจจะไม่ได้โดยอัตโนมัติติดตั้งโปรแกรมปรับปรุงการรักษาความปลอดภัยเนื่องจากมีข้อผิดพลาด


4
นี่คือเวอร์ชันบรรทัดคำสั่งของคำตอบนี้: gconftool -s /apps/update-notifier/regular_auto_launch_interval --type int 7(โดยที่ 7 คือช่วงเวลาเป็นวัน)
Stefano Palazzo

ฉันเพิ่งตรวจสอบว่ามันเป็น 7 แล้ว แต่ในแหล่งซอฟแวร์มันตั้ง 2 สัปดาห์ อาจจะเป็นที่อื่น?
Kangarooo

0

ฉันใส่gconftool -s /apps/update-notifier/regular_auto_launch_interval --type int 1และเปิดมันทุกวันแสดงว่าฉันยังไม่ได้ติดตั้งการปรับปรุง เปิดหรือไม่หากไม่มีการอัพเดตใหม่ ดังนั้นการทำการอัปเดตอัตโนมัติทุก 4 สัปดาห์จะไม่ทำให้ป๊อปอัปนี้ใช่ไหม ดังนั้นทำอย่างไรกับ CLI เพื่อติดตั้งอัพเดตอัตโนมัติทุกการตรวจสอบทุก 4 สัปดาห์ นั่นคือสิ่งที่ฉันต้องการ. โดยไม่ไปที่แหล่งซอฟแวร์และทำด้วยเมาส์ และการทำเช่นนั้นอาจเป็นไปได้ที่จะใช้เวลามากกว่า 2 สัปดาห์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.