มีเครื่องมืออัพเดตสำหรับแพ็คเกจRaspbian Debian 7 (Wheezy) ของฉันหรือไม่?
ฉันติดตั้งphp
และlighttpd
และฉันต้องการให้มีการปรับปรุงโดยอัตโนมัติเมื่อพบข้อบกพร่อง
มีเครื่องมืออัพเดตสำหรับแพ็คเกจRaspbian Debian 7 (Wheezy) ของฉันหรือไม่?
ฉันติดตั้งphp
และlighttpd
และฉันต้องการให้มีการปรับปรุงโดยอัตโนมัติเมื่อพบข้อบกพร่อง
คำตอบ:
คุณต้องป้อนคำสั่งลงในบรรทัดคำสั่ง ก่อนอื่น:
apt-get update
(สิ่งนี้จะอัพเดทแหล่งที่มาของซอฟต์แวร์)
apt-get upgrade
(สิ่งนี้จะอัปเกรดทุกอย่างเป็นเวอร์ชั่นล่าสุด)
unattended-upgrades
แพคเกจเป็นวิธีที่จะอัปเดตอัตโนมัติระบบปฏิบัติการเหล่านี้ในการกระจายเดเบียนครอบครัว ทำตามคำแนะนำที่พบในที่นี่
โดยทั่วไปคุณต้องติดตั้งแพคเกจ:
sudo apt-get install unattended-upgrades
และเพิ่มใน/etc/apt/apt.conf.d/10periodic
รายการต่อไปนี้:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";
นอกจากนี้ (เนื่องจากดูเหมือนว่าการย้ายของแพ็กเกจไม่ได้ไร้ที่ติ) ให้เปลี่ยนบรรทัดต่อไปนี้ที่ส่วนแรกของ/etc/apt/apt.conf.d/50unattended-upgrades
:
"origin=Debian,archive=stable,label=Debian-Security";
ไปยัง
// "origin=Debian,archive=stable,label=Debian-Security";
"origin=Raspbian";
ตอนนี้ระบบของคุณจะคอยอัพเดทตัวเองโดยอัตโนมัติ
origin=Debian
) ไม่จำเป็นในการกระจายล่าสุดของ Raspbian
Checking: openssl (["<Origin component:'main' archive:'oldstable' origin:'Raspbian' label:'Raspbian' site:'mirrordirector.raspbian.org' isTrusted:True>"])
origin=Raspbian
ยังมีความจำเป็นในไฟล์การกำหนดค่า แต่ไม่คุณไม่จำเป็นต้องทำด้วยตัวเองอีกต่อไปขออภัย ...
Dist:
$ sudo apt-get update
$ sudo apt-get upgrade
อัปเดต Rpi เป็นครั้งแรก: ติดตั้ง git และหนังสือรับรองสำหรับการเข้าถึง github
$ sudo apt-get install ca-certificates
$ sudo apt-get install git-core
$ sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update
$ sudo chmod +x /usr/bin/rpi-update
อัปเดตเฟิร์มแวร์
$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot
อัปเดต Rpi หลังจาก:
$ sudo rpi-update
$ sudo ldconfig
$ sudo reboot
RPI อัพเดทขณะนี้สามารถดึงข้อมูลได้โดยตรงผ่านทาง apt-get ดังนั้นก็จะไม่มีความจำเป็นที่จะจัดการกับWget ดังนั้นนี่คือวิธีการอัพเดท:
Dist:
$ sudo apt-get update
$ sudo apt-get upgrade
คุณต้องรีบูต Raspberry Pi ทันทีมิฉะนั้นจะไม่ใช้เคอร์เนลใหม่!
RPI อัปเดตครั้งแรก: ติดตั้งGitและการรับรองในการเข้าถึงGitHub
$ sudo apt-get install ca-certificates
$ sudo apt-get install git-core
$ sudo apt-get install rpi-update
อัปเดตเฟิร์มแวร์
$ sudo rpi-update
$ sudo reboot
นอกจากนี้คุณยังสามารถเขียนสคริปต์เล็ก ๆ น้อย ๆ พร้อมกับขั้นตอน apt-get ในนั้นและรันมันตามกำหนดเวลาวันละครั้ง / แต่บ่อยครั้งที่คุณชอบนั่นคือสิ่งที่ฉันได้ทำไปแล้ว
วิธีตั้งค่างาน cron บน Pi:
http://www.wexoo.net/20130406/running-cron-jobs-on-raspberry-pi-in-raspbmc
วิธีเขียนสคริปต์ทุบตี:
https://www.linux.com/learn/tutorials/284789-writing-a-simple-bash-script-
สคริปต์ของฉันเรียบง่าย
apt-get update
apt-get upgrade -yes
apt-get dist-upgrade -yes
apt-get clean
และฉันได้มันเข้าสู่ระบบออกไปยังไฟล์ที่มีในตอนท้ายของแต่ละบรรทัดเช่น>>
apt-get update >> autoupdate.txt
มันเป็นที่ถกเถียงกันอยู่ว่าความคิดมันจะดีแค่ไหน!
เว็บไซต์ Art of Webมีคู่มือที่ยอดเยี่ยมสำหรับ Debian Wheezy ที่ฉันต้องแก้ไขเพียงบรรทัดเดียวเพื่อให้สามารถใช้งาน RPi ทดสอบของฉันได้ การเชื่อมโยงจะนำคุณไปแนะนำของพวกเขาบนcron-apt
; ซึ่งได้รับการแปลเสียงกรีดร้องด้วยการปรับเปลี่ยนสำหรับระบบ RPi repos 'อธิบาย
ติดตั้ง cron-apt
sudo apt-get install cron-apt
การกำหนดค่าเริ่มต้นการกระทำและการกำหนดค่าแบบกำหนดเองสามารถพบได้
ls -hal /etc/cron-apt/config
ls -hal /etc/cron-apt/action.d/
ls -hal /etc/cron-apt/config.d/
ผนวก/etc/cron-apt/config
ไฟล์ต่อไปนี้ด้วยsudo tee -a
เพื่อเปิดใช้งานอีเมลที่จะส่งพร้อมข้อมูล verbos เกี่ยวกับการดำเนินการระหว่างการอัพเดตอัตโนมัติ
echo 'MAILON="output"' | sudo tee -a /etc/cron-apt/config
echo 'DEBUG="verbose"' | sudo tee -a /etc/cron-apt/config
การบันทึกถูกทิ้งไปที่: /var/log/cron-apt/log
สร้างไฟล์แอ็คชันใหม่สำหรับการอัพเดตแพ็กเกจที่เกี่ยวข้องกับความปลอดภัยด้วยคำสั่ง touch และเพิ่มหนึ่งบรรทัดด้วยคำสั่ง sudo tee อื่น ๆ จะถูกดาวน์โหลด แต่รอให้ sys-admin ติดตั้งโปรแกรมปรับปรุงที่ไม่ใช่ความปลอดภัย การอัปเดตและเอาท์พุททั้งหมดจะถูกส่งอีเมลไปยังผู้ใช้รูทหรือ sys-admin สำหรับการตรวจสอบเพิ่มเติมและ / หรือการกระทำที่จะต้องดำเนินการ
sudo touch /etc/cron-apt/action.d/5-security
echo 'upgrade -y -o APT::Get::Show-Upgraded=true' | sudo tee -a /etc/cron-apt/action.d/5-security
สร้างไฟล์การกำหนดค่าใหม่เพื่อใช้การกระทำข้างต้น spicifficly ใช้/etc/apt/sources.list.d/security.list
เป็นเส้นทางสำหรับการปรับปรุงความปลอดภัย เส้นทางของไฟล์อาจแตกต่างไปจากระบบของคุณหากไม่ได้ใช้ Debian Linux อย่างสมบูรณ์ ตอนนี้ RPi ใช้ผู้กำกับมิเรอร์ดังนั้น/etc/apt/sources.list
ควรใช้แทนอย่างไรก็ตามไม่สามารถแนะนำเซิร์ฟเวอร์ระดับการผลิตได้เพราะจะอัปเดตการอัปเดตที่ไม่ใช่ความปลอดภัยด้วย
sudo touch /etc/cron-apt/config.d/5-security
echo 'OPTIONS="-o quiet=1 -o APT::Get::List-Cleanup=false -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list -o Dir::Etc::SourceParts=\"/dev/null\""' | sudo tee -a /etc/cron-apt/config.d/5-security
รอสักครู่หนึ่งcron-apt
เพื่ออัปเดตระบบของคุณและตรวจสอบบันทึกในเครื่องต่อไปนี้เพื่อดูว่ามีการปรับปรุงอะไรบ้างในขณะที่คุณหลับ
sudo cat /var/log/cron-apt/log
สิ่งนี้ได้รับการทดสอบบน RPi หนึ่งตัวเพื่อใช้ในการอัปเดตทุกแพ็คเกจรวมถึง Unbuntu PC ที่อัพเดตเฉพาะแพ็คเกจที่เกี่ยวข้องกับความปลอดภัย ดังนั้นฉันจึงรู้สึกว่ามันเป็นหนึ่งในตัวเลือกที่พกพาสะดวกกว่า แพคเกจอื่น ๆ สำหรับการอัปเดตอัตโนมัติซึ่งแนะนำโดย grassroot (ขอบคุณฉันจะทดสอบต่อไป) unattended-upgrades
ดูเหมือนจะเป็นอีกตัวเลือกที่ดีในการทำให้กระบวนการอัปเดตเป็นแบบอัตโนมัติ