वर्तमान में, बातें मेरी रास्पबेरी Pi पर तारीख तक प्राप्त करने के लिए, मैं में टाइप करने के लिए है sudo apt-get update
और sudo apt-get upgrade
। क्या इसे स्वचालित रूप से करने के लिए इसे सेट करने का कोई तरीका है? मैं रस्पियन जेसी चला रहा हूं।
वर्तमान में, बातें मेरी रास्पबेरी Pi पर तारीख तक प्राप्त करने के लिए, मैं में टाइप करने के लिए है sudo apt-get update
और sudo apt-get upgrade
। क्या इसे स्वचालित रूप से करने के लिए इसे सेट करने का कोई तरीका है? मैं रस्पियन जेसी चला रहा हूं।
जवाबों:
मैन्युअल क्रोन के बजाय, आप स्थापित कर सकते हैं unattended-upgrades
, जो नवीनतम गुठली स्थापित करने के लिए उपयोगी है। यह ज्यादातर सुरक्षा के लिए बनाया गया है।
https://wiki.debian.org/UnattendedUpgrades
apt-get install unattended-upgrades
कुछ बिट्स हैं जिन्हें समायोजित / कॉन्फ़िगर किया जा सकता है, लेकिन डिफ़ॉल्ट ठीक है।
50unattended-upgrades
सूचीबद्ध है "origin=Debian,codename=${distro_codename},label=Debian-Security";
और यह प्रासंगिक पैकेजों को सही ढंग से खोजने के लिए प्रकट होता है। बेशक यह उनमें से कई की अनदेखी करता है। मैंने कोई श्वेत या अश्वेत नहीं स्थापित किया है।
50unattended-upgrades
वास्तव में बेवकूफ है और इसे रास्पियन पर काम करने के लिए बदलना होगा। नहीं है Raspian-Security
। सुरक्षा अद्यतन लेबल नहीं हैं। यह दोनों को जोड़ने के लिए महत्वपूर्ण है "origin=Raspbian,codename=${distro_codename},label=Raspbian";
और "origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
करने के लिए/etc/apt/apt.conf.d/50unattended-upgrades
एक टर्मिनल में, टाइप करें:
sudo su
रूट-स्तरीय प्रॉम्प्ट तक पहुँचने के लिए। तो भागो:
crontab -e
अपने कॉन्टैब का संपादन शुरू करने के लिए, दिए गए समय में स्वचालित रूप से चलने के लिए कार्यों की एक तालिका। यह आपके पसंदीदा टेक्स्ट एडिटर में खुलेगा। निम्नलिखित पंक्तियों को शामिल करने के लिए इसे संशोधित करें:
0 7 * * 1 apt update && apt upgrade -y
प्रत्येक सोमवार को सुबह 7 बजे अपने ऐप्स को स्वचालित रूप से अपडेट और अपग्रेड करने के लिए। अपनी पसंद के हिसाब से तालमेल बिठाने के लिए क्रेस्टब पर पढ़ें।
&&
क्योंकि वे संबंधित हैं और 'अपडेट' विफल होने पर 'अपग्रेड' करने का कोई कारण नहीं है।
0
रविवार का मतलब है, लेकिन आपके कोड में आपने 1
इतनी कमांड सोमवार को चलाई होगी, रविवार नहीं
dist-upgrade
से बेहतर है upgrade
, आप केवल उपयोग करके टूटी हुई निर्भरता के साथ समाप्त हो जाएंगे upgrade
। आपको डायलॉग पुष्टिकरण की आवश्यकता वाले अपडेट भी नहीं मिलेंगे। @ tedder42 ने डेबियन (पसंद) द्वारा पसंद की गई विधि बताई unattended-upgrades
।
sudo
; आपने root
खाते का उपयोग करके स्विच किया है su
। सुपरयुसर का क्राउस्ट सुपरसुसर विशेषाधिकारों के साथ चलाया जाता है।
आप क्रोन-एप को स्थापित और कॉन्फ़िगर कर सकते हैं। इसे निम्न करके स्थापित करें:
apt-get install cron-apt
मुख्य विन्यास फाइल / etc / cron-apt / config है
एक चीज जो मैं अपने विन्यास में जोड़ता हूं वह है:
MAILON="always"
यह हर बार चलने पर एक ईमेल भेजेगा, न केवल अगर यह एक त्रुटि का सामना करता है।
ध्यान दें कि डिफ़ॉल्ट सेटअप स्वचालित रूप से अपडेट स्थापित नहीं करेगा (ऐसा करने के लिए कुछ अच्छे कारण हैं), लेकिन आप ऐसा करने के लिए इसे कॉन्फ़िगर कर सकते हैं। एक साधारण क्रोन समाधान पर यह कार्यक्रम प्रदान करने का एक फायदा यह है कि यह आपको स्थापित किए गए नियंत्रण पर नियंत्रण देता है (केवल नए पैकेज डाउनलोड करें, सुरक्षा अपडेट स्थापित करें या सभी अपडेट स्थापित करें)।
/Etc/cron.d/cron-apt फ़ाइल को संपादित करने के समय को निर्धारित करने के लिए।
आप अधिक जानकारी और config विकल्प पा सकते हैं यहाँ
पैकेज में बहुत अच्छा प्रलेखन शामिल है, हालांकि यह gzipped है। फ़ाइल निकालने के लिए:
अपने डिफ़ॉल्ट कॉन्फ़िगरेशन में, unattended-upgrades
रास्पियन बस्टर में टूट गया है। यह कर्नेल और अन्य सॉफ़्टवेयर के लिए महत्वपूर्ण अद्यतन स्थापित नहीं करेगा। आपके विकल्प हैं:
अनुशंसित विकल्प:
sudo apt install unattended-upgrades
echo 'Unattended-Upgrade::Origins-Pattern {
// Fix missing Rasbian sources.
"origin=Debian,codename=${distro_codename},label=Debian";
"origin=Debian,codename=${distro_codename},label=Debian-Security";
"origin=Raspbian,codename=${distro_codename},label=Raspbian";
"origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
};' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-raspbian
तेज़ सुरक्षा अपडेट के लिए (लेकिन कम स्थिरता, जैसा कि पैकेज रासबीन के लिए अनुमोदित नहीं किया गया है), आप निम्न में डेबियन-सुरक्षा पैकेज जोड़ सकते हैं:
echo 'deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free' | sudo tee /etc/apt/sources.list.d/debian-security.list
आपको संभवतः डेबियन रिपॉजिटरी के लिए नई एप्ट कुंजी स्थापित करने की आवश्यकता होगी ।
अन्य विकल्प:
क्रोन-एप्ट का उपयोग करके इसके साथ काम करें:
sudo apt install cron-apt
इसके आसपास काम करने के अन्य तरीके।
यह अनुपयोगी-अपडेट का उपयोग करने और पैकेज को ठीक करने के लिए अनुशंसित है, क्योंकि यह उद्देश्य के लिए सबसे उपयुक्त है। क्रोन-एप आपका दूसरा सबसे अच्छा विकल्प है, क्योंकि यह एक समान उद्देश्य के लिए भी बनाया गया है। मुझे यकीन नहीं है कि कर्नेल अपडेट के बाद या तो स्वचालित रूप से आपके सिस्टम को रिबूट किया जा सकता है। अनअटेंडेड-अपग्रेड में आमतौर पर वह विकल्प होता है, लेकिन मुझे यकीन नहीं है कि यह ऊपर दिए गए फिक्स के साथ काम करता है।
/var/log/unattended-upgrades/unattended-upgrades.log
फ़ाइल ने सूचना दीAllowed origins are: []
कि मूल रूप से यह किसी भी अपडेट को खींच नहीं रहा था। अपडेट में/etc/apt/apt.conf.d/50unattended-upgrades
शामिल करने के बाद अपडेट"origin=Raspbian,codename=${distro_codename},label=Raspbian";
आना शुरू हो गया।